Home [OS] 운영체제 - 프로세스 관리 5
Post
Cancel

[OS] 운영체제 - 프로세스 관리 5

운영체제 - 프로세스 관리 5

프로세스 생성

  • 부모 프로세스자식 프로세스를 만든다.
    • 부모와 같은 나이를 가진 프로세스를 복제 생성한다고 볼 수 있다.
    • fork() 명령어로 만들 수 있다.
  • 프로세스의 트리(계층 구조) 형성
  • 프로세스는 자원을 필요로 한다.
    • 운영체제로부터 받는다.
    • 부모와 공유한다.
  • 자원의 공유
    • 부모와 자식이 모든 자원을 공유하는 모델
    • 일부를 공유하는 모델
    • 전혀 공유하지 않는 모델
  • 수행
    • 부모와 자식은 공존하며 수행되는 모델
    • 자식이 종료(terminate)될 때까지 부모가 기다리는(wait) 모델
  • 주소 공간
    • 자식은 부모의 공간을 복사한다.
    • 자식은 그 공간에 새로운 프로그램을 올린다.
  • 예시
    • fork()
      • 부모를 복제 생성
    • exec()
      • 다른 새로운 프로그램으로 덮어씌운다.
    • 보통 fork와 exec를 같이 사용한다. 그 이유는 exec 사용 시, 이전의 프로세스는 잊혀지게 되기 때문이다. 그렇기에 부모 프로세스는 fork 명령을 통해 자식을 먼저 생성하고, 자식에게 새로운 프로그램 실행을 (exec 명령 사용을 통해) 맡긴다.

프로세스 종료

  • exit 명령어를 통해 종료.
    • 부모가 기다리는 경우, 자식이 부모에게 output 데이터를 보낸다.
    • 프로세스의 각종 자원이 운영체제에 반납된다.
  • abort 명령어를 통해 종료 - 부모 프로세스가 자식의 수행을 종료시키는 경우
    • 자식이 할당된 자원의 한계치를 넘어서는 경우 사용한다.
    • 자식에게 할당된 태스크가 더 이상 필요하지 않게 되면 사용한다.
    • 부모가 종료(exit)되는 경우 사용한다.
      • 운영체제는 부모 종료 시 자식이 더 이상 수행되지 않도록 막는다. (단계적인 종료 과정)
This post is licensed under younghwani by the author.

[OS] 운영체제 - 프로세스 관리 4

[OS] 운영체제 - 프로세스 관리 6

Comments powered by Disqus.