Cnum - Conservatoire numérique des Arts et Métiers - retour page d'accueil
  • À propos
  • Catalogue général
Recherche avancée
  • Aide  
  • roue dentee  
  • Fils RSS des actualités de la bibliothèque numérique
  • Accueil
  •  > 
  • Catalogue général
  •  > 
  • Crocus (pseud. collectif) - Systèmes d'exploitation des ordinateurs
  •  > 
  • p.r7 - vue 7/384
Première page Page précédente
Page suivante Dernière page Réduire l’image 100% Agrandir l’image Revenir à la taille normale de l’image Adapte la taille de l’image à la fenêtre Rotation antihoraire 90° Rotation antihoraire 90° Imprimer la page
Basculer à gauche  Basculer à droite
Fermer
  • TABLE DES MATIÈRES
  • RECHERCHE DANS LE DOCUMENT
  • TEXTE OCÉRISÉ
  • Première image
  • PAGE DE TITRE
    • Avant-propos (p.r5)
    • Avant-propos de la seconde édition (p.r6)
    • Préambule (p.r7)
    • TABLE DES MATIERES (p.r9)
    • CHAPITRE 1. Introduction (p.1)
      • 1.1 Fonctions et aspects externes des systèmes (p.1)
      • 1.11 Fonctions d'un système (p.1)
      • 1.12 Aspects externes des systèmes (p.2)
      • 1.2 Caractéristiques communes (p.2)
      • 1.21 Partage des ressources physiques (p.3)
      • 1.22 Gestion de l'information (p.5)
      • 1.23 Coopération des processus (p.7)
      • 1.24 Protection (p.8)
      • 1.3 Problèmes de conception et d'évaluation (p.9)
      • 1.31 Mesures et modèles des systèmes (p.9)
      • 1.32 Méthodologie de conception (p.9)
      • 1.4 Organisation de l'ouvrage (p.10)
    • CHAPITRE 2. Les processus (p.11)
      • 2.1 Introduction (p.11)
      • 2.2 Définitions (p.12)
      • 2.21 Instructions. Processeur. Processus (p.12)
      • 2.22 Notion de ressource. Etats des processus (p.13)
      • 2.221 Ressources et états des processus (p.13)
      • 2.222 Accès aux ressources (p.14)
      • 2.223 Pouvoir d'un processus (p.15)
      • 2.224 Contenu du vecteur d'état (p.15)
      • 2.23 Relations entre processus (p.16)
      • 2.231 Création et destruction (p.16)
      • 2.232 Synchronisation et communication (p.16)
      • 2.24 Exemple de décomposition en processus (p.17)
      • 2.3 Exclusion mutuelle (p.18)
      • 2.31 Introduction au problème (p.18)
      • 2.32 Attente active (p.19)
      • 2.33 Les verrous (p.21)
      • 2.34 Les sémaphores (p.22)
      • 2.341 Définition (p.22)
      • 2.342 Propriétés des sémaphores (p.22)
      • 2.343 Sémaphores d'exclusion mutuelle (p.24)
      • 2.35 Difficultés de l'exclusion mutuelle (p.25)
      • 2.4 Mécanismes de synchronisation (p.26)
      • 2.41 Généralités (p.26)
      • 2.42 Mécanismes d'action directe (p.27)
      • 2.43 Mécanismes d'action indirecte (p.28)
      • 2.431 Synchronisation par événements (p.28)
      • 2.432 Synchronisation par sémaphores (p.30)
      • 2.44 Critique des mécanismes de synchronisation (p.35)
      • 2.5 Communication entre processus (p.36)
      • 2.51 Introduction (p.36)
      • 2.52 Communication entre processus par variables communes (p.36)
      • 2.521 Modèle du producteur et du consommateur (p.37)
      • 2.522 Communication par boîte aux lettres (p.42)
      • 2.53 Mécanismes spéciaux de communication (p.44)
      • 2.531 Sémaphores avec messages (p.44)
      • 2.532 Communication entre processus dans le système MU5 (p.45)
      • 2.6 Implantation des primitives de synchronisation (p.47)
      • 2.61 Exclusion mutuelle dans les primitives (p.47)
      • 2.62 Gestion des processus (p.48)
      • 2.63 Protection des primitives (p.49)
      • 2.64 Exemples (p.49)
      • 2.7 Problèmes de protection (p.55)
      • 2.71 Les problèmes (p.55)
      • 2.72 Quelques remèdes (p.56)
      • 2.8 Exemple de coopération de processus (p.58)
    • EXERCICES (p.58)
    • CHAPITRE 3. Gestion de l'information (p.67)
      • 3.1 Introduction (p.67)
      • 3.11 Terminologie (p.67)
      • 3.111 Représentation externe des objets (p.68)
      • 3.112 Représentation interne des objets (p.69)
      • 3.113 Objets composés (p.71)
      • 3.114 Durée de vie des objets (p.72)
      • 3.115 Notion de segment (p.73)
      • 3.116 Procédure (p.73)
      • 3.12 Contraintes apportées par le système (p.73)
      • 3.121 Partage des objets et utilisation des noms (p.74)
      • 3.122 Interférence avec la gestion des ressources physiques (p.74)
      • 3.123 Représentation du système (p.75)
      • 3.13 Modifications de la chaîne d'accès à un objet (p.75)
      • 3.131 Objets liés dès la compilation (p.76)
      • 3.132 Noms et objets libres après compilation (p.76)
      • 3.2 Gestion des noms dans le système CLICS (p.77)
      • 3.21 Introduction (p.77)
      • 3.22 La Mémoire segmentée (p.78)
      • 3.221 Désignation d'un segment par un processus (p.80)
      • 3.222 Descriptif des segments processus (p.81)
      • 3.23 Langage machine et objets manipulés (p.82)
      • 3.231 Format des instructions (p.82)
      • 3.232 Les différents objets manipulés par l'exécution d'une procédure (p.82)
      • 3.233 Multiplicité des objets (p.84)
      • 3.24 Accès aux objets (p.84)
      • 3.241 Accès aux étiquettes du segment-procédure (p.85)
      • 3.242 Accès aux objets rémanents (p.86)
      • 3.243 Accès aux objets externes (p.88)
      • 3.245 Accès aux paramètres (p.90)
      • 3.246 Illustrations des mécanismes d'accès (p.92)
      • 3.25 Appel et retour de procédure (p.92)
      • 3.251 Calcul de l'adresse segmentée des paramètres effectifs (p.94)
      • 3.252 Appel de procédure et changement de contexte (p.94)
      • 3.253 Retour à la procédure appelante (p.96)
      • 3.26 Liaisons dynamiques (p.97)
      • 3.261 Remplacement de l'identificateur par un nom de segment : édition de liens (p.98)
      • 3.262 Référence à un segment-procédure (p.99)
      • 3.263 Catalogue des segments connus et catalogue général (p.101)
      • 3.264 Gestion du descriptif (p.101)
      • 3.3 Gestion des noms dans le système BURROUGHS B 6700 (p.102)
      • 3.31 Introduction (p.102)
      • 3.32 Le matériel (p.102)
      • 3.321 Notion de préfixe (p.102)
      • 3.322 Les segments (p.103)
      • 3.323 Les Processus physiques (p.103)
      • 3.33 Représentation des objets du langage (p.104)
      • 3.331 Objets simples (p.104)
      • 3.332 Tableaux (p.105)
      • 3.333 Objets-procédures (p.105)
      • 3.34 Accès aux objets (p.105)
      • 3.341 Aspects lexicographiques (p.105)
      • 3.342 L'espace adressable (p.106)
      • 3.343 Environnement : accès par désignation (p.106)
      • 3.344 Accès aux paramètres effectifs : noms dynamiques (p.109)
      • 3.35 Procédures (p.109)
      • 3.36 Variations d'environnement aux appels et retours de procédures (p.111)
      • 3.361 Appel de procédure (p.111)
      • 3.362 Retour de procédure (p.113)
      • 3.363 Chaîne statique (p.114)
      • 3.364 Zone de liaison (p.114)
      • 3.365 Détail de l'appel de procédure (p.114)
      • 3.37 Partage des objets entre un processeur et ses processus fils (p.116)
      • 3.371 Création de processus (p.116)
      • 3.372 Existence d'objets communs aux processus père et fils (p.117)
      • 3.373 Incidence sur les noms (p.118)
      • 3.374 Synchronisation (p.119)
      • 3.38 Inclusion du moniteur dans l'arborescence de piles (p.120)
      • 3.381 Partage des objets par une collection de processus (p.120)
      • 3.382 Partage des objets communs à tous les processus (p.120)
      • 3.383 Partage des procédures communes à plusieurs processus (p.121)
      • 3.4 Gestion de l'information dans le système ESOPE (p.122)
      • 3.41 Le matériel (p.124)
      • 3.411 La mémoire physique (p.124)
      • 3.412 L'adressage topographique (p.124)
      • 3.42 La mémoire adressable (p.125)
      • 3.421 L'espace des segments (p.125)
      • 3.422 La mémoire virtuelle (p.125)
      • 3.43 Désignation des segments (p.125)
      • 3.44 Accès à l'information : le couplage (p.127)
      • 3.441 Principe du couplage (p.127)
      • 3.442 Réalisation du couplage (p.128)
      • 3.443 Contraintes (p.130)
      • 3.45 Partage des segments (p.130)
      • 3.46 Utilisation des mécanismes de gestion de l'information (p.131)
      • 3.5 Représentation et gestion des objets (p.131)
      • 3.51 Représentation des objets (p.131)
      • 3.511 Généralités (p.132)
      • 3.512 Décomposition de la représentation d'un objet (p.133)
      • 3.513 Partage d'un objet (p.133)
      • 3.52 Accès aux objets (p.135)
      • 3.521 Nom d'un objet (p.135)
      • 3.522 La mémoire fictive (p.137)
      • 3.523 Espace adressable d'un processus (p.137)
      • 3.524 L'environnement d'un processus (p.137)
    • EXERCICES (p.138)
    • CHAPITRE 4. Gestion des ressources (p.141)
      • 4.1 Notions générales (p.141)
      • 4.11 Exemples de ressources (p.142)
      • 4.12 Représentation des ressources (p.143)
      • 4.13 Origine et forme des demandes d'allocation (p.144)
      • 4.14 Fonctions de l'allocateur (p.145)
      • 4.141 Généralités (p.145)
      • 4.142 Traitement d'une demande (p.147)
      • 4.15 Présentation du chapitre (p.148)
      • 4.2 Caractéristiques de la charge d'un système (p.148)
      • 4.21 Introduction (p.148)
      • 4.22 Caractéristiques globales de la charge (p.149)
      • 4.23 Comportement dynamique des programmes. Propriété de localité (p.154)
      • 4.3 Allocation de processeur réel (p.158)
      • 4.31 Classification des stratégies (p.158)
      • 4.32 Stratégies sans recyclage des travaux (p.159)
      • 4.33 Stratégies avec recyclage des travaux (p.160)
      • 4.34 Stratégies fondées sur la notion de priorité (p.162)
      • 4.35 Stratégies fondées sur la notion d'échéance (p.162)
      • 4.4 Gestion de la mémoire principale (p.163)
      • 4.41 Introduction (p.163)
      • 4.42 Incidence de mécanismes d'adressage (p.164)
      • 4.43 Stratégies d'allocation de la mémoire aux travaux (p.165)
      • 4.431 Allocation en mémoire hiérarchisée (p.167)
      • 4.44 Gestion de la mémoire par zones (p.168)
      • 4.441 Réimplantation dynamique par registres de base (p.168)
      • 4.442 Algorithmes de gestion de la mémoire par zones (p.169)
      • 4.45 Gestion de la mémoire par pages (p.172)
      • 4.451 Mécanismes de pagination (p.172)
      • 4.452 Représentation des espaces virtuels dans le système (p.178)
      • 4.454 Algorithmes de remplacement (p.180)
      • 4.455 Conclusions (p.182)
      • 4.5 Gestion de la mémoire secondaire (p.182)
      • 4.51 Introduction (p.182)
      • 4.52 Caractéristiques physiques des unités (p.183)
      • 4.53 Gestion de la mémoire auxiliaire (p.184)
      • 4.531 Allocation d'espace (p.184)
      • 4.532 Gestion des transferts pour un tambour (p.187)
      • 4.54 Gestion de la mémoire externe (p.193)
      • 4.6 Stratégies globales (p.193)
      • 4.61 Phénomène d'écroulement du système (p.193)
      • 4.62 Régulation de la charge (p.196)
      • 4.63 Stratégies fondées sur l'espace de travail (p.198)
      • 4.631 Notion d'espace de travail (p.198)
      • 4.632 Mise en oeuvre de stratégies fondées sur l'espace de travail (p.199)
      • 4.633 Détermination pratique de l'espace de travail (p.199)
      • 4.634 Tentatives d'adaptation du comportement des programmes (p.200)
      • 4.7 Interblocage (p.201)
      • 4.71 Introduction (p.201)
      • 4.72 Description informelle (p.202)
      • 4.73 Formalisation et définitions (p.203)
      • 4.731 Système. Etat d'un système (p.203)
      • 4.732 Interblocage (p.206)
      • 4.74 Remèdes à l'interblocage (p.208)
      • 4.741 Détection. Guérison (p.208)
      • 4.7411 Détection (p.208)
      • 4.7412 Guérison (p.212)
      • 4.742 Prévention (p.212)
      • 4.7421 Prévention statique (p.213)
      • 4.7422 Prévention dynamique (p.214)
      • 4.75 Conclusions (p.217)
    • EXERCICES (p.217)
    • CHAPITRE 5.Protection (p.223)
      • Présentation du problème (p.223)
      • 5.11 Introduction (p.223)
      • 5.12 Position du problème (p.224)
      • 5.121 Définitions (p.224)
      • 5.122 limites du système de protection (p.225)
      • 5.123 Variation du pouvoir d'un utilisateur : nécessité et limites (p.226)
      • 5.124 Problème à résoudre (p.227)
      • 5.13 Exemples d'implantation de la matrice des droits (p.227)
      • 5.131 Liste d'accès (p.227)
      • 5.132 Liste des droits (p.228)
      • 5.133 Clés et verrous (p.228)
      • 5.134 Mode maître, mode esclave (p.228)
      • 5.2 Mécanismes de protection dans le système ESOPE (p.229)
      • 5.221 Utilisation des segments (p.230)
      • 5.222 Protection de la mémoire virtuelle d'un usager (p.230)
      • 5.223 Pouvoir des processus (p.231)
      • 5.224 Changement du pouvoir d'un processus de l'usager (p.232)
      • 5.3 Mécanisme de protection dans le système MULTICS (p.234)
      • 5.31 Introduction (p.234)
      • 5.32 Définition et portée des anneaux (p.234)
      • 5.33 Changement du pouvoir d'un processus. Nécessité du guichet (p.236)
      • 5.331 Augmentation du pouvoir (p.236)
      • 5.332 Conservation du pouvoir (p.237)
      • 5.333 Diminution de pouvoir (p.238)
      • 5.34 Implantation câblée des anneaux de protection (p.239)
      • 5.341 Le descripteur de segment (p.239)
      • 5.343 Appel et retour de procédure (p.243)
      • 5.3431 Instruction CALL. Passation des paramètres (p.244)
      • 5.3432 Instruction RETURN. Détermination de l'anneau de retour (p.246)
      • 5.35 Conclusions (p.249)
      • EXERCICES (p.249)
      • Mesures et modèles de systèmes (p.251)
      • 6.1 Introduction (p.251)
      • 6.11 Intérêt et importance des études quantitatives (p.251)
      • 6.12 Méthodes de mesure et d'évaluation (p.253)
      • 6.2 Les modèles de système (p.253)
      • 6.21 Les objectifs des modèles (p.253)
      • 6.22 Exemples de modèles analytiques (p.254)
      • 6.221 Echange de pages avec un disque à têtes fixes (p.254)
      • 6.222 Un modèle d'allocation de processeur (p.257)
      • 6.223 Un modèle de système conversationnel (p.262)
      • 6.23 Exemples de simulation (p.265)
      • 6.3 Mesures sur les systèmes réels (p.269)
      • 6.31 Nature des mesures (p.269)
      • 6.32 Méthodologie des mesures (p.269)
      • 6.33 Mécanismes de mesure (p.270)
      • 6.331 Généralités (p.270)
      • 6.332 Appareillage de mesure externe (p.270)
      • 6.333 Mécanismes câblés internes au système (p.272)
      • 6.334 Mesures programmées (p.273)
      • 6.34 Utilisation des mesures (p.274)
      • 6.341 Evaluation des systèmes (p.274)
      • 6.342 Amélioration des performances (p.275)
    • EXERCICES (p.276)
    • CHAPITRE 7. Méthodologie de conception et de réalisation (p.279)
      • 7.1 Introduction (p.279)
      • 7.2 Validité des programmes (p.281)
      • 7.3 Programmation structurée (p.284)
      • 7.31 Programmes séquentiels (p.285)
      • 7.311 Modules (p.285)
      • 7.312 Niveaux (p.287)
      • 7.32 Programmes parallèles (p.289)
      • 7.4 Outils d'écriture et de mise au point (p.290)
      • 7.41 Langages d'écriture de systèmes (p.290)
      • 7.411 Caractéristiques des langages (p.291)
      • 7.412 Classification des langages (p.292)
      • 7.42 Outils de mise au point (p.293)
      • 7.43 Technologie de la programmation (p.295)
      • 7.5 Exemple : réalisation d'un système d'entrée-sortie (p.296)
      • 7.51 Spécification du module d'entrée-sortie (p.296)
      • 7.511 La machine de base (p.297)
      • 7.512 Conséquence de l'extension souhaitée (p.297)
      • 7.513 L'interface du module d'entrée-sortie (p.298)
      • 7.514 Choix laissés au réalisateur du module d'entrée-sortie (p.299)
      • 7.52 Conception du module d'entrée-sortie (p.300)
      • 7.521 Décomposition (p.300)
      • 7.522 Interfaces (p.301)
      • 7.523 Conception des différents modules (p.302)
      • 7.524 Récapitulation (p.306)
    • EXERCICES (p.308)
    • SOLUTION DES EXERCICES (p.309)
    • BIBLIOGRAPHIE (p.349)
    • INDEX (p.357)
  • Dernière image
