SECTION 5.1 다양한 통신 방식
운영체제에는 스레드 간의 정보 교환을 위한 통신 수단이 있다. 이러한 통신 수단을 프로세스 간 통신(Inter-Process Communication, IPC)이라고 한다. 애플리케이션에서 프로세스 간 통신이 필요하다는 판단이 섰다면 다음에는 어떤 방식을 사용해야 할지 결정해야 한다.
노트
IPC는 말 그대로 프로세스끼리의 통신이다. 하지만 곧이곧대로 정보 교환을 할 수 있는 것이 프로세스뿐이지는 않다. 프로세스는 최소한 하나의 스레드를 포함하기 때문에 프로세스와 스레드를 모두 스레드로 간주할 수 있다고 앞서 설명했다. 따라서 실질적인 통신은 스레드 간에 일어난다. 프로세스와 스레드를 구분하는 것은 혼란을 일으키기 쉬우므로 여기서는 실행 단위의 추상인 작업(task)이라는 용어를 쓰겠다.
가장 널리 쓰이는 IPC는 공유 메모리(shared memory)와 메시지 전달(message passing)이다.