Sistema V y Posix

La siguiente tabla enumera las diferencias entre System V IPC y POSIX IPC.

SISTEMA V POSIX
AT&T introdujo (1983) tres nuevas formas de instalaciones IPC, a saber, colas de mensajes, memoria compartida y semáforos. Estándares de interfaz de sistema operativo portátil especificados por IEEE para definir la interfaz de programación de aplicaciones (API). POSIX cubre las tres formas de IPC
SYSTEM V IPC cubre todos los mecanismos de IPC, a saber, conductos, conductos con nombre, colas de mensajes, señales, semáforos y memoria compartida. También cubre socket y socket de dominio Unix. Casi todos los conceptos básicos son los mismos que en System V. Solo difiere con la interfaz
Llamadas de interfaz de memoria compartida shmget (), shmat (), shmdt (), shmctl () Llamadas de interfaz de memoria compartida shm_open (), mmap (), shm_unlink ()
Llamadas de interfaz de cola de mensajes msgget (), msgsnd (), msgrcv (), msgctl () Llamadas de interfaz de cola de mensajes mq_open (), mq_send (), mq_receive (), mq_unlink ()
Llamadas de interfaz de semáforo semget (), semop (), semctl () Llamadas a la interfaz del semáforo Semáforos con nombre sem_open (), sem_close (), sem_unlink (), sem_post (), sem_wait (), sem_trywait (), sem_timedwait (), sem_getvalue () Semáforos sin nombre o basados ​​en memoria sem_init (), sem_post (), sem_wait (), sem_getvalue (), sem_destroy ()
Utiliza claves e identificadores para identificar los objetos IPC. Utiliza nombres y descriptores de archivos para identificar objetos IPC
N / A Las colas de mensajes POSIX se pueden monitorear usando las API select (), poll () y epoll
Ofrece la llamada msgctl () Proporciona funciones (mq_getattr () y mq_setattr ()) para acceder o establecer atributos 11. IPC - System V y POSIX
N / A Caja fuerte multihilo. Cubre funciones de sincronización de subprocesos como bloqueos mutex, variables condicionales, bloqueos de lectura y escritura, etc.
N / A Ofrece pocas funciones de notificación para colas de mensajes (como mq_notify ())
Requiere llamadas al sistema como shmctl (), comandos (ipcs, ipcrm) para realizar operaciones de estado / control. Los objetos de memoria compartida se pueden examinar y manipular mediante llamadas al sistema como fstat (), fchmod ()
El tamaño de un segmento de memoria compartida de System V se fija en el momento de la creación (a través de shmget ()) Podemos usar ftruncate () para ajustar el tamaño del objeto subyacente y luego volver a crear el mapeo usando munmap () y mmap () (o el mremap () específico de Linux)