시스템 프로그래밍

프로세스 간 통신

은행털이 2024. 10. 18. 13:49

프로세스 간 통신(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