TechY
Process Management 1 본문
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,8강 Process Management
프로세스가 어떻게 만들어지는가? 누가 만드는가?
프로세스의 생성
- 부모 프로세스가 자식 프로세스를 생성 (복제해서 만든다고 함)
- 프로세스 자체가 생성할 수는 없음. 결국 os 가 system call 을 해서 만들어야 함
- 자식은 부모의 주소 공간을 복사함 binary and os data (ex. pcb)
- UNIX case : fork() system call 이 새로운 프로세스를 생성
- 자식은 그공간에 새로운 프로그램을 덮어 씌움
- UNIX case : fork 다음에 이어지는 exec() system call 을 통해 새로운 프로그램을 메모리에 올림
- 프로세스의 트리 (계층 구조) 형성
- 프로세스는 자원을 필요로 함
- os 가 줌
- 부모와 공유하는 경우도 있고, 아닌 경우도 있음, 일반적으로 공유하지는 않고 되려 경쟁하는 사이가 된다
- 프로세스가 실행이 될 때, 부모와 자식이 공존하여 수행되는 경우도 있는데, 이는 자식 프로세스가 terminate 될 때까지 부모가 wait 되는 형태를 말한다
프로세스의 종료
- 프로세스가 마지막 명령을 수행한 후, os 에게 이를 알려줌
- exit() system call
- 자식 프로세스가 항상 부모 프로세스보다 먼저 종료된다
- 자식이 부모에게 output data를 보냄 (via wait system call)
- 어쩔 땐, 부모가 자식 프로세스를 종료시킬 수도 있다 (abort system call)
- 부모 프로세스가 어쩌다보니 먼저 종료(exit)하는 경우
- os 는 부모 프로세스가 종료하는 경우 자식이 더이상 수행되도록 두지 않는다
'[개발 정리] > [OS]' 카테고리의 다른 글
CPU Scheduling 1 (0) | 2024.11.27 |
---|---|
Process Management 2 (0) | 2024.11.27 |
Thread (1) | 2024.11.26 |
Process (0) | 2024.11.23 |
System Structure & Program Execution 2 (0) | 2024.11.20 |