From 13faa00f902d5ebb06db065384ddba014ae10cc9 Mon Sep 17 00:00:00 2001 From: yorick Barbanneau Date: Wed, 21 Nov 2018 17:58:59 +0100 Subject: [PATCH] Add IPC --- .../8_IPC/files/.~lock.presentation.pdf# | 1 + content/progsys/8_IPC/files/presentation.pdf | Bin 0 -> 203026 bytes content/progsys/8_IPC/images/schena_shm.svg | 268 +++++++++ content/progsys/8_IPC/index.md | 537 ++++++++++++++++++ 4 files changed, 806 insertions(+) create mode 100644 content/progsys/8_IPC/files/.~lock.presentation.pdf# create mode 100644 content/progsys/8_IPC/files/presentation.pdf create mode 100644 content/progsys/8_IPC/images/schena_shm.svg create mode 100644 content/progsys/8_IPC/index.md diff --git a/content/progsys/8_IPC/files/.~lock.presentation.pdf# b/content/progsys/8_IPC/files/.~lock.presentation.pdf# new file mode 100644 index 0000000..b18a814 --- /dev/null +++ b/content/progsys/8_IPC/files/.~lock.presentation.pdf# @@ -0,0 +1 @@ +,ephase,archbook,21.11.2018 13:06,file:///home/ephase/.config/libreoffice/4; \ No newline at end of file diff --git a/content/progsys/8_IPC/files/presentation.pdf b/content/progsys/8_IPC/files/presentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8f4f1e69a9c46182910afe66bb726fb898222a99 GIT binary patch literal 203026 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 literal 0 HcmV?d00001 diff --git a/content/progsys/8_IPC/images/schena_shm.svg b/content/progsys/8_IPC/images/schena_shm.svg new file mode 100644 index 0000000..7cf4363 --- /dev/null +++ b/content/progsys/8_IPC/images/schena_shm.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/progsys/8_IPC/index.md b/content/progsys/8_IPC/index.md new file mode 100644 index 0000000..baf4c3e --- /dev/null +++ b/content/progsys/8_IPC/index.md @@ -0,0 +1,537 @@ +--- +title: " Les communications inter processus" +date: 2018-10-23 +categories: ["Programmation système", "cours"] +tags: ["C", "mutex", "sémaphore", "threads"] +--- + +Les communications inter processus, ou *IPC* (pour Inter Process Communication) +comprennent un ensemble de mécanismes permettant à des processus concurrents de +Communiquer. + +Il existe trois mécanisme : + + - les **files de messages** (message queue) + - **la mémoire partagée** + - **les sémaphores** + +Et deux API différentes + + - **System V IPC** datant de 1983. C'est l'API historique, plus compliquer à + utiliser, elle ne se base pas sur les descripteurs de fichiers. + - **IPC POSIX** datant de 2004 et également normée dans *SUSv4*. C'est une API + moderne et disponible dans le noyau Linux à partis de la version 2.6.10 + +## Les files de messages + +C'est un mécanisme utilisé pour envoyer / recevoir des données entre processus +suivant un mécanisme d'expéditeur / destinataire. Les communication sont +asynchrones : l'expéditeur n'est pas contraint d'attendre la réception du +message par le destinataire pour continuer son exécution. + +Les informations envoyées à une file de message ne sont pas destinée à un +processus en particulier. + +C'est un mécanisme proche des tubes, seulement les données ne sont pas lues +comme un flux d'octets. + +## Exemple de code + +### Ouvrir une file de message + +```c +mqd_t mq_open(const char *name, int flags); +mqd_t mq_open(const char *name, int flags, mode_t mode, struct mq_attr *attr); +``` + +En cas d'échec, retourne -1 avec `errno` positionné, sinon un descripteur de +file de message + + - `name` : nom de la file de message, il doit commencé par le caractère `/` et + ne pas en contenir d'autres. + - `flag` et `mode` : ce sont exactement les mêmes choses que pour `open()` + - `attr` : attributs de la file de messages comme le nombre maximal de messages + à stocker, la taille maximale d'un message ... + +### Envoyer un message + +```c +int mq_send(mqd_t mqdes, const char *buffer, size_t len, unsigned int prio); +int mq_timedsend(mqd_t mqdes, const char *buffer, + size_t len, unsigned int prio, + const struct timespec *abs_timeout); +``` + +Renvoie 0 en cas de succès, sinon -1 et `errno` est positionné. Si la file de +messages et pleine, ces deux appels sont bloquant jusqu'à libération d'une +place.`mq_timedsend()` échouera si le message n'as pu être mis dans la file +après le temps donné par `*abs_timeout` + +Les messages seront dépilés dans l'ordre décroissant de priorité (0 en dernier) + +### Lire un message + +```c +ssize_t mq_receive(mqd_t mqdes, char *buffer, size_t len, unsigned int *prio); +ssize_t mq_timedreceive(mqd_t mqdes, char *buffer, + size_t len, unsigned int *prio, + const struct timespec *abs_timeout); +``` + +Renvoie le nombre d'octets du message reçu ou 0 (et `errno` positionné) en cas +d'échec. + +Le `buffer` doit être assez grand pour contenir le plus grand message que la +file pourrait envoyé. La dimension des messages peut être obtenu avec +`mq_getattr()` et modifiée avec `mq_setattr()`. + +Tout comme la version temporisée de `mq_send()`, `mqtimedreceive()` échouera si +le message n'est pas lu avant un temps donné par `*abs_timeout`. + +### Fermeture / suppression d'une liste + +```c +// fermeture d'une file +int mq_close(mqd_t mqdes); + +// suppression d'une liste +int mq_unlink(mqd_t mqdes); +``` + +Ces deux fonctions retourne 0 en cas de succès, -1 et positionne `errno` en cas +d'échec. + +Une file est persistante et reste disponible pour les autres processus après +fermeture. + +Tout comme `unlink()` pour les fichiers, la suppression d'une file de message +sera effective seulement lorsque plus aucun processus ne l'utilisera. + +### Envoi d'un message, exemple complet + +```c +#include +#include +#include +#include +#include +int main (int argc, char **argv) { + mqd_t mq; + int priority; + if (argc != 4) { + fprintf(stderr, "Usage: %s queue priority message\n", argv[0]); + exit(EXIT_FAILURE); + } + if (sscanf(argv[2], "%d", &priority) != 1) { + fprintf(stderr, "Invalid priority: %s\n", argv[2]); + exit(EXIT_FAILURE); + } + if ((mq = mq_open(argv[1], O_WRONLY | O_CREAT, 0644, NULL)) == (mqd_t) -1) { + perror("Opening message queue failed"); + exit(EXIT_FAILURE); + } + if (mq_send(mq, argv[3], strlen(argv[3]), priority) == -1) { + perror("Unable to send message to queue"); + exit(EXIT_FAILURE); + } + if (mq_close(mq) == -1) { + perror("Unable to close queue"); + exit(EXIT_FAILURE); + } + return EXIT_SUCCESS; +} +``` + +### exemple de lecture + +```c +#include +#include +#include +#include +#include +int main (int argc, char * argv[]) { + int n; + mqd_t mq; + struct mq_attr attr; + char * buffer = NULL; + unsigned int priority; + if (argc != 2) { + fprintf(stderr, "Usage: %s queue\n", argv[0]); + exit(EXIT_FAILURE); + } + if ((mq = mq_open(argv[1], O_RDONLY)) == (mqd_t) -1) { + perror("Opening message queue failed"); + exit(EXIT_FAILURE); + } + if (mq_getattr(mq, &attr) != 0) { + perror("Unable to get message queue attributes"); + exit(EXIT_FAILURE); + } + if ((buffer = (char *) malloc(attr.mq_msgsize)) == NULL) { + perror("Unable to allocate memory"); + exit(EXIT_FAILURE); + } + if ((n = mq_receive(mq, buffer, attr.mq_msgsize, &priority)) < 0) { + perror("Unable to receive message from queue"); + exit(EXIT_FAILURE); + } + if (mq_close(mq) == -1) { + perror("Unable to close queue"); + exit(EXIT_FAILURE); + } + fprintf(stdout, "[%d] %s\n", priority, buffer); + free(buffer); + return EXIT_SUCCESS; +} +``` + +### Compilation et exécution + +Afin de compiler un programme C faisant appel à des files de messages, il est +important de rajouter le paramètre `-lrt`. + +```shell +$ gcc -Wall -lrt mq-send.c -o mq-send +$ ./mq-send /plop 10 "Msg 10" +$ ./mq-send /plop 20 "Msg 20" +$ ./mq-send /plop 80 "Msg 30" +$ gcc -Wall -lrt mq-recv.c -m mq-revc +$ ./mq-recv /plop +[30] Msg 30 +$ ./mq-recv /plop +[20] Msg 20 +$ ./mq-recv /plop +[10] Msg 10 +``` + +## Mémoire partagée + +Une zone de mémoire vive est accédée par plusieurs processus afin de partager +des données. Celà consiste à ouvrir un segment de mémoire avec `shm_open()` (1) +puis de le projeter dans l'espace mémoire d'un processus avec `mmap()` (2) + +Les zones de mémoire partagées sont stockées dans le répertoire `/dev/shm/` + +La mémoire partagée est plus rapide que les files de messages, elle est aussi +moins limitée (les files de messages nécessite deux appels systèmes distinct) + +![Schéma mémoire partagée](images/schena_shm.svg) + +### Projection de mémoire + +```c +#include +void *mmap(void *addr, size_t length, + int protect, int flags, int fd, off_t offset); +``` + +`mmap()` crée une projection de la mémoire partagés dans l'espace d'adressage +virtuel du processus appelant. L'adresse de démarrage de la nouvelle projection +est indiqué par `*addr`, `length` indiquant la taille de la zone mémoire +projetée. + +L'appel renvoi un pointeur sur la zone de mémoire et `MAP_FAILED` et positionne +`errno` en cas d'échec. + + - `protect` : défini le type d'accès autorisé : `PROT_EXEC`, `PROT_WRITE`, + `PROT_READ` ou `PROT_NONE` + - `flag` : Défini le type de partage par exemple `MAP_PRIVATE` (toute + modification dans cet espace ne sera pas visible par les autres + processus projetant la zone) ou `MAP_SHARED` (modifications visibles par + tous les autres processus). + - `fd` : descripteur de fichier. + - `offset` : décalage dans le fichier pointé par `fd`. + +### Exemple d'accès à un segment de mémoire partagée. + +```c +#include +#include +#include +#include +#include +#include + +int main (int argc, char **argv) { + int fd; + long int *counter; + if (argc != 2) { + fprintf(stderr, "Usage: %s segment\n", argv[0]); + exit(EXIT_FAILURE); + } + if ((fd = shm_open(argv[1], O_RDWR | O_CREAT, 0600)) == -1) { + perror("Opening shared memory segment failed"); + exit(EXIT_FAILURE); + } + if (ftruncate(fd, sizeof(long int)) != 0) { + perror("Unable to truncate shared memory segment"); + exit(EXIT_FAILURE); + } + counter = mmap(NULL, sizeof(long int), PROT_READ | PROT_WRITE, MAP_SHARED,fd, 0); + if (counter == MAP_FAILED) { + perror("Unable to map shared memory segment") + exit(EXIT_FAILURE); + } + for(long int i=0; i< 1000000000; 1++) { + (*counter)++; + } + fprintf(stdout, "counter=%ld\n", + return EXIT_SUCCESS; +} +``` + +#### Compilation et exécution + +```shell +$ gcc -Wall -lrt shm-inc.c -o shm-inc +$ ./shm-inc /foobar +counter=1000000000 +$ ./shm-inc /foobar +counter=2000000000 +$ ls -l /dev/shm +-rw------- 1 user group 8 Nov 15 00:00 foobar +$ cat /dev/shm/foobar +5w +$ hexdump /dev/shm/foobar +0000000 9400 7735 0000 0000 +0000008 +$ echo "7*16^7 + 7*16^6 + 3*16^5 + 5*16^4 + 9*16^3 + 4*16^2 + 0*16^1 + 0*16^0" | bc +2000000000 +``` + +Nous pouvons vérifié que la valeur donné par `counter` correspond bien à ce qui +se trouve dans notre segment de mémoire partagée contenu dans `/dev/shm/foobar`. + +#### Problème d'accès à une section critique + +Exécutons maintenant notre processus deux fois en même temps, une fois en avant +plan et une fois en arrière plan (en prenant soin de supprimer notre segment +partagé avant) + +```c +$ rm -f /dev/shm/foobar +$ ./shm-inc /foobar & ./shm-inc /foobar +counter=1004416125 +``` + +On voit bien que la valeur retournée n'est pas celle attendu, tout comme les +problèmes de variables partagées dans les processus légers. + +## Les sémaphores + +Il permettent de synchroniser les processus entre eux et un accès concurrent +aux ressources partagées. Il se présente sous la forme d'un entier strictement +positif. Seule deux opérations sont possibles sur les sémaphore : + + - **l'incrémentation** de sa valeur `V()` (du néerlandais Verghotenm - + incrémenter, référence à l'inventeur des sémaphores E. Djikstra) + - **la décrémentation** de sa valeur `P()` (proberen - tester). Si le sémaphore + est égal à 0, celui-ci est bloquant jusqu'à ce que sa valeur devienne + supérieure à 0. + +Dans la norme POSIX, les sémaphores peuvent être de deux types : **nommés** ou +**anonymes** + +### Sémaphore anonyme + +Comme son nom l'indique, un sémaphore anonyme n'as pas de nom. Il est aussi +appelés sémaphore en mémoire. Il peut etre partagé entre plusieurs thread d'un +même processus via des variables globales. Mais aussi par plusieurs processus +via un espace de mémoire partagée (via l'utilisation de segment de mémoire +partagée via `shm_open()` + +#### Création destruction + +```c +#include +int sem_init(sem_t *sem, int pshared, unsigned int shared); +``` + +Renvoie 0 en cas de succès, sinon -1 et positionne `errno` + + - `pshared` indique si le sémaphore sera partagé entre des *threads* (0) et + dans se cas sera situé dans une variable visible par tous ceux du processus + (variable globale ou allouée sur le tas) ou entre *processus* ( NON NULL) + et donc situé dans une zone de mémoire partagée. + - `value` spécifie la valeur initiale du processus. + +```c +#include +int sem_destroy(sem_t *sem); +``` + +Renvoie 0 en cas du succès, sinon -1 et `errno` est positionné. + +### Sémaphore nommé + +Il est identifié par un nom commençant par le caractère `/` suivi d'un ou +plusieurs caractères. Deux (ou plus) processus utilisent le même sémaphore nommé +en passant le même nom à `sem_open()` + + +```c +include +#include +#include + +sem_t *sem_open(const char *name, int flags); +sem_t *sem_open(const char *name, int flags, mode_t mode, unsigned int value); +``` + +Renvoie l'adresse su nouveau sémaphore en cas de succès, sinon `SEM_FAILED` et +positionne `errno`. + + - `name` défini le nom du sémaphore + - `mode` et `flags` correspondent aux mêmes paramètre que l'appel système + `open()` + - `value` défini la valeur initiale du sémaphore. + +```c +#include +int sem_close(sem_t *sem); +``` + +Renvoie 0 en cas de succès, sinon -1 et positionne `errno`. + +### Opération sur les sémaphores + +Les opération suivantes sont valables sur les deux types de sémaphores. + +#### Décrémenter le sémaphore + +```c +#include +int sem_wait(sem_t *sem); +``` + +Retourne 0 en vas de succès, sinon -1 avec `errno` positionné. Comme indiqué +plus haut, si le sémaphore est égal à 0, cet appel est bloquant en attendant +son incrémentation. + +#### Incrémenter le sémaphore + +```c +#include +int sem_post(sem_t *sem); +``` + +Retourne 0 en cas de succès, sinon -1 et positionne `errno`. + +### Sémaphore et mutex, quelle différences? + +Les mutex sont utilisé pour sérialiser l'accès à une section de code devant être +exécutées par plusieurs threads. Un mutex autorisera alors un seul thread à +accéder à la ressource, forçant les autres threads à attendre la libération de +celle-ci. + +Les sémaphores restreignent le nombre d'utilisation maximale d'une ressource +partagée. Les threads demandent alors l'accès à la ressource, décrémentant ainsi +le sémaphore puis signalent lorsqu'ils on finit, incrémentant ainsi le +sémaphore. + +### Exemple de code utilisant les sémaphores + +```c +#include +#include +#include +#include +#include +#include + +int main(int argc, char **argv) { + int i; + sem_t *sem; + if (argc != 2) { + fprintf(stderr, "Usage: %s sem_name\n", argv[0]); + exit(EXIT_FAILURE); + } + sem = sem_open(argv[1], O_RDWR | O_CREAT, 0666, 1); + if (sem == SEM_FAILED) { + perror("Unable to open semaphore"); + exit(EXIT_FAILURE); + } + fprintf(stdout, "[%d] Sempahore %s created\n", getpid(), argv[1]); + for (i = 0; i < 3; i ++) { + fprintf(stdout, "[%d] waiting...\n", getpid()); + sem_wait(sem); + fprintf(stdout, "\t[%d] semaphore locked\n", getpid()); + sleep(4); + fprintf(stdout, "\t[%d] semaphore released\n", getpid()); + sem_post(sem); + sleep(2); + } + return EXIT_SUCCESS; +} +``` + +#### Compilation et exécution + +Comme pour les files de message ou la mémoire partagée, il faut utiliser +l'argument `-lrt` du compilateur gcc. Il est aussi nécessaire d'utiliser +`-pthread`. + +```shell +$ gcc -pthread -lrt -Wall sem-lock.c -o sem-lock +$ ./sem-lock foobar & ./sem-lock foobar ./sem-lock foobar +$ ls -l /dev/shm +-rw-r--r-- 1 user group 32 Nov 15 00:00 sem.foobar +``` + +Comme pour la mémoire partagée, le sémaphore est créé dans le répertoire +`/dev/shm/`, mais son nom commence par `sem.`. Dans l'exemple, le nom ne +commence pas par un `/`, ce qui ne semble pas posé de problèmes à l'exécution +(est-ce une bonne pratique plutôt qu'un impératif?) + +#### Sortie de l'exécution + +```shell +[16597] Sempahore foobar created +[16597] waiting... +[16597] semaphore locked +[16599] Sempahore foobar created +[16599] waiting... +[16600] Sempahore foobar created +[16600] waiting... +[16597] semaphore released +[16599] semaphore locked +[16597] waiting... +[16599] semaphore released +[16600] semaphore locked +[16599] waiting... +[16600] semaphore released +[16597] semaphore locked +[16600] waiting... +[16597] semaphore released +[16599] semaphore locked +[16597] waiting... +[16599] semaphore released +[16600] semaphore locked +[16599] waiting... +[16600] semaphore released +[16597] semaphore locked +[16600] waiting... +[16597] semaphore released +[16599] semaphore locked +[16599] semaphore released +[16600] semaphore locked +[16600] semaphore released +``` + +## Bibliophraphie + + - [Page Wikipedia][l_w_mq] sur les file de messages + - [Page Wikipedia][l_w_shm] sur la mémoire partagée. + - [Les sémaphores][l_sem_ulouvain] Cours sur l'Université Catholique de Louvain + (Belgique) par O. Bonaventure, G. Detal, C. Paasch. + - [Page Wikipedia][l_w_sem] sur les sémaphores. + - [Page de manuel][l_u_sem] sur le site d'Ubuntu (et en français) sur + l'implémentation en C des sémaphores. + +[l_w_mq]:https://fr.wikipedia.org/wiki/File_d%27attente_de_message +[l_sem_ulouvain]:https://sites.uclouvain.be/SystInfo/notes/Theorie/html/Threads/coordination.html +[l_w_shm]:https://fr.wikipedia.org/wiki/M%C3%A9moire_partag%C3%A9e_(communication_inter-processus) +[l_w_sem]:https://fr.wikipedia.org/wiki/S%C3%A9maphore_(informatique) +[l_u_sem]:http://manpages.ubuntu.com/manpages/precise/fr/man7/sem_overview.7.html +