본문 바로가기
Computer Science/OS

[OS] 프로세스 관리 (1)

by soobaaaam 2021. 12. 2.
728x90

<프로세스 생성 (Process Creation)>

 

- 부모 프로세스(Parent Process)가 자식 프로세스(Children Process)를 생성한다.

 

- 생성하는 방법으로는, 보통 복제 생성을 한다.

  • 부모 프로세스에는 주소 공간이 있다. 
  • 그 주소 공간을 자식 프로세스가 그대로 복제한다(PCB와 자원들).
  • 복제한 곳에 새로운 프로그램을 덮어 씌운다.
  • 복제 생성은 fork 시스템콜의 역할이다.
  • 복제한 후 다른 프로그램으로 덮어 쓰이는 것은 exec 시스템콜의 역할이다

- 프로세스들은 트리를 형성한다.

 

- 프로세스가 실행기 되기 위해선 자원(CPU, 메모리)이 필요하다.

  • 이 자원은 운영체제로부터 받으며, 부모와 자식이 공유하는 경우가 있다.

 

- 프로세스가 실행될 때 부모와 자식이 공존하며 실행하는 모델이 있고, 자식을 하나 생성 후 그 자식이 종료(terminate)될 때까지 부모가 기다리는(wait) 모델이 있다.

 

<프로세스 종료 (Process Termination)>

 

- 프로세스를 종료할 때는 exec 시스템콜을 한다.

 

- 프로세스가 종료될 때는 wait 시스템콜로 자식이 부모에게 data를 보낸다(자식이 부모보다 먼저 종료된다).

 

- 프로세스가 비자발적으로 종료되는 경우도 있다.

  • 자식이 자원의 할당치를 넘어선 요청을 할 때
  • 자식에게 더이상 시킬 일이 없을 때
  • 부모가 종료되는 경우

 


* 본 글은 이화여자대학교 반효경 교수님 강의 '운영체제와 정보기술의 원리(반효경 지음)' 서적에 기반하여 작성하였습니다.