250x250
Notice
Recent Posts
Recent Comments
Link
전성빈의 사리사욕
[OS의 작동방식] IPC (Inter Process Communication) 본문
728x90
IPC란?
프로세스들은 각각이 완전히 독립된 실행 객체들입니다. 서로 다른 프로세스 끼리는 영향을 주지 않는다는 장점을 가집니다. 그러나 독립되어 있는 만큼 서로간 통시니 어렵다는 문제가 있습니다. 이를 위해 커널에서 IPC를 제공하게 되고 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 됩니다.
IPC 표준
system V IPC : 오래된버전이며 역사가 긴 만큼 다른 기종간 코드 호환성을 보장해 주지만 API가 오래 되었으며 함수명도 며확하지 않습니다.
POSIX IPC : 비교적 최근에 개발된 표준입니다. 직관적인 API들로 구성되어 있어 상대적으로 사용하기 쉽습니다.
IPC 설비
다양한 IPC 설비들이 존재하고 각각의 필요에 따라 알맞은 IPC를 선택해야합니다. 상황에 맞는 IPC선택, 특히 fork()를 이용해서 만들어진 멀티 프로세스의 프로그램에게는 매우 중요합니다.
PIPE(Anonymous Pipe) : Half-Duplex 통신, 상대가 명확해야 한다.
Named PIPE(FIFO)
Message Queue
Shared Memory
Memory Map
Socket
Semaphore
728x90
'백엔드 로드맵따라가기 > OS 및 일반적인 지식' 카테고리의 다른 글
[명령어] ubuntu / apt-get (0) | 2020.11.15 |
---|---|
[OS의 작동방식] 입출력 관리 (0) | 2020.08.12 |
[OS의 작동방식] 메모리 관리 (0) | 2020.08.11 |
[OS의 작동방식] 쓰레드란 (0) | 2020.08.11 |
[OS의 작동방식] 프로세스 관리 (0) | 2020.08.06 |