관리 메뉴

TechY

Process Management 1 본문

[개발 정리]/[OS]

Process Management 1

hskimim 2024. 11. 27. 00:31

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