프로세스 간 통신(IPC)
- 프로세스 간 데이터 송, 수신을 의미 -> 즉 메모리 공유
- 대표적 기법으로 메일슬롯 존재
메일 슬롯
- 단방향 통신 : 두 프로세스간 메시지 전달을 위해서는 두 개의 메일슬롯을 생성해야함
- 브로드캐스트 가능 : 여러 Sender가 하나의 Reciever에게 데이터 전달 가능
커널 오브젝트의 Non-signaled, Signaled 상태
- 프로세스가 실행중이면 Non-signaled, 신호를 받지 않는 상태
- 프로세스가 종료되면 Signaled, 신호를 받는 상태
- 종료된 프로세스를 살릴 수 없듯이, Signaled상태가 되면 절대 Non-signaled로 돌아갈 수 없음
핸들과 핸들 테이블
- 핸들 테이블 : 핸들 정보를 저장하고 있는 테이블로, 프로세스별로 독립적(프로세스별로 하나의 핸들 테이블 소유)
- 숫자가 핸들로서의 의미를 가지는 것은, 해당 숫자가 핸들 테이블에 등록된 순간부터이다. 이 핸들로 이제 커널오브젝트에 간접 접근이 가능하다
이름없는 파이프와 이름있는 파이프(IPC)
메일슬롯 | 이름없는 파이프 | 이름있는 파이프 | |
방향성 | 단방향, 브로드캐스팅 | 단방향 | 양방향 |
통신범위 | 제한 없음 | 부모, 자식 프로세스 | 제한 없음 |
'시스템 프로그래밍' 카테고리의 다른 글
커널 오브젝트와 오브젝트 핸들 (0) | 2024.10.18 |
---|---|
프로세스의 생성과 소멸 (0) | 2024.10.18 |
컴퓨터 구조 2 (0) | 2024.10.18 |
64비트 기반 프로그래밍 (0) | 2024.10.18 |
아스키코드와 유니코드 (0) | 2024.10.18 |