[운영체제] 8. Process Management 1

이건회·2022년 3월 17일
0

운영체제

목록 보기
7/27

  • 프로세스는 부모 프로세스가 자식 프로세스를 생성하는 구조다.
  • 프로세스가 실행되려면 자원(CPU,메모리)이 있어야한다. 이를 운영체제로부터 받는다.
  • 자원을 부모 프로세스와 공유할 수도, 하지 않을 수도 있다. 보통 공유하지 않는다.
  • 부모와 자식이 공존하여 수행될 수도, 자식이 종료될 때까지 부모가 기다리는 경우도 있다.

  • 프로세스의 생성은 자식 프로세스가 부모 프로세스의 주소공간을 복사하고 운영체제에 있는 데이터도 복사한다. 복제된 곳에 새로운 프로그램을 덮어 씌워 자식 프로세스가 태어난다.
  • 이때 주소공간을 복제하는 것을 fork 시스템 콜, 복제 후 새로운 프로그램을 덮어씌우는 것이 exec이라는 시스템 콜이다.
  • 따라서 자식 프로세스의 생성은 fork와 exec 두 단계이다.

  • 프로세스가 마지막 명령을 수행한 후 exit 시스템 콜을 통해 프로세스가 종료된다.
  • 프로세스가 종료될 때는 자식이 부모에게 output 데이터를 보낸다.(프로세스에서는 자식이 항상 먼저 죽는다.) 이는 wait 시스템 콜에 의해 수행된다.
  • 부모가 자식 프로세스의 수행을 abort 시스템 콜을 통해 강제 종료시킬 수 있다. 이는 자원의 할당치를 넘어선 요청을 자식이 할 때, 혹은 자식에게 시킬 일이 없을 경우, 혹은 부모 프로세스가 종료되는 경우 자식을 미리 종료시킨다(단계적 종료).
profile
하마드

0개의 댓글