본문 바로가기

CS/운영체제

운영체제(5) - 프로세스의 생성과 관련 시스템콜

반응형

프로세스 생성

  • 부모 프로세스가 자식프로세스를 생성, fork() 시스템콜을 통하여..
  • 프로세스의 트리 ( 계층 구조 ) 형성
  • 프로세스는 자원을 필요로 함
    • 운영체제로부터 받는다
    • 부모와 공유
  • 자원의 공유
    • 부모와 자식이 모든 자원을 공유하는 모델
    • 일부를 공유하는 모델
    • 전혀 공유하지 않는 모델
  • 새로운 프로세스 생성시 수행 ( Execution) 상황 2가지
    • 부모와 자식은 공존하며 수행되는 모델
    • 자식이 종료( terminate)될 때까지 부모가 기다리는( wait ) 모델
  • 새로운 프로세스 생성시 주소 공간( Address space) 상황 2가지
    • 자식은 부모의공간을 복사함
    • 자식은 그 공간에 새로운 프로그램을 올림

프로세스 종료

  • 프로세스가 마지막 명령을 수행한 후 운영체제에게 이를 알려준다( exit ) - > 자발적 종료
  • 부모 프로세스가 자식의 수행을 종료시킴 ( abort )  - > 비자발적 종료
    • 자식이 할당 자원의 한계치를 넘어섬
    • 자식에게 할당된 태스크가 더 이상 필요하지 않음
    • 부모가 먼저 종료( exit ) 하는 경우
      1. 운영체제는 부모 프로세스가 종료하는 경우 자식이 더 이상 수행되도록 두지 않는다
      2. 단계적인 종료

프로세스와 관련한 시스템 콜

  • fork()  : 부모 프로세스를 자식 프로세스에 복제해서 자식 프로세스를 만든다
  • exec() : fork() 시스템 콜로 복제된 자식 프로세스에 새로운 프로그램을 덮어 씌운다. 자식 프로세스는 독자적인  작업을 수행 할 수 있게 된다
  • wait() : 자식 프로세스가 종료될때까지 기다린다
  • exit() : 프로그램을 종료시키는 시스템 콜, 모든 자원을 반납하고 부모 프로세스에게 자신이 종료됨을 알린다
    1. 자발적 종료 : 마지막 statement 수행 후 exit() 시스템 콜을 통해....
    2. 비자발적 종료 ( abort() 시스템 콜) : 키보드로 kill, break를 친 경우..
      • 부모 프로세스가 자식 프로세스를 강제 종료시킴
      • 부모가 먼저 종료되는 경우, 부모 프로세스가 종료하기 전에 자식들이 먼저 종료

프로세스간 협력

  • 독립적 프로세스 : 각자의 주소공간을 가지며, 다른 프로세스의 수행에 영향 X
  • 협력적 프로세스 : 프로세스 협력 메커니즘을 통해 하나의 프로세스가 다른 프로세스에 영향을 미칠 수 있음

 

IPC ( Inter Process Communication)

1. 메세지 전달 ( message passing) : 커널을 통해 메세지 전달

2. 주소공간 공유( Shared memory) 

 

이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.

필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.

http://www.kocw.net/home/search/kemView.do?kemId=1046323 

 

운영체제

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

www.kocw.net

 

반응형