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

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

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

System Call

fork()

  • 부모 프로세스를 복제 생성한다.

exec()

  • 완전히 새로운 프로그램으로 덮어 씌우는 역할을 한다.

wait()

  • 부모 프로세스는 자식 프로세스가 종료될 때까지 blocked 상태로 대기하다가, 자식 프로세스가 종료되면 다시 running 상태로 돌아간다.

exit()

  • 프로세스를 정상적으로 종료시킬 때 사용하는 시스템콜이다. (자발적 종료)
  • 부모가 자식을 강제 종료시키거나, 키보드로 kill, break 명령을 쳤거나, 부모가 종료하는 경우 호출된다. (비자발적 종료)

프로세스 간 협력

독립적 프로세스

  • 프로세스는 각자의 주소 공간을 갖고 수행되는 것을 원칙으로 한다.
  • 하나의 프로세스는 다른 프로세스의 수행에 영향을 미치지 못한다.

협력 프로세스

  • 프로세스 협력 매커니즘을 통해 하나의 프로세스가 다른 프로세스의 수행에 영향을 미칠 수 있다.

프로세스 간 협력 매커니즘

IPC : Interprocess Communication

  • Message passing
    • 커널을 통해 메시지를 전달
  • Shared memory
    • 서로 다른 프로세스 간에도 일부 주소 공간을 공유하게 하는 shared memory 매커니즘이 있다.
  • Thread (번외)
    • 쓰레드는 사실상 하나의 프로세스다. 그러니 프로세스 간 협력으로 보기는 어렵다.
    • 동일한 프로세스를 구성하는 쓰레드들 간에는 주소 공간을 공유하기 때문에 협력이 가능하다.

Message Passing

  • Message system
    • 프로세스 사이에 공유 변수를 일체 사용하지 않고 통신하는 시스템
  • Direct Communication
    • 통신하려는 프로세스의 이름을 명시적으로 표시한다.
    • Process A -> Process B
  • Indirect Communication
    • Mailbox (or Port)를 통해 메시지를 간접적으로 전달한다.
    • Process A -> Mailbox (or Port) -> Process B
This post is licensed under younghwani by the author.

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

[OS] 운영체제 - CPU 스케줄링 1

Comments powered by Disqus.