시스템 V 및 Posix

다음 표에는 System V IPC와 POSIX IPC의 차이점이 나열되어 있습니다.

시스템 V POSIX
AT & T는 메시지 대기열, 공유 메모리 및 세마포라는 세 가지 새로운 형태의 IPC 기능을 도입했습니다 (1983). API (응용 프로그래밍 인터페이스)를 정의하기 위해 IEEE에서 지정한 휴대용 운영 체제 인터페이스 표준입니다. POSIX는 세 가지 형태의 IPC를 모두 다룹니다.
SYSTEM V IPC는 모든 IPC 메커니즘, 즉 파이프, 명명 된 파이프, 메시지 큐, 신호, 세마포 및 공유 메모리를 다룹니다. 또한 소켓 및 Unix 도메인 소켓도 다룹니다. 거의 모든 기본 개념은 System V와 동일합니다. 인터페이스 만 다릅니다.
공유 메모리 인터페이스 호출 shmget (), shmat (), shmdt (), shmctl () 공유 메모리 인터페이스 호출 shm_open (), mmap (), shm_unlink ()
Message Queue 인터페이스 호출 msgget (), msgsnd (), msgrcv (), msgctl () Message Queue 인터페이스 호출 mq_open (), mq_send (), mq_receive (), mq_unlink ()
세마포어 인터페이스 호출 semget (), semop (), semctl () 세마포어 인터페이스는 명명 된 세마포어를 호출합니다. (), sem_getvalue (), sem_destroy ()
키와 식별자를 사용하여 IPC 개체를 식별합니다. 이름과 파일 설명자를 사용하여 IPC 개체를 식별합니다.
NA POSIX 메시지 큐는 select (), poll () 및 epoll API를 사용하여 모니터링 할 수 있습니다.
msgctl () 호출 제공 속성 11에 액세스하거나 설정하는 함수 (mq_getattr () 및 mq_setattr ())를 제공합니다. IPC-System V & POSIX
NA 다중 스레드 안전. 뮤텍스 잠금, 조건부 변수, 읽기-쓰기 잠금 등과 같은 스레드 동기화 기능을 다룹니다.
NA 메시지 대기열에 대한 몇 가지 알림 기능 (예 : mq_notify ())을 제공합니다.
상태 / 제어 작업을 수행하려면 shmctl (), 명령 (ipcs, ipcrm)과 같은 시스템 호출이 필요합니다. 공유 메모리 객체는 fstat (), fchmod ()와 같은 시스템 호출을 사용하여 검사하고 조작 할 수 있습니다.
System V 공유 메모리 세그먼트의 크기는 생성시 고정됩니다 (shmget ()을 통해). ftruncate ()를 사용하여 기본 개체의 크기를 조정 한 다음 munmap () 및 mmap () (또는 Linux 전용 mremap ())을 사용하여 매핑을 다시 만들 수 있습니다.