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) |