POSIX - Shared Memory IPC
segment id = shmget(IPC_PRIVATE,size,S_IRUSR | S_IWUSR); // 공유 메모리 세그먼트 생성, id 반환
shared_memory = (char*) shmat(id,NULL,0); //id가 지정하는 공유 메모리를 프로세스에 연결(attach)
sprintf(shared_memory,"Writing to shared memory"); // 공유 메모리 세그먼트에 읽고,쓰기
shmdt(shared_memory); // 공유 메모리를 프로세스에서 제거(detach)
- shm_open() : 공유메모리 객체 생성
- ftrunccate() : 객체의 크기 설정
- mmap() : 공유메모리 객체를 프로세스 메모리 공간 맵핑
- shm_unlink() : 공유메모리 객체 제거
Mach의 message passing
- msg_send() : 메일박스 전송
- msg-receiver() : 메일박스 수신
- msg_rpc() : remote proceduer call
- port_Allocate() : 메일박스 생성
Windows의 IPC - Local Procedure Calls
- 작은 메시지 : port의 메시지 큐 이용
- 대용량 메시지 : 공유 section object 이용
- 매우 큰 메시지 : 서버가 클라이언트 주소공간 직접 접근 API 사용
※ 클라이언트는 채널을 구축할 때, 큰 메시지를 보낼지 아닐지를 결정해야만 한다.
4.1 쓰레드 개요 (0) | 2020.04.24 |
---|---|
3.6 클라이언트-서버 시스템에서의통신 (0) | 2020.04.24 |
3.4 프로세스간 통신 (Interprocess Communication) (0) | 2020.04.24 |
3.3 프로세스 연산 (0) | 2020.04.17 |
3.2 프로세스 스케줄링 (0) | 2020.04.17 |
댓글 영역