-
독립적 프로세스 (Independent process)
- 프로세스는 각자의 주소 공간을 가지고 수행되므로 원칙적으로 하나의 프로세스는 다른 프로세스의 수행에 영향을 미치지 못함
- 직접 본인것 얻어서 메모리를 만들고 CPU도 많이 얻으려고 하면서 경쟁하면서 실행하는 독립적인 프로세스
-
협력 프로세스 (Cooperating process)
- 프로세스 협력 메커니즘을 통해 하나의 프로세스가 다른 프로세스의 수행에 영향을 미칠 수 있음
-
프로세스 간 협력 메커니즘 (IPC : Interprocess Communication)
- 메시지를 전달하는 방법
- message passing : 커널을 통해 메시지 전달
- process A가 process B한테 메시지를 전달하고, 그 영향을 받아서 process B가 실행이 되고, 또 process B가 실행되다가 메시지를 A한테 날리면 A가 실행되고.
- 프로세스는 원체 독립적이기 때문에, 자신의 메모리 공간만 볼 수 있고, 내가 다른 프로세스에게 메시지를 전달하는 방법도 원칙적으로는 없다.
- 그래서 커널을 통해 메시지를 전달함.
- 주소 공간을 공유하는 방법
- shared memory : 서로 다른 프로세스 간에도 일부 주소 공간을 공유하게 하는 shared memory 메커니즘이 있음.
- thread : thread는 사실상 하나의 프로세스이므로 프로세스 간 협력으로 보기는 어렵지만 동일한 process를 구성하는 thread들 간에는 주소 공간을 공유하므로 협력이 가능