System
[System Programming] IPC Protocol
shepherd.dev
2015. 9. 15. 19:05
[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