일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 티스토리 초대장
- MX Component
- sql developer
- 윈도우10
- MEAN Stack
- 파이썬
- django
- oracle
- 딥러닝
- vscode
- Visual Studio Code
- 텐서플로우
- windows10
- rs422
- matplot
- Python
- MSSQL
- 크롤링
- 자본주의
- c#
- rs485
- 오라클
- 장고
- Serial
- MSSQL PYTHON
- tensorflow
- PYTHON MSSQL
- pymssql
- scrapy
- M2M
- Today
- Total
안까먹을라고 쓰는 블로그
IPC(Inter Process Communication) - 프로세스간 통신 본문
■ IPC
IPC는 Inter 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 |