[System Programming] IPC
리눅스 프로세스간 통신 프로토콜입니다. 리눅스에서 다양한 방식의 IPC 통신 방법을 제공합니다. 분류는 위키에서 나눈 방식으로 구분하겠습니다.
Method | Short Description | Provided by (operating systems or other environments) |
---|---|---|
File | A record stored on disk, or a record synthesized on demand by a file server, which can be accessed by multiple processes. | Most operating systems |
Signal | A system message sent from one process to another, not usually used to transfer data but instead used to remotely command the partnered process. | Most operating systems |
Socket | A data stream sent over a network interface, either to a different process on the same computer or to another computer on the network. | Most operating systems |
Message queue | An anonymous data stream similar to a socket, usually implemented by the operating system, that allows multiple processes to read and write to the message queue without being directly connected to each other. | Most operating systems |
Pipe | A two-way data stream between two processes interfaced through standard input and output and read in one character at a time. | All POSIX systems, Windows |
Named pipe | A pipe implemented through a file on the file system instead of standard input and output. Multiple processes can read and write to the file as a buffer for IPC data. | All POSIX systems, Windows |
Semaphore | A simple structure that synchronizes multiple processes acting on shared resources. | All POSIX systems, Windows |
Shared memory | Multiple processes are given access to the same block of memory which creates a shared buffer for the processes to communicate with each other. | All POSIX systems, Windows |
Message passing | Allows multiple programs to communicate using channels, commonly used in concurrency models. | Used in MPI paradigm, Java RMI, CORBA,DDS, MSMQ, MailSlots, QNX, others |
Memory-mapped file | A file mapped to RAM and can be modified by changing memory addresses directly instead of outputting to a stream. This shares the same benefits as a standard file. | All POSIX systems, Windows |
출처: https://en.wikipedia.org/wiki/Inter-process_communication
각 방식의 사용법은 예제와 함께 천천히 올리겠습니다.
1. 반이중 Pipe
- http://shepherd44.tistory.com/15
2. Named Pipe
'System' 카테고리의 다른 글
[centos] 추가 repo 설치 (0) | 2018.12.10 |
---|---|
[centos5] centos5 yum base repo 변경 (0) | 2018.12.10 |
vim 설정 (0) | 2018.11.08 |
[Man] sigaction (0) | 2015.07.07 |