verrou

Une définition du Jargon Français.
Aller à : Navigation, rechercher

nom masculin.

1.  [algorithmie]. Élément (variable ou fonction) d'un programme facilitant le partage d'une ressource (un fichier, une variable, un périphérique ...).

Selon Tanenbaum « Le verrou permet de créer une exclusion mutuelle ».

Lorsque plusieurs entités (fonctions, utilisateurs...) peuvent simultanément accéder à quelque chose mieux vaut ne permettre qu'à un seul d'effectuer une série cohérente de modifications durant un laps de temps donné, donc interdire durant cette action à tous les autres d'écrire voire de lire (car les données en cours de modification sont temporairement incomplètes ou incohérentes, ou parce que le périphérique est incapable d'honorer plus d'une requête à la fois). Pour cela chaque programme concerné, avant d'effectuer quoi que ce soit, demande à une fonction centrale le droit de lire ou bien d'écrire. Ce verrou n'est concédé qu'au premier requérant et interdit l'accès aux autres tant qu'il n'a pas explicitement déverrouillé.

Dans la plupart des cas un verrou porte sur un sous-ensemble de données (une zone) et quelque chose, souvent le système d'exploitation, interdit à tout programme mal réalisé de tenter d'accéder à un élément verrouillé par un autre.

Dans un fichier (ou une table de base de données) un programme doit réclamer un verrou portant sur une zone donnée, attendre de l'obtenir, lire la version à jour des données et effectuer des modifications, puis déverrouiller. La pratique est plus difficile car pose divers problèmes. Le programme détenant le verrou n'est parfois pas capable de déverrouiller (par exemple parce qu'il planta ou que sa connexion réseau avec le serveur est tombée). On peut tenter de gérer cela grâce à un timeout, puis il faut prendre en considération le cas du client auquel un verrou concédé est ainsi retiré à son insu, et qui croit toujours le détenir donc tente de modifier les données. Adopter alors un keep-alive réduit les performances et augmente l'utilisation des ressources...

Le verrouillage est parfois rendu implicite. Dans le cas d'une imprimante partagée connectée à un réseau, par exemple, un spooler masque tout cela aux clients : le premier travail soumis obtient le verrou donc est immédiatement honoré tandis que les suivants sont placés dans une file d'attente.

Dans certains contextes le verbe « verrouiller » désigne toutes les actions correspondantes: déterminer s'il existe déjà et si ce n'est pas le cas le créer (en une action atomique), y placer des informations révélant qui a créé le verrou, le rafraîchir périodiquement si nécessaire afin d'exprimer « le créateur du verrou en a toujours besoin» en une sorte de watchdog (peut-être même en y laissant des informations quant à la date vraisemblable de déverrouillage), le détruire afin de déverrouiller (libérer la ressource)...

Direction.png Voir aussi : sémaphore, mutex

2.  [exécution]. Dans l'expression « verrou fatal », voir interblocage.


3.  [police]. Synonyme de protection.