프로세스

창진·2022년 11월 25일

운영체제

목록 보기
6/7

프로세스 생성 (Process Creation)

  • 주소 공간(Address space)
    -자식은 부모의 공간을 복사함(binary and OS data)
    -자식은 그 공간에 새로운 프로그램을 올림

  • 부모 프로세스(Parent Process)가 자식 프로세스(children process) 생성

  • 프로세스의 트리(계층 구조) 형성

  • 프로세스는 자원을 필요로 함
    -운영체제로부터 받는다
    -부모와 공유한다

  • 자원을 공유
    -부모와 자식이 모든 자원을 공유하는 모델
    -일부를 공유하는 모델
    -전혀 공유하지 않는 모델

  • 수행(Execution)
    -부모와 자식은 공존하며 수행되는 모델
    -자식이 종료(terminate)될 때까지 부모가 기다리는(wait)모델

프로세스 종료(Process Termination)

  • 프로세스가 마지막 명령을 수행한 후 운영체제에게 이를 알려줌(exit)
    -자식이 부모에게 output data를 보냄 (via wait)
    -프로세스의 각종 자원들이 운영체제에게 반납됨
  • 부모 프로세스가 자식의 수행을 종료시킴(abort)
    -자식이 할당 자원의 한계치를 넘어섬
    -자식에게 할당된 task가 더 이상 필요하지 않음
  • 부모가 종료(exit)하는 경우
    -운영체제는 부모 프로세스가 종료하는 경우 자식이 더 이상 수행되도록 두지 않는다
    -단계적인 종료

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

  • fork() : 자식 만들기 (복사)

  • exex() : 어떤 프로세스를 완전히 새로운 프로ㅡ세스로 태어나도록 하는 것

  • wait() : wait 시스템 콜은 해당 프로세스를 잠들게 한다.

  • exit() : 시스템 콜이 호출되는 순간 거기서 프로세스가 종료된다.

프로세스 간 협력

  • 독립적인 프로세스(Independent process)
    -프로세스는 각자의 주소 공간을 가지고 수행되므로 원칙적으로 하나의 프로세스는 다른 프로세스의 수행에 영향을 미치지 못함
  • 협력 프로세스(Cooperating process)
    -프로세스 렵력 메커니즘을 통해 하나의 프로세스가 다른 프로세스의 수행에 영향을 미칠 수 있음
  • 프로세스 간 협력 메커니즘(IPC: Interprocess Communication)

-메시지를 전달하는 방법 : message passing 커널을 통해 메시지 전달

-주소공간을 공유하는 방법

  • shared memory 서로 다른 프로세스 간에도 일부 주소 공간을 공유 하게 하는 매커니즘
  • thread 는 사실상 하나의 프로세스 이므로 프로세스 간 렵력 으로 보기는 어렵지만 동일한 process를 구성하는 thread들 간에는 주소 공간을 공유하므로 렵력이 가능
profile
안녕하세요

0개의 댓글