PRÉAMBULE

L’informatique met en œuvre des ressources importantes et coûteuses, tant en ce qui concerne le matériel que les programmes. Un souci d’économie conduit à rendre ces ressources communes à un groupe de traitements. Cette fonction est remplie par un ensemble de programmes et de dispositifs câblés qui constituent le système d’exploitation (nous dirons plus simplement : le système). Ce système a pour charge de mettre à la disposition d’un groupe d’utilisateurs les ressources qu’il administre. Bien que les programmes inclus dans un système ne soient pas essentiellement différents des autres programmes, ils se particularisent par leur aspect dynamique et par la nécessité d’assurer l’indépendance mutuelle d’un ensemble d’utilisateurs. Le déroulement des programmes d’un système dépend de la nature de leurs données et de l’occurrence d’événements externes, ce qui rend le comportement d’un système difficilement prévisible et reproductible. Les problèmes qu’impliquent la mise en commun d’objets, leur partage, leur protection, la nécessité de les nommer, la synchronisation des actions qui peuvent être entreprises sur eux, prennent donc plus d’importance dans un système que dans d’autres programmes. Ces problèmes peuvent être abordés à propos d’un système particulier. De nombreux exemples de réalisations sont exposés dans la littérature technique, mais il est malaisé de dégager de ces descriptions, dont l’abord est souvent difficile, des principes généraux de conception. C’est à un tel effort de synthèse que nous avons tenté de contribuer.

Nous ne proposons pas dans cet ouvrage des règles de construction des systèmes d’exploitation, mais simplement des éléments pour leur conception. Plus exactement nous tentons de dégager, chaque fois que cela est possible, les principes qui s’appliquent à la conception des systèmes ou qui semblent devoir y contribuer dans les années à venir.

Ces principes intéressent les concepteurs de systèmes mais aussi ceux qui participent de près à leur évolution, qu’ils en assurent la maintenance ou l’exploitation. Ce travail leur est donc destiné, ainsi qu’aux étudiants et aux chercheurs spécialisés dans les problèmes liés aux systèmes d’exploitation ou, plus généralement, préoccupés par la conception ou l’utilisation de grands programmes. De façon plus précise, cet ouvrage s’adresse aux concepteurs, aux programmeurs de systèmes, aux étudiants en conception de systèmes ou en programmation avancée, ainsi qu’à tous les enseignants en informatique.




Le texte affiché peut comporter un certain nombre d'erreurs. En effet, le mode texte de ce document a été généré de façon automatique par un programme de reconnaissance optique de caractères (OCR). Le taux de reconnaissance estimé pour cette page est de 99,96 %.

La langue de reconnaissance de l'OCR est le Français.