728x90
<프로세스 생성 (Process Creation)>
- 부모 프로세스(Parent Process)가 자식 프로세스(Children Process)를 생성한다.
- 생성하는 방법으로는, 보통 복제 생성을 한다.
- 부모 프로세스에는 주소 공간이 있다.
- 그 주소 공간을 자식 프로세스가 그대로 복제한다(PCB와 자원들).
- 복제한 곳에 새로운 프로그램을 덮어 씌운다.
- 복제 생성은 fork 시스템콜의 역할이다.
- 복제한 후 다른 프로그램으로 덮어 쓰이는 것은 exec 시스템콜의 역할이다
- 프로세스들은 트리를 형성한다.
- 프로세스가 실행기 되기 위해선 자원(CPU, 메모리)이 필요하다.
- 이 자원은 운영체제로부터 받으며, 부모와 자식이 공유하는 경우가 있다.
- 프로세스가 실행될 때 부모와 자식이 공존하며 실행하는 모델이 있고, 자식을 하나 생성 후 그 자식이 종료(terminate)될 때까지 부모가 기다리는(wait) 모델이 있다.
<프로세스 종료 (Process Termination)>
- 프로세스를 종료할 때는 exec 시스템콜을 한다.
- 프로세스가 종료될 때는 wait 시스템콜로 자식이 부모에게 data를 보낸다(자식이 부모보다 먼저 종료된다).
- 프로세스가 비자발적으로 종료되는 경우도 있다.
- 자식이 자원의 할당치를 넘어선 요청을 할 때
- 자식에게 더이상 시킬 일이 없을 때
- 부모가 종료되는 경우
* 본 글은 이화여자대학교 반효경 교수님 강의와 '운영체제와 정보기술의 원리(반효경 지음)' 서적에 기반하여 작성하였습니다.
'Computer Science > OS' 카테고리의 다른 글
[OS] 프로세스 관리 (2) (0) | 2021.12.16 |
---|---|
[OS] 프로세스 (2) (0) | 2021.12.01 |
[OS] 프로세스 (1) (0) | 2021.11.30 |
[OS] 프로그램의 구조와 실행 (0) | 2021.11.18 |
[OS] 컴퓨터 시스템의 동작 원리(컴퓨터 시스템 구조 & 입출력 수행) (0) | 2021.11.05 |