본문 바로가기
CS(Computer Science)/운영체제

[운영체제] 프로세스 생성과 종료

by whdgus928 2023. 1. 29.

프로세스 생성

부모 프로세스가 자식 프로세스를 생성할때 운영체제에게 요청해 프로세스의 트리 구조가 형성된다. 프로세스가 실행 되기 위해서는 자원이 필요한데 이 자원은 운영체제로부터 받고 부모와 공유한다. 보통은 자원을 공유하지 않는다. 부모와 자식이 공존하는 모델과 자식이 종료될 때까지 부모가 기다리는 모델이 있다

 

프로세스를 생성하는 방법은 복제생성이다. 먼저 부모 프로세스의 주소 공간, 운영체제의 pcb와 자원을 똑같이 복사한다. 복제 생성을 하게 되면 같은 일만 하게 되는데 여기서 일단 복제를 하고 새로운 프로그램을 올리는 식이다. 두 가지 단계로 나눠지는데 fork 시스템 콜로 새로운 프로그램 생성한다. 다음 단계로  exec 시스템 콜을 통해 새로운 프로그램을 메모리에 올리는 것이다.

 

프로세스 종료

프로세스의 자발적 종료는 exit 시스템 콜을 통해 진행된다. 자식이 부모에게 wait시스템으로 ouput data를 보낸다. 종료가 되면서 프로세스의 각종 자원들이 운영체제에게 반납된다.

비자발적인 종료에는 abort한다. 자식이 할당 자원의 한계치를 넘어서거나 자식에게 할당된 태스크가 더 이상 필요하지 않을 때 그리고 부모 프로세스가 종료되는 경우 abort 시스템 콜로 종료한다.

반응형

댓글