📌 프로세스와 관련한 시스템 콜
‣ fork() : create a child (copy)
‣ exec() : overlay new image
‣ wait() : sleep until child is done
‣ exit() : frees all the resources, notify parent
📌 wait() 시스템 콜
- 프로세스 A가 wait() 시스템 콜을 호출하면
✓ 커널은 child가 종료될 때까지 프로세스 A를 sleep시킨다 (block 상태)
✓ Child process가 종료되면 커널은 프로세스 A를 깨운다 (ready 상태)
📌 exit() 시스템 콜
‣ 프로세스의 종료
✓ 자발적 종료
• 마지막 statement 수행 후 exit() 시스템 콜을 통해
• 프로그램에 명시적으로 적어주지 않아도 main 함수가 리턴되는 위치에 컴파일러가 넣어줌
✓ 비자발적 종료
• 부모 프로세스가 자식 프로세스를 강제 종료시킴
- 자식 프로세스가 한계치를 넘어서는 자원 요청
- 자식에게 할당된 태스크가 더 이상 필요하지 않음
• 키보드로 kill, break 등을 친 경우
• 부모가 종료하는 경우
- 부모 프로세스가 종료하기 전에 자식들이 먼저 종료됨
'운영체제 (이화여대 반효경)' 카테고리의 다른 글
운영체제 강의 14 (0) | 2021.07.14 |
---|---|
운영체제 강의 13 (0) | 2021.07.14 |
운영체제 강의 11 (0) | 2021.07.13 |
운영체제 강의 10 (0) | 2021.07.13 |
운영체제 강의 9 (0) | 2021.07.13 |