728x90
반응형

운영체제

728x90
반응형
Embedded system/[KOCW] 운영체제

[운영체제] 프로세스 시스템 콜(fork, exec, wait, exit), IPC(Inter Process Commuication)

● 프로세스 생성, 실행, 종료 프로세스는 복제 생성을 하며, 부모 프로세스가 자식 프로세스를 생성해야 하는 구조로 프로세스의 계층은 트리 형태이다. 프로세스가 만들어지면 그 프로세스만의 독자적인 주소 공간(Code, Data, Stack)이 생긴다. fork() 함수를 통해 부모 프로세스를 복사하면 이 주소 공간을 Binary 통째로 복사한다. Program Counter까지 모두 복사되니까 당연히 자식 프로세스는 부모 프로세스가 실행한 부분 (fork() 함수의 다음 줄)부터 실행하게 된다. 이렇게 되면 시스템의 프로세스는 모두 똑같이 동작하게 된다. 그래서 exec()라는 System Call을 통해 프로그램을 덮어 씌워야 한다. 프로세스가 자발적으로 종료될 때에는 exit() System Call..

Embedded system/[KOCW] 운영체제

[운영체제] 프로그램 실행

● 프로그램의 실행 (메모리 Load) 실행 파일은 하드 디스크에 저장이 되고, 실행을 시키면 가상 메모리 단계를 거쳐 물리적 메모리에 올라가 프로세스가 된다. 프로그램을 실행시키면 자기 자신만의 독자적인 주소 공간이 만들어지며, 주소 공간은 Stack, Data, Code영역으로 구성되어 있다. ​ 코드 영역 메모리의 코드 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터 영역 메모리의 데이터 영역은 프로그램의 전역 변수와 정적 변수가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 스택 영역 메모리의 스택 영역은 함수의 호출과 관계되는 지역 변수와..

Embedded system/[KOCW] 운영체제

[운영체제] 동기/비동기식 입출력

입출력 입출력이란 컴퓨터 시스템이 컴퓨터 외부의 주변 장치들과 데이터를 주고받는 것을 말한다. 입출력에는 동기식 입출력과 비동기식 입출력이 있다. ● 동기식 입출력 I/O 요청 후 입출력 작업이 완료된 후에 CPU 제어권이 사용자 프로그램으로 넘어가는 방식이다. 사용자 프로그램에서 필요한 데이터를 읽어와서 처리해야 하는 경우에는 동기식 입출력을 사용한다. ​ 사용자 프로그램이 디스크에서 어떠한 정보를 읽어오라는 요청이 있을 때, 입출력이 완료될 때까지 시간이 걸린다. 이때, 동기식 입출력은 입출력이 진행되는 동안 프로그램의 다음 명령을 수행하지 않고 기다리게 된다. 그러다가 입출력이 완료되어 인터럽트를 통해 그 사실이 전달된 후에야 CPU 제어권이 사용자 프로그램에 넘어가서 다음 명령을 수행한다. → 동..

Embedded system/[KOCW] 운영체제

[운영체제] 컴퓨터 시스템 구조 및 프로그램 실행

컴퓨터 시스템의 일반적인 구조 좌측은 CPU와 메모리로 이루어져 있는 우리가 일반적으로 이야기하는 컴퓨터이고, 우측은 I/O device. 호스트 컴퓨터에 붙어서 데이터를 컴퓨터 안에 집어넣는 Input이나 결과를 내보이는 Output을 하는 Device이다. ​ 각각의 Device에는 디바이스를 전담하기 위한 Device Controller들이 있고, 이 Device Controller는 I/O Device를 통해서 데이터를 주고받기 위해 Local buffer에다가 저장하며 CPU한테 뭔가를 알려주고 싶을 때에는 Device Controller가 인터럽트를 걸어 알려준다. Local Buffer : i/O Device 작업 데이터를 저장 Device Controller : 각 디바이스마다 전담하기 위..

728x90
반응형
라닝
'운영체제' 태그의 글 목록 (2 Page)