반응형
프로세스 생성
- 부모 프로세스가 자식프로세스를 생성, fork() 시스템콜을 통하여..
- 프로세스의 트리 ( 계층 구조 ) 형성
- 프로세스는 자원을 필요로 함
- 운영체제로부터 받는다
- 부모와 공유
- 자원의 공유
- 부모와 자식이 모든 자원을 공유하는 모델
- 일부를 공유하는 모델
- 전혀 공유하지 않는 모델
- 새로운 프로세스 생성시 수행 ( Execution) 상황 2가지
- 부모와 자식은 공존하며 수행되는 모델
- 자식이 종료( terminate)될 때까지 부모가 기다리는( wait ) 모델
- 새로운 프로세스 생성시 주소 공간( Address space) 상황 2가지
- 자식은 부모의공간을 복사함
- 자식은 그 공간에 새로운 프로그램을 올림
프로세스 종료
- 프로세스가 마지막 명령을 수행한 후 운영체제에게 이를 알려준다( exit ) - > 자발적 종료
- 부모 프로세스가 자식의 수행을 종료시킴 ( abort ) - > 비자발적 종료
- 자식이 할당 자원의 한계치를 넘어섬
- 자식에게 할당된 태스크가 더 이상 필요하지 않음
- 부모가 먼저 종료( exit ) 하는 경우
- 운영체제는 부모 프로세스가 종료하는 경우 자식이 더 이상 수행되도록 두지 않는다
- 단계적인 종료
프로세스와 관련한 시스템 콜
- fork() : 부모 프로세스를 자식 프로세스에 복제해서 자식 프로세스를 만든다
- exec() : fork() 시스템 콜로 복제된 자식 프로세스에 새로운 프로그램을 덮어 씌운다. 자식 프로세스는 독자적인 작업을 수행 할 수 있게 된다
- wait() : 자식 프로세스가 종료될때까지 기다린다
- exit() : 프로그램을 종료시키는 시스템 콜, 모든 자원을 반납하고 부모 프로세스에게 자신이 종료됨을 알린다
- 자발적 종료 : 마지막 statement 수행 후 exit() 시스템 콜을 통해....
- 비자발적 종료 ( abort() 시스템 콜) : 키보드로 kill, break를 친 경우..
- 부모 프로세스가 자식 프로세스를 강제 종료시킴
- 부모가 먼저 종료되는 경우, 부모 프로세스가 종료하기 전에 자식들이 먼저 종료
프로세스간 협력
- 독립적 프로세스 : 각자의 주소공간을 가지며, 다른 프로세스의 수행에 영향 X
- 협력적 프로세스 : 프로세스 협력 메커니즘을 통해 하나의 프로세스가 다른 프로세스에 영향을 미칠 수 있음
IPC ( Inter Process Communication)
1. 메세지 전달 ( message passing) : 커널을 통해 메세지 전달
2. 주소공간 공유( Shared memory)
이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.
필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=1046323
반응형
'CS > 운영체제' 카테고리의 다른 글
운영체제(7) - Race condition과 임계구역(Critical-Section problem) (1) | 2023.10.03 |
---|---|
운영체제(6) - CPU 스케줄링 (0) | 2023.09.22 |
운영체제(4) - 스케줄러와 Thread (0) | 2023.09.22 |
운영체제(3) - 프로세스 (0) | 2023.09.13 |
운영체제(2)- 시스템 구조 (0) | 2023.09.04 |