Système V et Posix

Le tableau suivant répertorie les différences entre System V IPC et POSIX IPC.

SYSTÈME V POSIX
AT & T a introduit (1983) trois nouvelles formes de fonctionnalités IPC, à savoir les files d'attente de messages, la mémoire partagée et les sémaphores. Normes d'interface de système d'exploitation portable spécifiées par l'IEEE pour définir l'interface de programmation d'application (API). POSIX couvre les trois formes d'IPC
SYSTEM V IPC couvre tous les mécanismes IPC à savoir, les canaux, les canaux nommés, les files d'attente de messages, les signaux, les sémaphores et la mémoire partagée. Il couvre également les sockets et les sockets du domaine Unix. Presque tous les concepts de base sont les mêmes que ceux du système V. Il ne diffère que par l'interface
Appels d'interface de mémoire partagée shmget (), shmat (), shmdt (), shmctl () Appels d'interface de mémoire partagée shm_open (), mmap (), shm_unlink ()
L'interface Message Queue appelle msgget (), msgsnd (), msgrcv (), msgctl () Appels de l'interface Message Queue mq_open (), mq_send (), mq_receive (), mq_unlink ()
Interface de sémaphore Appelle semget (), semop (), semctl () Sémaphore Interface Appels Sémaphores nommés sem_open (), sem_close (), sem_unlink (), sem_post (), sem_wait (), sem_trywait (), sem_timedwait (), sem_getvalue () Sémaphores sans nom ou basés sur la mémoire sem_init (), sem_post (), sem_wait (), sem_getvalue (), sem_destroy ()
Utilise des clés et des identifiants pour identifier les objets IPC. Utilise des noms et des descripteurs de fichiers pour identifier les objets IPC
N / A Les files d'attente de messages POSIX peuvent être surveillées à l'aide des API select (), poll () et epoll
Offre un appel à msgctl () Fournit des fonctions (mq_getattr () et mq_setattr ()) pour accéder ou définir les attributs 11. IPC - System V & POSIX
N / A Sûr multi-thread. Couvre les fonctions de synchronisation des threads telles que les verrous mutex, les variables conditionnelles, les verrous en lecture-écriture, etc.
N / A Offre quelques fonctionnalités de notification pour les files d'attente de messages (comme mq_notify ())
Nécessite des appels système tels que shmctl (), des commandes (ipcs, ipcrm) pour effectuer des opérations d'état / de contrôle. Les objets de mémoire partagée peuvent être examinés et manipulés à l'aide d'appels système tels que fstat (), fchmod ()
La taille d'un segment de mémoire partagée System V est fixée au moment de la création (via shmget ()) Nous pouvons utiliser ftruncate () pour ajuster la taille de l'objet sous-jacent, puis recréer le mappage en utilisant munmap () et mmap () (ou le mremap () spécifique à Linux)