[Kos-dev] IPC sous Unix... et pour KOS

Thomas Petazzoni kos-dev@enix.org
Thu, 17 May 2001 11:49:31 +0200


salut,

j'ai une grande question concernant les IPCs sous Unix.

si on prend la fonction shmget (creer une region de memoire partagee),
puis la fonction shmat (pour attacher une region de memoire partagee a
l'espace d'adressage courant).

	int shmget(key_t key, int size, int shmflags);

on doit passer a cette fonction une cle, par exemple '1234'. cette
fonction va nous retourner un entier qui sera l'identifiant a utiliser
poru appeler shmat.

si un autre processus veut placer cette region de memoire partagee dans
son espace d'adressage, il devra faire un shmget sur la meme cle (ici
'1234') puis un shmat.

que se passe-t-il si deux programmes du systeme, creant des segments de
memoire partagee utilisent la meme cle ? etant donnee que la cle doit
etre fixe dans le programme pour qu'il y retrouve ses petits, comment ca
se passe si un programme X partage une region de cle 1234 entre tous ses
processus, puis un programme Y (qui n'a rien a voir avec le programme X)
a fixe la cle a 1234 ?

ca va refuser ?
ca va accepter et faire que les programmes X et Y vont partager des
trucs qu'ils ne devraient pas partager ?

voila c'etait la question du jour,

thomas 

PS : j'ai envoye plusieurs messages depuis quelques jours, et je n'ai
recu aucune reponse, tout le monde dort ? :))
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org
Page Perso : http://www.enix.org/~thomas/