Q. IPC(Inter Process Communication)이란 무엇인가요?

프로세스 간에 서로 데이터를 주고받는 방법을 말합니다. 프로세스는 커널이 제공하는 IPC설비를 이용하여 프로세스 간 통신을 할 수 있습니다. 대표적으로 메시지 교환과 데이터 공유 방법이 있습니다.

  1. Message passing : 커널(OS)가 메모리 보호를 위해 대리 전달해주는 것을 말합니다. 따라서 안전하고 동기화 문제가 없습니다. 하지만 성능이 떨어진다는 단점을 가지고 있습니다.
  2. shared memory : 두 프로세스간의 공유된 메모리를 생성 후 이용하는 것을 말합니다. 성능은 좋지만 동기화의 문제가 발생합니다.

  동기화(Synchronization), 두 개의 프로세스 A,Bshared memory를 이용해 데이터를 주고받을 때 A가 쓰면 B가 읽어가야 하는데 A가 쓰고 난 뒤인지 전인지 알 수 있는 방법이 없다. 그래서 A가 다 썼다고 알려줘야 B가 읽어갈 수 있다. 이와 같이 프로세스 또는 스레드들이 수행되는 시점을 조절하는 것이 동기화이다.

반응형

+ Recent posts