관리 메뉴

안까먹을라고 쓰는 블로그

IPC(Inter Process Communication) - 프로세스간 통신 본문

Miscellaneous

IPC(Inter Process Communication) - 프로세스간 통신

YawnsDuzin 2012. 10. 29. 10:36

 

반응형

IPC

IPCInter Process Communication의 준말로 프로세스간 통신을 말한다.

 

IPC의 배경

OS의 커널은 일반적으로 임의의 프로세스가 다른 프로세스의 메모리 주소공간에 접근할 수 없도록 되어있다.

OS의 보호모드 에서는 프로세스마다 메모리가 독립적으로 할당되며, 프로세스끼리 메모리 접근을 할 수 없다.

하지만 경우에 따라서는 프로세스간 데이터를 공유해야 하는 경우가 생긴다.

프로세스의 주소공간을 보호하는 동시에, 프로세스간 서로 데이터를 주고 받는 기법이 필요해지는데.

이러한 이유로 생기게 된 것이 IPC기법이다.

 

IPC의 필요성

 1. 다중프로세스 환경에서 필요한 프로세스 동기화 문제해결              

    동시에 어떤 하나의 파일에 여러 사용자가 동시에 쓰기를 시도할 경우, 데이터는 뒤섞이게 되고 원치않는

    경과가 나올 수 있다. “크럽된다라고 표현하는데. 이러한 프로세스의 동기화문제를 해결하는데 IPC가 유용함.

 2. 프로세스사이의 데이터 교환에 있어서, 소규모에서 대규모까지 효율적 처리가 가능

    FIFO(Fist In First Out)를 이용해 프로세스간 통신을 할 수 있지만, 그 용량에 한계가 있다. 비교적 작은 데이터일

    경우에는 손쉬운 메시지 큐를 사용할 수 있고, 수 메가에 이르는 큰 데이터의 경우에는 공유메모리

    사용하여 효율적인 처리가 가능

 

 

IPC의 종류

1. 시그널 (Signal)

2. 파이프 (Pipe)

3. 메시지 큐 (Message Queue)

4. 공유 메모리 (Shared Memory)

5. 메일박스 (MailBox) or 메일슬롯 (MailSlot)


반응형

'Miscellaneous' 카테고리의 다른 글

2013년 산업자동화 10대 핫 키워드  (0) 2013.01.14
하버드구조 && 폰노이만구조  (0) 2012.12.11
SOA, ESB  (0) 2012.10.26
EAI  (0) 2012.10.26
ATL, STL, WTL  (0) 2012.10.26
Comments