[Kos-dev] Sémaphore

David Decotigny david.decotigny at free.fr
Mon Feb 14 17:59:40 CET 2005


Bonjour,

Cyril Dupuit wrote:
> Lors de la destruction de ce processus, tous les sémaphores seront 
> détruits.

En general, dans un noyau un semaphore sert a /proteger/ une ressource 
globale a tout le systeme (fichier, interface serie, ...). Dans ce cas, 
un semaphore a donc une portée "systemwide" puisque la ressource est 
globale, il n'est pas lié à un processus particulier. Donc si on 
supprime le sémaphore quand le processus qui l'a créé se termine, ça 
revient à dire : "une fois le processus terminé, la ressource n'est plus 
protégée". Et ça, ça n'est valable que si la ressource en question est 
propre au processus qui l'a créée, c'est-à-dire si elle disparaît du 
système en même temps que le processus. Sinon c'est dangereux.

Bref, AMHA, cette technique se tient tout à fait pour les semaphores 
utilisateur (style IPC System V [semget() & cie]) mais est très 
dangereuse pour toutes les autres ressources globales au système.

Bonne journee,

-- 
David Decotigny -- http://david.decotigny.free.fr


More information about the Kos-dev mailing list