운영체제

IPC - Inter Process Communication

iksadnorth 2023. 7. 23. 16:14

프로세스끼리 데이터를 주고 받는 메커니즘.
해당 방법들은 모두 스레드 사이의 공유방법보다 속도가 느리다.

1. 공유 메모리

특정 메모리 블록에 대한 접근 권한이 부여되어 통신이 가능한 것.
불필요한 데이터 복사가 생기지 않아 가장 빠르지만
동시에 수정이 이뤄질 수도 있어서 동기화가 필요하다.

2. 파일

디스크에 저장된 데이터를 기반으로 공유.

3. 익명 파이프

FIFO 방식으로 읽히는 임시 공간으로 데이터를 구조받으며
단방향 방식으로 작동한다.
부모, 자식 프로세서 사이에서만 사용 가능

4. 명명된 파이프

1 개의 서버와 n 개의 클라이언트의 통신을 위한 파이프
컴퓨터 내 프로세스 뿐만 아니라 다른 네트워크의 프로세스와도 통신 가능.
양방향 통신이 가능하지만 동시에 통신할 수는 없다.
파일 시스템으로 구현됨.

5. 메시지 큐

Queue 데이터 구조 형태로 구현됨.
커널 전역변수 형태로 관리되며 직관적이고 간단해 구현이 쉽다.
크기가 작은 데이터를 위한 IPC 이므로 대용량 데이터는 다른 방법을 생각해야 한다.

'운영체제' 카테고리의 다른 글

CPU 스케줄링 알고리즘  (0) 2023.07.23
프로세스 자원 동기화 전략  (0) 2023.07.23
은행원 알고리즘  (0) 2023.07.23
C언어 컴파일 과정  (0) 2023.07.23
프로세스  (0) 2023.07.23