Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Core Ultra : le correctif devrait donner aux processeurs Intel Arrow Lake des pe...
[Actualités]
Avec sa croissance rapide, Bluesky se retrouve dans le viseur de l'UE
[Actualités]
Word et Excel collectent-ils des données pour la formation de l'IA ?
[Actualités]
L’iPhone 17 Air sera le plus fin jamais conçu et nombreux seront certainement...
[Actualités]
Test Farmagia (PS5) - Incarnez Ten et ses amis Farmagia designés par Hiro Mashima
[Actualités]
Zoom ne veut plus entendre parler de vidéos
[Actualités]
L'application Google place désormais des liens vers elle-même sur les sites We...
[Actualités]
Le partage de position en temps réel arrive sur les DM Instagram, mais pas pour...
[Actualités]
Intel et Tencent s'associent pour « Sunday Dragon One 3D », un PC portable 3D ...
[Actualités]
Le lancement de la Nintendo Switch 2 serait prévu pour mars 2025
[Articles]
Nouvelle version de Red Hat Device Edge : amélioration de la faible latence et ...
[Articles]
ESET Research a découvert des vulnérabilités zero-day et zero-click dans Mozi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] ipc - Mécanisme Système V de communication entre processus. [size=18] [b]Résumé[/b] [/size] .nf .B # include
.B # include
.B # include
.B # include
.B # include
[size=18] [b]Description[/b] [/size] Cette page de manuel documente l'implémentation sous Linux des mécanismes Système V de communication entre processus : les files de messages, les ensembles de sémaphores, et les segments de mémoire partagée. Par la suite, le mot [b]ressource[/b] se rapportera à l'un de ces mécanismes. [b]Autorisations daccès aux ressources.[/b] Pour chaque ressource, le système utilise une structure commune, de type [b]struct ipc_perm ,[/b] pour enregistrer les informations permettant de déterminer les autorisations concernant les opérations ipc. la structure [b]ipc_perm[/b] définie dans le fichier [i]
[/i] inclut les membres suivants : .nf ushort cuid; /* UID du créateur */ ushort cgid; /* GID du créateur */ ushort uid; /* UID du propriétaire */ ushort gid; /* GID du propriétaire */ ushort mode; /* Autorisations r/w */ .fi Le membre [b]mode[/b] de la structure [b]ipc_perm[/b] définit, sur ses 9 bits de poids faibles, les permissions d'accès à la ressource, pour un processus effectuant un appel système ipc. Les permissions sont interprétées ainsi (nombres en octal) : .nf 0400 Lecture par le propriétaire. 0200 Écriture par le propriétaire. .5 0040 Lecture par le groupe. 0020 Écriture par le groupe. .5 0004 Lecture par les autres. 0002 Écriture par les autres. .fi Les bits 0100, 0010 et 0001 (bits exécution) ne sont pas utilisés par ces appels systèmes. De plus, "écriture" a la signification "modification" pour un ensemble de sémaphores. Le même fichier d'en-tête définit également les constantes symboliques suivantes : [b]IPC_CREAT[/b] [table][row][col] [/col][col]Créer une entrée si la clé n'existe pas.[/col][/row][/table] [b]IPC_EXCL[/b] [table][row][col] [/col][col]Échouer si la clé existe.[/col][/row][/table] [b]IPC_NOWAIT[/b] [table][row][col] [/col][col]Retourner une erreur éventuellement, mais ne pas attendre.[/col][/row][/table] [b]IPC_PRIVATE[/b] [table][row][col] [/col][col]Clé privée.[/col][/row][/table] [b]IPC_RMID[/b] [table][row][col] [/col][col]Supprimer la ressource.[/col][/row][/table] [b]IPC_SET[/b] [table][row][col] [/col][col]Positionner une option concernant la ressource.[/col][/row][/table] [b]IPC_STAT[/b] [table][row][col] [/col][col]Obtenir les options concernant la ressource.[/col][/row][/table] Notez que [b]IPC_PRIVATE[/b] est du type [b]key_t[/b] alors que les autres constantes symboliques sont des options que l'on regroupe avec un OU binaire (|) dans une variable de type [b]int .[/b] [b]Files de messages.[/b] Une file de message est définie par un entier positif unique [i](son msqid )[/i] et dispose d'une structure associée de type [b]struct msquid_ds ,[/b] définie dans [b]
,[/b] qui contient les membres suivants : .nf struct ipc_perm msg_perm; ushort msg_qnum; /* nb messages dans la file */ ushort msg_qbytes; /* octets maxi dans la file */ ushort msg_lspid; /* PID dernier appel msgsnd */ ushort msg_lrpid; /* PID dernier appel msgrcv */ time_t msg_stime; /* heure dernier appel msgsnd */ time_t msg_rtime; /* heure dernier appel msgrcv */ time_t msg_ctime; /* heure dernière modification */ .fi [b]msg_perm[/b] [table][row][col] [/col][col]est la structure [b]ipc_perm[/b] qui indique les permissions d'accès sur la file de messages.[/col][/row][/table] [b]msg_qnum[/b] [table][row][col] [/col][col]est le nombre de messages actuellement dans la file.[/col][/row][/table] [b]msg_qbytes[/b] [table][row][col] [/col][col]Nombre maximal d'octets pour le contenu d'un message de la file.[/col][/row][/table] [b]msg_lspid[/b] [table][row][col] [/col][col]PID du processus qui a effectué le dernier appel système [b]msgsnd .[/b][/col][/row][/table] [b]msg_lrpid[/b] [table][row][col] [/col][col]PID du processus qui a effectué le dernier appel système [b]msgrcv .[/b][/col][/row][/table] [b]msg_stime[/b] [table][row][col] [/col][col]heure du dernier appel système [b]msgsnd .[/b][/col][/row][/table] [b]msg_rtime[/b] [table][row][col] [/col][col]heure du dernier appel système [b] msgcv .[/b][/col][/row][/table] [b]msg_ctime[/b] [table][row][col] [/col][col]heure du dernier appel système qui a modifié un membre de la structure [b]msqid_ds .[/b][/col][/row][/table] [b]Jeux de sémaphores.[/b] Un ensemble de sémaphores est défini par un entier positif unique [i](son semid )[/i] et dispose d'une structure associée de type [b]struct semid_ds ,[/b] définie dans [b]
,[/b] qui contient les membres suivants : .nf struct ipc_perm sem_perm; time_t sem_otime; /* heure dernière opération */ time_t sem_ctime; /* heure dernière modification */ ushort sem_nsems; /* nb sémaphores dans le jeu */ .fi [b]sem_perm[/b] [table][row][col] [/col][col]est la structure [b]ipc_perm[/b] qui indique les permissions d'accès sur l'ensemble de sémaphores.[/col][/row][/table] [b]sem_otime[/b] [table][row][col] [/col][col]Heure du dernier appel système [b]semop .[/b][/col][/row][/table] [b]sem_ctime[/b] [table][row][col] [/col][col]Heure du dernier appel système [b]semctl ,[/b] qui a modifié un membre de la structure ci-dessus ou l'état d'un sémaphore de l'ensemble.[/col][/row][/table] [b]sem_nsems[/b] [table][row][col] [/col][col]Nombre de sémaphores dans l'ensemble. Chaque sémaphore est référencé par un nombre positif ou nul dans l'intervalle [b]0[/b] a [b]sem_nsems-1 .[/b][/col][/row][/table] Un sémaphore est une structure [b]struct sem[/b] contenant les membres suivants : .nf ushort semval; /* Valeur du sémaphore */ ushort sempid; /* PID dernière opération */ ushort semncnt; /* Nb proc. en attente incrément semval */ ushort semzcnt; /* Nb proc. en attente de semval = 0 */ .fi [b]semval[/b] [table][row][col] [/col][col]Valeur du sémaphore : entier positif ou nul.[/col][/row][/table] [b]sempid[/b] [table][row][col] [/col][col]PID du dernier processus ayant effectué une opération sur le sémaphore.[/col][/row][/table] [b]semncnt[/b] [table][row][col] [/col][col]Nombre de processus bloqués en attente de l'incrémentation de [b]semval .[/b][/col][/row][/table] [b]semznt[/b] [table][row][col] [/col][col]Nombre de processus bloqués en attente de la nullité de [b]semval .[/b][/col][/row][/table] [b]Segments de mémoire partagée.[/b] Un segment de mémoire partagée est défini par un entier positif unique [i](son shmid )[/i] et dispose d'une structure associée de type [b]struct shmid_ds ,[/b] définie dans [b]
,[/b] qui contient les membres suivants : .nf struct ipc_perm shm_perm; int shm_segsz; /* taille segment */ ushort shm_cpid; /* PID créateur segment */ ushort shm_lpid; /* PID dernière opération */ short shm_nattch; /* Nombre d'attachements */ time_t shm_atime; /* Heure dernier attachement */ time_t shm_dtime; /* Heure dernier détachement */ time_t shm_ctime; /* Heure dernière modification */ .fi [b]shm_perm[/b] [table][row][col] [/col][col]est la structure [b]ipc_perm[/b] qui indique les permissions d'accès sur le segment de mémoire partagée.[/col][/row][/table] [b]shm_segsz[/b] [table][row][col] [/col][col]Taille en octets du segment.[/col][/row][/table] [b]shm_cpid[/b] [table][row][col] [/col][col]PID du processus ayant créé le segment.[/col][/row][/table] [b]shm_lpid[/b] [table][row][col] [/col][col]PID du processus ayant effectué le dernier appel système [b]shmat[/b] ou [b]shmdt .[/b][/col][/row][/table] [b]shm_nattch[/b] [table][row][col] [/col][col]Nombre d'attachements en cours pour ce segment.[/col][/row][/table] [b]shm_atime[/b] [table][row][col] [/col][col]Heure du dernier appel système [b]shmat .[/b][/col][/row][/table] [b]shm_dtime[/b] [table][row][col] [/col][col]Heure du dernier appel système [b]shmdt .[/b][/col][/row][/table] [b]shm_ctime[/b] [table][row][col] [/col][col]Heure du dernier appel système [b]shmctl[/b] qui a modifié la structure [b]shmid_ds .[/b][/col][/row][/table] [size=18] [b]Voir aussi[/b] [/size] [b]ftok (3),[/b] [b]msgctl (2),[/b] [b]msgget (2),[/b] [b]msgrcv (2),[/b] [b]msgsnd (2),[/b] [b]semctl (2),[/b] [b]semget (2),[/b] [b]semop (2),[/b] [b]shmat (2),[/b] [b]shmctl (2),[/b] [b]shmget (2),[/b] [b]shmdt (2).[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1996-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Intel
Core Ultra : le correctif devrait donner aux processeurs Intel Arrow Lake des performances en hausse de 13 %
Social
Avec sa croissance rapide, Bluesky se retrouve dans le viseur de l'UE
Microsoft
Word et Excel collectent-ils des données pour la formation de l'IA ?
Apple
L’iPhone 17 Air sera le plus fin jamais conçu et nombreux seront certainement ceux qui l’imiteront
Jeux Vidéos
Test Farmagia (PS5) - Incarnez Ten et ses amis Farmagia designés par Hiro Mashima
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?