Micro Systèmes n°32 juin 1983
Micro Systèmes n°32 juin 1983
  • Prix facial : 20 F

  • Parution : n°32 de juin 1983

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (203 x 271) mm

  • Nombre de pages : 230

  • Taille du fichier PDF : 178 Mo

  • Dans ce numéro : intelligence artificielle, robots et systèmes experts.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 134 - 135  |  Aller à la page   OK
Pages suivantes >
134 135
Interruption et gestion judicieuse des entrées/sorties simultanées sont à la base des systèmes d'exploitation multiutilisateur. Dossier Sur un micro-ordinateur, dans lequel ne s'exécute qu'un seul programme et qui ne fait qu'une seule chose à la fois, les opérations d'entrée/sortie peuvent être gérées à l'aide d'une technique de scrutation, comme le montre la figure 1  : le programme ne peut continuer à s'exécuter qu'après un laps de temps lié au déroulement d'une opération d'entrée/sortie. Ce procédé est purement et simplement intolérable sur une machine multi-utilisateur  : c'est précisément ce temps d'attente qui doit être récupéré, au profit d'autres processus. Historiquement, cette constatation a été à l'origine du développement des interruptions  : il s'agit en fait de confier au processeur (matériel) la scrutation des signaux de cette nature, de telle sorte qu'un processus (logiciel) puisse s'exécuter en même temps que les opérations d'entrée/sortie « extérieures ». De plus, la fin d'une opération d'entrée/sortie peut être considérée comme une ressource et se voir, par conséquent, gérée à l'aide de sémaphores. Lorsqu'un signal apparaît, une interruption est générée  : pour le logiciel, cela signifie qu'un processus associé est exécuté (souvent, une sorte de sousprogramme, appelé automatiquement par ce signal) qui, le cas échéant, « libère » (V) le sémaphore correspondant. Interruptions et gestion « judicieuse » des entrées/sorties simultanées sont à la base de tous les systèmes d'exploitation multi-utilisateurs. Test d'un signal de fin d'opération Suite du programme Fig. L - L'attente de d'une opération d'entrées/sorties peut être effectuée, lorsqu'il s'agit d'un ordinateur personnel, par une simple boucle de scrutation. Mais cette technique se révèle impossible sur des systèmes multi-utilisateurs riels indispensables à un système d'exploitation  : • Interruptions  : le processeur doit assurer un service minimum  : sauvegarde du compteur ordinal (*), et identification de la nature de l'interruption ; de plus, il est souhaitable qu'il puisse effectuer d'autres sauvegardes automatiques, identifier la source de l'interruption, etc.• Protection mémoire  : si un utilisateur peut aller écrire dans la mémoire allouée à un autre (et pourquoi pas, détruire son programme), l'exploitation est virtuellement impossible. Il faut des « garde-fous »  : les microprocesseurs 8 bits classiques sont dépourvus de tout dispositif en ce sens ; la plupart des « 16 bits » permettent, en version standard, cette protection.• Horloge « temps réel »  : ses impulsions périodiques interrompent périodiquement le proces- seur afin que le système d'exploitation reprenne la main et soit à même de gérer la succession des processus. En outre, ce procédé empêche un processus de « boucler » indéfiniment et de bloquer tous les autres. Des instructions privilégiées Tout le principe du jeu repose sur des privilèges exclusifs du système d'exploitation qui dispose, lui seul, des dispositifs « vitaux »  : interruptions, horloge temps-réel et protection-mémoire. Car les processus « utilisateurs » sont a priori suspects... ce qui est tout à fait normal, notamment quand il s'agit de programmes en cours de mise au point. En pratique, le répertoire d'instructions se divise en deux classes  : • les instructions banales, accessibles à tous les processus  : en clair, celles dont l'exécution ne peut mettre en péril les autres processus ; • les instructions privilégiées, c'est-à-dire celles qui sont réservées au système d'exploitation  : précisément, pour la mise en place des protections mutuelles, le partage des ressources, etc. Parmi les instructions typiquement privilégiées, certaines activent ou désarment les interruptions, d'autres initialisent des entrées/sorties « physiques », affectent les registres de protection-mémoire ou agissent sur l'horloge... Selon une tradition qui remonte aux premiers systèmes * Le compteur ordinal est un registre de l'unité centrale ; il contient l'adresse de la prochaine instruction à exécuter. La structure de base La figure 2 présente un modèle intuitif, et assez sommaire, de la structure d'un système d'exploitation multi-utilisateur. Il va de soi que la réalité est beaucoup plus complexe ; cependant, ce schéma est suffisant pour indiquer les moyens maté- UTILISATEUR 1 UTILISATEUR 2 UTILISATEUR Ni.> O.S. 4> 4> 4> 4> MATERIEL Demandes de services•tie Interruption ig. 2. L Il'MUGl'OC LI cApi,, Gdiiliil uni-utilisateur. Celui-ci se trouve pris en sandwich » entre les demandes du logiciel et les interruptions matérielles. 134 — MICRO-SYSTEMES Juin 1983
Les systèmes d'exploitation Dossier d'exploitation dignes de ce nom, on appelle superviseur cette partie qui est en mémoire de manière permanente (résidente). Selon les systèmes d'exploitation, ce superviseur est plus ou moins copieux ; il comporte au moins cette pièce essentielle qui se nomme le noyau. Les instructions privilégiées sont réservées au superviseur, grâce à un dispositif matériel, généralement une bascule bistable qui, à tout instant, détermine si le processeur est en mode superviseur, où toutes les instructions sont légales, ou bien en mode utilisateur où toutes les instructions privilégiées sont interdites. Si le processeur « rencontre » une instruction privilégiée alors qu'il est en mode utilisateur, il effectue un « déroutement » ; ce qui revient à une interruption caractéristique d'une erreur dans le processus en cours. Dans son principe, le processeur fonctionne comme l'indique la figure 3. En règle générale, le système d'exploitation « punit » l'utilisateur fautif  : message d'erreur, image imprimée de sa mémoire propre (dump), libération arbitraire des ressources allouées, etc. En résumé, toutes les interruptions forcent l'exécution en mode superviseur. Celui-ci donne le contrôle aux processus utilisateurs grâce à une instruction privilégiée, analogue à un saut, qui limite convenablement le répertoire des instructions légales. Pour que les processus utilisateurs aient un moyen de solliciter tel ou tel service du système d'exploitation, il existe, en contrepartie, des instructions d'appel au superviseur, semblables à des appels de sous-programme, qui commutent le processeur en mode superviseur. Le mécanisme est tout à fait semblable à celui d'une interruption ; en fait, on parle en ce cas d'une interruption interne  : c'est la seule opération permettant à Lire la prochaine instruction OUI Mode superviseur ? NON OUI Code opération NON privilégié Forcer l'adresse de l'interruption AD HOC I Exécuter l'instruction Fig. 3. — Le superviseur dispose d'instructions privilégiées inaccessibles à l'utilisateur. Lorsque ce dernier emploie l'une d'entre elles, il produit un déroutement qui ramène le système en mode superviseur. un processus utilisateur de communiquer avec le système d'exploitation (fig. 4). Le noyau Le noyau du système d'exploitation, composé de l'ensemble des routines « super-critiques » qui prennent en charge les interruptions et assurent les synchronisations essentielles (spécialement, les fameuses opérations P et V), constitue ainsi la structure d'accueil la plus élémentaire, sur laquelle vont se greffer les autres composants du système d'exploitation. EXTERNE (E/S) Ce noyau, intimement lié aux réalités du matériel, est très fréquemment sollicité. Il doit par conséquent être optimisé afin d'assurer les meilleurs « temps de réponse » possibles. Il est normal, lors de son écriture, de rechercher la programmation la plus dense et la plus « astucieuse » possible  : une approche plutôt déconseillée dans presque tous les autres cas. Le langage de prédilection est, bien sûr, l'assembleur. Sollicité dans un ordre complètement imprévisible par des événements extérieurs (fins d'entrée/sortie pour l'essentiel) et les INTERRUPTION ERREUR (protection - mémoire, instruction défendue...) INTERNE APPEL SUPERVISEUR (Toutes les instructions (Les instructions privilégiées sont exécutables) sont illégales) J commutation des modes entre supervisev - Juin 1983 MICRO-SYSTEMES — 135



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 32 juin 1983 Page 1Micro Systèmes numéro 32 juin 1983 Page 2-3Micro Systèmes numéro 32 juin 1983 Page 4-5Micro Systèmes numéro 32 juin 1983 Page 6-7Micro Systèmes numéro 32 juin 1983 Page 8-9Micro Systèmes numéro 32 juin 1983 Page 10-11Micro Systèmes numéro 32 juin 1983 Page 12-13Micro Systèmes numéro 32 juin 1983 Page 14-15Micro Systèmes numéro 32 juin 1983 Page 16-17Micro Systèmes numéro 32 juin 1983 Page 18-19Micro Systèmes numéro 32 juin 1983 Page 20-21Micro Systèmes numéro 32 juin 1983 Page 22-23Micro Systèmes numéro 32 juin 1983 Page 24-25Micro Systèmes numéro 32 juin 1983 Page 26-27Micro Systèmes numéro 32 juin 1983 Page 28-29Micro Systèmes numéro 32 juin 1983 Page 30-31Micro Systèmes numéro 32 juin 1983 Page 32-33Micro Systèmes numéro 32 juin 1983 Page 34-35Micro Systèmes numéro 32 juin 1983 Page 36-37Micro Systèmes numéro 32 juin 1983 Page 38-39Micro Systèmes numéro 32 juin 1983 Page 40-41Micro Systèmes numéro 32 juin 1983 Page 42-43Micro Systèmes numéro 32 juin 1983 Page 44-45Micro Systèmes numéro 32 juin 1983 Page 46-47Micro Systèmes numéro 32 juin 1983 Page 48-49Micro Systèmes numéro 32 juin 1983 Page 50-51Micro Systèmes numéro 32 juin 1983 Page 52-53Micro Systèmes numéro 32 juin 1983 Page 54-55Micro Systèmes numéro 32 juin 1983 Page 56-57Micro Systèmes numéro 32 juin 1983 Page 58-59Micro Systèmes numéro 32 juin 1983 Page 60-61Micro Systèmes numéro 32 juin 1983 Page 62-63Micro Systèmes numéro 32 juin 1983 Page 64-65Micro Systèmes numéro 32 juin 1983 Page 66-67Micro Systèmes numéro 32 juin 1983 Page 68-69Micro Systèmes numéro 32 juin 1983 Page 70-71Micro Systèmes numéro 32 juin 1983 Page 72-73Micro Systèmes numéro 32 juin 1983 Page 74-75Micro Systèmes numéro 32 juin 1983 Page 76-77Micro Systèmes numéro 32 juin 1983 Page 78-79Micro Systèmes numéro 32 juin 1983 Page 80-81Micro Systèmes numéro 32 juin 1983 Page 82-83Micro Systèmes numéro 32 juin 1983 Page 84-85Micro Systèmes numéro 32 juin 1983 Page 86-87Micro Systèmes numéro 32 juin 1983 Page 88-89Micro Systèmes numéro 32 juin 1983 Page 90-91Micro Systèmes numéro 32 juin 1983 Page 92-93Micro Systèmes numéro 32 juin 1983 Page 94-95Micro Systèmes numéro 32 juin 1983 Page 96-97Micro Systèmes numéro 32 juin 1983 Page 98-99Micro Systèmes numéro 32 juin 1983 Page 100-101Micro Systèmes numéro 32 juin 1983 Page 102-103Micro Systèmes numéro 32 juin 1983 Page 104-105Micro Systèmes numéro 32 juin 1983 Page 106-107Micro Systèmes numéro 32 juin 1983 Page 108-109Micro Systèmes numéro 32 juin 1983 Page 110-111Micro Systèmes numéro 32 juin 1983 Page 112-113Micro Systèmes numéro 32 juin 1983 Page 114-115Micro Systèmes numéro 32 juin 1983 Page 116-117Micro Systèmes numéro 32 juin 1983 Page 118-119Micro Systèmes numéro 32 juin 1983 Page 120-121Micro Systèmes numéro 32 juin 1983 Page 122-123Micro Systèmes numéro 32 juin 1983 Page 124-125Micro Systèmes numéro 32 juin 1983 Page 126-127Micro Systèmes numéro 32 juin 1983 Page 128-129Micro Systèmes numéro 32 juin 1983 Page 130-131Micro Systèmes numéro 32 juin 1983 Page 132-133Micro Systèmes numéro 32 juin 1983 Page 134-135Micro Systèmes numéro 32 juin 1983 Page 136-137Micro Systèmes numéro 32 juin 1983 Page 138-139Micro Systèmes numéro 32 juin 1983 Page 140-141Micro Systèmes numéro 32 juin 1983 Page 142-143Micro Systèmes numéro 32 juin 1983 Page 144-145Micro Systèmes numéro 32 juin 1983 Page 146-147Micro Systèmes numéro 32 juin 1983 Page 148-149Micro Systèmes numéro 32 juin 1983 Page 150-151Micro Systèmes numéro 32 juin 1983 Page 152-153Micro Systèmes numéro 32 juin 1983 Page 154-155Micro Systèmes numéro 32 juin 1983 Page 156-157Micro Systèmes numéro 32 juin 1983 Page 158-159Micro Systèmes numéro 32 juin 1983 Page 160-161Micro Systèmes numéro 32 juin 1983 Page 162-163Micro Systèmes numéro 32 juin 1983 Page 164-165Micro Systèmes numéro 32 juin 1983 Page 166-167Micro Systèmes numéro 32 juin 1983 Page 168-169Micro Systèmes numéro 32 juin 1983 Page 170-171Micro Systèmes numéro 32 juin 1983 Page 172-173Micro Systèmes numéro 32 juin 1983 Page 174-175Micro Systèmes numéro 32 juin 1983 Page 176-177Micro Systèmes numéro 32 juin 1983 Page 178-179Micro Systèmes numéro 32 juin 1983 Page 180-181Micro Systèmes numéro 32 juin 1983 Page 182-183Micro Systèmes numéro 32 juin 1983 Page 184-185Micro Systèmes numéro 32 juin 1983 Page 186-187Micro Systèmes numéro 32 juin 1983 Page 188-189Micro Systèmes numéro 32 juin 1983 Page 190-191Micro Systèmes numéro 32 juin 1983 Page 192-193Micro Systèmes numéro 32 juin 1983 Page 194-195Micro Systèmes numéro 32 juin 1983 Page 196-197Micro Systèmes numéro 32 juin 1983 Page 198-199Micro Systèmes numéro 32 juin 1983 Page 200-201Micro Systèmes numéro 32 juin 1983 Page 202-203Micro Systèmes numéro 32 juin 1983 Page 204-205Micro Systèmes numéro 32 juin 1983 Page 206-207Micro Systèmes numéro 32 juin 1983 Page 208-209Micro Systèmes numéro 32 juin 1983 Page 210-211Micro Systèmes numéro 32 juin 1983 Page 212-213Micro Systèmes numéro 32 juin 1983 Page 214-215Micro Systèmes numéro 32 juin 1983 Page 216-217Micro Systèmes numéro 32 juin 1983 Page 218-219Micro Systèmes numéro 32 juin 1983 Page 220-221Micro Systèmes numéro 32 juin 1983 Page 222-223Micro Systèmes numéro 32 juin 1983 Page 224-225Micro Systèmes numéro 32 juin 1983 Page 226-227Micro Systèmes numéro 32 juin 1983 Page 228-229Micro Systèmes numéro 32 juin 1983 Page 230