Process Management 2.(Cooperating Process)

프로세스는 각자의 주소 공간(Address Space)를 갖고 수행되므로 독립적이고 경잭적이다. 이와 같은 이유로 원칙적으로는 하나의 프로세스가 다른 프로세스에게 영향을 미치지 못한다. 그러나 경우에 따라서 협력해야 효율적인 경우가 있을 수 있어 서로 정보를 주고 받으며 실행하게 되는데 이를 협력 프로세스(Cooperating Process)라고 하며 전자를 독립적 프로세스(Independent Process)라고 한다. 프로세스간 협력 메커니즘 (IPC, Interprocess Communication) 프로세스는 원칙적으로 자기의 메모리 주소 공간만 볼 수 있고 서로에게 개입할 수 없어 직접 메시지를 주고 받을 수 없다. 이러한 이유로 몇 가지 편법적인 방법으로 메시지를 교류한다. ...

2022년 1월 5일 · 2 min

Process Management 1. (Creation, Execution, Wait & Exit)

프로세스(자식 프로세스)의 생성, 수행 및 종료에 대한 내용을 다룬다. 프로세스 생성 (Process Creation) 부모 프로세스가 자식 프로세스를 생성하는 식으로 생성한다. 부모 프로세스가 직접 복제를 할 수 없기 때문에 fork() 시스템 콜(System call)을 통하여 운영체제의 도움을 받아서 복제한다. 자식 프로세스는 부모 프로세스의 복제품으로 부모의 주소공간(Binary 및 PCB 등 OS data)을 완전히 복제한다. 복제한 주소공간은 메모리(Memory)를 할당 받고 자식 프로세스는 해당 공간에서 새로운 프로그램을 실행한다. fork() 시스템 콜로 생성된 자식 프로세스를 수행할 때 프로그램의 처음부터 실행하면 중간에 자식 프로세스 자기 자신을 복제하기 위해 삽입된 fork()문을 마주쳐 추가적으로는 필요하지도 않은 손자 프로세스가 생성될 수 있다. 이 때문에 자식 프로세스는 처음부터 실행되지 않고 fork()문 다음부터 시작(PC가 가리키게)되며 이를 통해 본인이 자식 프로세스라는 사실을 알 수 있다. ...

2022년 1월 1일 · 3 min