Moniteur (informatique)

Moniteur (informatique)
Page d'aide sur l'homonymie Pour les articles homonymes, voir moniteur.

Un moniteur est une approche pour synchroniser deux ou plusieurs tâches qui utilisent des ressources partagées, habituellement des appareils séparés (imprimantes) ou des ensembles de variables.

Autrefois, les systèmes d'exploitation se réduisaient à un simple programme moniteur enchainant l'exécution des autres (par exemple le DOS de l'IBM 360 à la fin des années 1960). Ce sens est aujourd'hui inusité et n'a rien à voir avec le sens actuel (synchronisation).

Exclusion mutuelle

Un moniteur est constitué de :

  • un ensemble de procédures permettant l'interaction avec la ressource partagée
  • un verrou d'exclusion mutuelle
  • des variables associées à la ressource
  • un moniteur non variable qui définit les prétentions nécessaires à l'obtention des conditions.

Exemples d'utilisation des moniteurs en Java

Soit deux thread qui souhaitent communiquer entre eux. Le premier thread envoie des messages au deuxième thread par l'intermédiaire d'une file. Si la file est vide, alors le deuxième thread doit se mettre en attente d'un nouveau message. Une telle file peut être implémentée à l'aide du code suivant :

 import java.util.*;
 public class EchangeMessage {
    private ArrayList l = new ArrayList();
    public synchronized void enfiler(Object o) {
       l.add(o);
       if(l.size()==1) {
          try {
             this.notify();
          } catch (IllegalMonitorStateException e) {}
       }
    }
    public synchronized Object defiler() {
       if(l.size()==0) {
          try {
             this.wait();
          } catch (InterruptedException e){}
       }
       Object o = l.get(0);
       l.remove(0);
       return o;
    }
    public synchronized boolean vide() {
       return l.isEmpty();
    }
 }

Cette classe utilise trois méthodes.

  • La méthode enfiler ajoute une donnée dans la file et si la file était vide avant, alors elle libére une éventuelle tâche qui attendrait.
  • La méthode defiler lit une valeur depuis la file. Si aucune donnée n'est disponible, elle se met en attente.
  • La méthode vide permet de savoir si la file est vide.

Il est possible de faire les remarques suivantes concernant le fonctionnement de Java par rapport à cet exemple :

  • Les moniteurs en Java n'ont pas un fonctionnement FIFO. Cela signifie que ce n'est pas forcément la tâche qui attend depuis le plus longtemps qui sera réveillée en premier.
  • Les moniteurs doivent être utilisés dans des blocs synchronisés. Le verrou associé à la synchronisation est implicitement rendu lors de la mise en attente et est automatiquement récupéré lorsque la tâche est réveillée.

Voir aussi


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Moniteur (informatique) de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Moniteur informatique — Moniteur d ordinateur Pour les articles homonymes, voir moniteur. Un moniteur d ordinateur est un périphérique de sortie visuel d un ordinateur. C est l écran où s affichent les informations saisies ou demandées par l utilisateur et générées ou… …   Wikipédia en Français

  • Moniteur (vidéo) — Moniteur vidéo Pour les articles homonymes, voir moniteur. Le terme moniteur vidéo désigne un écran de visualisation dépourvu de circuits de réception de télévision (à la différence du téléviseur) et est notamment exploité par les professionnels… …   Wikipédia en Français

  • Moniteur video — Moniteur vidéo Pour les articles homonymes, voir moniteur. Le terme moniteur vidéo désigne un écran de visualisation dépourvu de circuits de réception de télévision (à la différence du téléviseur) et est notamment exploité par les professionnels… …   Wikipédia en Français

  • moniteur — ● n. m. ● 1. ►AFFICH Tube cathodique (analogue à un écran de TV) dédié à l affichage des sorties d un ordinateur. En fait, le moniteur n est pas forcément une TV, il n a en effet pas besoin d un tuner ni d une antenne. Mais la définition, la… …   Dictionnaire d'informatique francophone

  • Moniteur vidéo — Pour les articles homonymes, voir moniteur. Le terme moniteur vidéo désigne un écran de visualisation dépourvu de circuits de réception de télévision (à la différence du téléviseur) et est notamment exploité par les professionnels (studios,… …   Wikipédia en Français

  • Moniteur D'ordinateur — Pour les articles homonymes, voir moniteur. Un moniteur d ordinateur est un périphérique de sortie visuel d un ordinateur. C est l écran où s affichent les informations saisies ou demandées par l utilisateur et générées ou restituées par l… …   Wikipédia en Français

  • Moniteur d'ordinateur — Pour les articles homonymes, voir moniteur. Un moniteur d ordinateur est un périphérique de sortie visuel d un ordinateur. C est l écran où s affichent les informations saisies ou demandées par l utilisateur et générées ou restituées par l… …   Wikipédia en Français

  • moniteur — moniteur, trice [ mɔnitɶr, tris ] n. • XVe; lat. monitor I ♦ (Personnes) 1 ♦ Vx Personne qui donne des conseils, sert de guide. 2 ♦ (1864; d ab. milit.) Mod. Personne qui enseigne certains sports, certaines disciplines. ⇒ entraîneur, instructeur …   Encyclopédie Universelle

  • Moniteur Système — Un moniteur système est un logiciel qui permet de voir en temps réel l état d un système informatique. Ainsi peuvent être représentées des informations telles la charge du processeur, l utilisation du ou des disque durs, l occupation de ceux ci,… …   Wikipédia en Français

  • Moniteur systeme — Moniteur système Un moniteur système est un logiciel qui permet de voir en temps réel l état d un système informatique. Ainsi peuvent être représentées des informations telles la charge du processeur, l utilisation du ou des disque durs, l… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”