https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process
ㅁ프로세스 간 통신(IPC, Inter-Process Communication): 두 개 이상의 프로세스가 서로 데이터를 교환할 수 있도록 하는 다양한 메커니즘과 기술
각 프로세스는 독립된 메모리 공간을 가지고 있기 때문에, 서로 직접 데이터를 공유하지 못한다. 따라서 IPC는 이러한 제한을 극복하기 위해 사용된다.
[OS가 제공하는 주요 IPC 방식]
- 파이프(Pipes): 익명 파이프 && 이름 있는 파이프(FIFO)
- 익명 파이프는 부모-자식 프로세스 간의 통신에 사용되고, 이름 있는 파이프는 관련 없는 프로세스 간에도 사용할 수 있다.
- 메시지 큐(Message Queues): 메시지를 큐에 저장
- 여러 프로세스가 이 큐에 접근하여 메시지를 주고받을 수 있다.
- 메시지의 순서나 우선순위 설정 가능
- 공유 메모리(Shared Memory): 여러 프로세스가 특정 메모리 영역을 공유하도록 설정하여 데이터를 교환
- 가장 빠른 IPC 방식 중 하나지만, 동기화를 위한 추가적인 조치가 필요
- 세마포어(Semaphores): 주로 동기화 목적으로 사용되며, 프로세스가 공유 자원에 접근할 수 있는 개수를 제한
- 공유 메모리와 함께 자원 접근을 제어하는 데 사용
- 소켓(Sockets): 주로 네트워크 통신을 위한 방식이지만, 같은 시스템 내에서도 IPC에 사용이 가능
- 특히, Client-Server 구조에서 많이 사용
- 시그널(Signals): 간단한 신호를 통해 프로세스 간에 특정 이벤트가 발생했음을 알리는 것
- 주로 프로세스의 상태 변경을 알리거나 종료 등의 이벤트를 전달할 때 사용
https://claremont.tistory.com/category/Computer%20Science/UNIX%20%26%20Linux
(ep10부터 끝까지 리눅스 IPC 함수 실습)
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 후기 (0) | 2024.07.07 |
---|---|
[운영체제] ep10) I/O Management and Disk Scheduling (0) | 2024.07.04 |
[운영체제] ep9) Multiprocessor and Real-Time Scheduling (0) | 2024.07.04 |
[운영체제] ep8) Uniprocessor Scheduling (0) | 2024.07.04 |
[운영체제] ep7) Virtual Memory (0) | 2024.07.02 |