Inter-Process Communication
- 프로세스들은 유저 공간(user-mode)에서 개별로 os로부터 할당받은 독립된 공간에 존재
- kernel space에서 IPC기술을 통해 프로세스들 간 통신을 제공
종류
- PIPE
- 익명의 PIPE를 통해 동일한 PPID를 가진 프로세스들 간에 단방향 통신(Half Duplex)을 지원
- 송수신을 위해선 2개의 파이프가 필요
- Named PIPE
- 이름을 가진 PIPE를 통해서 프로세스들 간에 단방향 통신을 지원
- PIPE이름만 알면 프로세스들이 통신 가능
- 송수신을 위해선 2개의 파이프가 필요
- Message Queue
- 메모리를 사용한 PIPE(컨테이너 벨트), 구조체 기반으로 통신
- 메시지 큐에 쓸 데이터에 번호를 붙임
- Shared Memory
- 시스템 상의 공유 메모리를 통해 통신
- IPC들 중에서 가장 빠르게 작동
- Memory Map
- 열린 파일을 프로세스의 메모리에 일정 부분 매핑시켜서 사용
- Socket
- 네트워크 소켓통신을 사용한 데이터 공유
- 원격에서 프로세스간 데이터를 공유할 때
- 네트워크 프로그래밍
- Semaphore
- 프로세스 간 데이터를 동기화하고 보호하는데 목적
- 공유된 자원에 하나의 프로세스만 접근 가능하도록
참고: https://cho001.tistory.com/42
❗ 나중에 해당 코드들도 찾아보자...특히 shared memory, socket, semaphore ❗
'Computer Science > Operating System' 카테고리의 다른 글
[개념] Memory Management 1 (0) | 2021.08.12 |
---|---|
[개념] Virtualization (0) | 2021.08.12 |
[개념] I/O Management (0) | 2021.08.12 |
[개념] Threads and Concurrency (0) | 2021.08.12 |
[개념] Process Management (0) | 2021.08.12 |