Professional Documents
Culture Documents
2e dition
Andrew Tanenbaum, Universit libre dAmsterdam
Introduction
1.1 Quest-ce quun systme dexploitation ? 1.1.1 Le systme dexploitation comme machine tendue 1.1.2 Le systme dexploitation comme gestionnaire de ressources 1.2 Lhistorique des systmes dexploitation 1.2.1 La premire gnration (1945-1955) : tubes vide et tableaux dinterrupteurs 1.2.2 La deuxime gnration (1955-1965) : transistors et systmes par lots 1.2.3 La troisime gnration (1965-1980) 1.2.4 La quatrime gnration (1980-aujourdhui) : les ordinateurs personnels 1.2.5 Lontogense rsume la phylogense 1.3 Le bestiaire des systmes dexploitation 1.3.1 Les systmes pour mainframes 1.3.2 Les systmes dexploitation serveurs 1.3.3 Les systmes multiprocesseurs 1.3.4 Les systmes personnels 1.3.5 Les systmes temps rel 1.3.6 Les systmes embarqus 1.3.7 Les systmes pour smart cards 1.4 La structure matrielle dun ordinateur 1.4.1 Le processeur 1.4.2 La mmoire 1.4.3 Les priphriques dE/S 1.4.4 Les bus 1.5 Les concepts de base des systmes dexploitation 1.5.1 Les processus 1.5.2 Les interblocages 1.5.3 La gestion de la mmoire 1.5.4 Les entres/sorties 1.5.5 Les fichiers 1.5.6 La scurit 1.5.7 Le shell 1.5.8 Le recyclage des concepts
1.6 Les appels systme 1.6.1 Les appels systme pour la gestion des processus 1.6.2 Les appels systme pour la gestion des fichiers 1.6.3 Les appels systme pour la gestion des rpertoires 1.6.4 Les autres appels systme 1.6.5 LAPI Win32 de Windows 1.7 La structure dun systme dexploitation 1.7.1 Les systmes monolithiques 1.7.2 Les systmes en couches 1.7.3 Les machines virtuelles 1.7.4 Les exonoyaux 1.7.5 Le modle client-serveur 1.8 1.9 1.10 1.11 1.12 La recherche sur les systmes dexploitation Lorganisation du reste de louvrage Le systme mtrique Rsum Exercices
Processus et threads
2.1 Les processus 2.1.1 Le modle de processus 2.1.2 La cration dun processus 2.1.3 La fin dun processus 2.1.4 La hirarchie des processus 2.1.5 Les tats des processus 2.1.6 Limplmentation des processus 2.2 Les threads 2.2.1 Le modle de thread 2.2.2 Lutilisation des threads 2.2.3 Limplmentation de threads dans lespace utilisateur 2.2.4 Limplmentation de threads dans le noyau 2.2.5 Les implmentations hybrides 2.2.6 Les activations de lordonnanceur 2.2.7 Les threads spontans 2.2.8 Du code monothread au code multithread 2.3 La communication interprocessus 2.3.1 Les conditions de concurrence 2.3.2 Les sections critiques 2.3.3 Lexclusion mutuelle avec attente active
Pearson Education France Plus dinfos sur www.pearsoneducation.fr
Le sommeil et lactivation Les smaphores Les mutex Les moniteurs Lchange de messages Les barrires
2.4 Les problmes classiques 2.4.1 Le dner des philosophes 2.4.2 Le problme des lecteurs et des rdacteurs 2.4.3 Le problme du coiffeur endormi 2.5 Lordonnancement 2.5.1 Introduction lordonnancement 2.5.2 Lordonnancement sur les systmes de traitement par lots 2.5.3 Lordonnancement des systmes interactifs 2.5.4 Lordonnancement des systmes temps rel 2.5.5 La politique et le mcanisme dordonnancement 2.5.6 Lordonnancement des threads 2.6 2.7 2.8 Les recherches sur les processus et les threads Rsum Exercices
Interblocages
3.1 Les ressources 3.1.1 Les ressources retirables et non retirables 3.1.2 Lacquisition de ressources 3.2 Introduction aux interblocages 3.2.1 Les conditions pour provoquer un interblocage 3.2.2 La modlisation des interblocages 3.3 La politique de lautruche
3.4 La dtection et la reprise des interblocages 3.4.1 Dtecter un interblocage avec une ressource de chaque type 3.4.2 Dtecter des interblocages avec plusieurs ressources de chaque type 3.4.3 Reprendre un interblocage 3.5 Lvitement des interblocages 3.5.1 Les trajectoires de ressources 3.5.2 Les tats srs et non srs 3.5.3 Lalgorithme du banquier pour une ressource unique 3.5.4 Lalgorithme du banquier pour plusieurs ressources
3.6 La prvention des interblocages 3.6.1 Sattaquer la condition de lexclusion mutuelle 3.6.2 Sattaquer la condition de dtention et dattente 3.6.3 Sattaquer la condition de non-premption 3.6.4 Sattaquer la condition de lattente circulaire 3.7 Autres considrations 3.7.1 Le verrouillage en deux phases 3.7.2 Les interblocages non lis aux ressources 3.7.3 La privation de ressources 3.8 3.9 3.10 Les recherches sur les interblocages Rsum Exercices
La gestion de la mmoire
4.1 La gestion lmentaire de la mmoire 4.1.1 La monoprogrammation sans va-et-vient ni pagination 4.1.2 La multiprogrammation avec des partitions de taille fixe 4.1.3 La modlisation de la multiprogrammation 4.1.4 Lanalyse des performances des systmes multiprogramms 4.1.5 La rallocation et la protection 4.2 Le va-et-vient 4.2.1 Grer la mmoire avec des tableaux de bits 4.2.2 Grer la mmoire avec des listes chanes 4.3 La mmoire virtuelle 4.3.1 La pagination 4.3.2 Les tables des pages 4.3.3 La mmoire associative 4.3.4 Les tables des pages inverses 4.4 Les algorithmes de remplacements de pages 4.4.1 Lalgorithme optimal de remplacement de page 4.4.2 Lalgorithme de remplacement de la page non rcemment utilise 4.4.3 Lalgorithme de remplacement de page premier entr, premier sorti 4.4.4 Lalgorithme de remplacement de page de la seconde chance 4.4.5 Lalgorithme de remplacement de page de lhorloge 4.4.6 Lalgorithme de remplacement de la page la moins rcemment utilise 4.4.7 La simulation logicielle de lalgorithme LRU 4.4.8 Lalgorithme de remplacement de page ensemble de travail 4.4.9 Lalgorithme de remplacement de page WSClock 4.4.10 Rsum des algorithmes de remplacements de pages 4.5 La modlisation des algorithmes de remplacements de pages 4
Lanomalie de Belady Les algorithmes de pile La chane des distances Prvoir le nombre de dfauts de pages
4.6 La conception des systmes de pagination 4.6.1 Les politiques dallocations locale et globale 4.6.2 Contrle du chargement 4.6.3 La taille des pages 4.6.4 Sparation des espaces dinstructions et des donnes 4.6.5 Les pages partages 4.6.6 La politique de nettoyage 4.6.7 Linterface de mmoire virtuelle 4.7 Les problmes de limplantation 4.7.1 Le rle du systme dexploitation dans la pagination 4.7.2 Grer les dfauts de pages 4.7.3 Retourner au dbut dune instruction 4.7.4 Verrouiller des pages en mmoire 4.7.5 La mmoire auxiliaire 4.7.6 Sparer la stratgie et le systme 4.8 La segmentation 4.8.1 Implantation de la segmentation pure 4.8.2 La segmentation avec pagination : MULTICS 4.8.3 La segmentation avec pagination : le Pentium dIntel 4.9 4.10 4.11 Les recherches sur la gestion mmoire Rsum Exercices
Entres/sorties
5.1 Les aspects matriels des E/S 5.1.1 Les priphriques dE/S 5.1.2 Le contrleur de priphrique 5.1.3 Les E/S projetes ou mappes en mmoire 5.1.4 Laccs direct la mmoire (DMA) 5.1.5 Les interruptions revisites 5.2 Les aspects logiciels des E/S 5.2.1 Les principes des logiciels dE/S 5.2.2 Les E/S programmes 5.2.3 Les E/S pilotes par les interruptions 5.2.4 Les E/S avec DMA 5.3 La structure en couches des logiciels dE/S 5
Les gestionnaires d'interruptions Les pilotes de priphriques Les logiciels dE/S indpendants du priphrique Les logiciels dE/S de lespace utilisateur
5.4 Les disques 5.4.1 Les types de disques 5.4.2 Le formatage des disques 5.4.3 Les algorithmes dordonnancement du bras du disque 5.4.4 La gestion derreurs 5.4.5 Le stockage stable 5.5 Les horloges 5.5.1 Lhorloge : la partie matrielle 5.5.2 Lhorloge : la partie logicielle 5.5.3 Les timers logiciels 5.6 Les terminaux alphanumriques 5.6.1 Les terminaux RS-232 5.6.2 Les logiciels dentre 5.6.3 Les logiciels de sortie 5.7 Les interfaces graphiques 5.7.1 Le clavier, la souris et les crans dun ordinateur personnel 5.7.2 Les logiciels dentre 5.7.3 Les logiciels de sortie pour Windows 5.8 Les terminaux rseau 5.8.1 Le systme X Window et le terminal X 5.8.2 Le terminal rseau SLIM 5.9 La gestion de lalimentation 5.9.1 Les problmes matriels lis lalimentation lectrique 5.9.2 Les problmes lis au systme dexploitation 5.9.3 Le fonctionnement en mode dgrad 5.10 5.11 Rsum Exercices
Systmes de fichiers
6.1 Fichiers 6.1.1 Noms des fichiersLes noms des fichiers 6.1.2 Les structures des fichiers 6.1.3 Les types de fichiers 6.1.4 Les accs aux fichiers 6.1.5 Les attributs des fichiers 6.1.6 Les oprations sur les fichiers
Pearson Education France Plus dinfos sur www.pearsoneducation.fr
6.1.7 6.1.8
Un exemple de programme utilisant des appels au systme de fichiers Les fichiers placs (mapps) en mmoire
6.2 Les rpertoires 6.2.1 Les systmes un seul niveau de rpertoire 6.2.2 Les systmes deux niveaux de rpertoire 6.2.3 Les systmes rpertoire hirarchique 6.2.4 Les chemins daccs 6.2.5 Les oprations sur les rpertoires 6.3 Implantation dun systme de fichiers 6.3.1 Lorganisation du systme de fichiers 6.3.2 Implantation des fichiers 6.3.3 Implantation des rpertoires 6.3.4 Les fichiers partags 6.3.5 Grer lespace disque 6.3.6 La fiabilit du systme de fichiers 6.3.7 Les performances du systme de fichiers 6.3.8 Les systmes de fichiers LFS 6.4 Exemples de systmes de fichiers 6.4.1 Les systmes de fichiers des CD-ROM 6.4.2 Le systme de fichiers CP/M 6.4.3 Le systme de fichiers MS-DOS 6.4.4 Le systme de fichiers de Windows 98 6.4.5 Le systme de fichiers dUNIX V7 6.5 6.6 6.7 Les recherches sur les systmes de fichiers Rsum Exercices
7.2 Les fichiers multimdias 7.2.1 Lencodage audio 7.2.2 Lencodage vido 7.3 La compression vido 7.3.1 La norme JPEG 7.3.2 La norme MPEG 7.4 Lordonnancement de processus multimdias 7.4.1 Lordonnancement de processus homognes 7.4.2 Lordonnancement temps rel 7.4.3 Lordonnancement RMS
Pearson Education France Plus dinfos sur www.pearsoneducation.fr
7.4.4
Lordonnancement EDF
7.5 Les paradigmes du systme de fichiers multimdia 7.5.1 Les fonctions de commandes VCR 7.5.2 La quasi- vido la demande (NVOD) 7.5.3 La quasi- vido la demande avec des fonctions VCR 7.6 Le placement de fichier 7.6.1 Placer un fichier sur un disque unique 7.6.2 Deux autres stratgies dorganisation de fichiers 7.6.3 Placer des fichiers NVOD 7.6.4 Placer plusieurs fichiers sur un seul disque 7.6.5 Placer des fichiers sur plusieurs disques 7.7 La mise en cache 7.7.1 Mettre en cache des blocs 7.7.2 Mettre en cache des fichiers 7.8 Lordonnancement du disque pour le multimdia 7.8.1 Lordonnancement du disque statique 7.8.2 Lordonnancement du disque dynamique 7.9 7.10 7.11 Les recherches sur le multimdia Rsum Exercices
Systmes multiprocesseurs
8.1 Les multiprocesseurs 8.1.1 Le matriel dun multiprocesseur 8.1.2 Les types de systmes dexploitation pour les multiprocesseurs 8.1.3 La synchronisation des multiprocesseurs 8.1.4 Lordonnancement des multiprocesseurs 8.2 Les multi-ordinateurs 8.2.1 La configuration matrielle dun multi-ordinateur 8.2.2 Les logiciels de communication de bas niveau 8.2.3 Les logiciels de communication au niveau utilisateur 8.2.4 Lappel de procdure distance 8.2.5 La mmoire partage distribue 8.2.6 Lordonnancement sur un multi-ordinateur 8.2.7 Lquilibrage de la charge 8.3 Les systmes distribus 8.3.1 Le matriel rseau 8.3.2 Les services et les protocoles rseau 8.3.3 Le middleware bas sur le document
Pearson Education France Plus dinfos sur www.pearsoneducation.fr
Le middleware bas sur le systme de fichiers Le middleware bas sur un objet partag Le middleware bas sur la coordination Les recherches sur les systmes multiprocesseurs Rsum Exercices
Scurit
9.1 Lenvironnement de scurit 9.1.1 Les menaces 9.1.2 Les intrus 9.1.3 Les pertes accidentelles de donnes 9.2 Les bases du chiffrement 9.2.1 Le chiffrement cl secrte 9.2.2 Le chiffrement cl publique 9.2.3 Les fonctions sens unique 9.2.4 Les signatures numriques 9.3 Lauthentification de lutilisateur 9.3.1 Lauthentification par mot de passe 9.3.2 Lauthentification physique 9.3.3 Lauthentification biomtrique 9.3.4 Les contre- mesures 9.4 Les attaques de lintrieur du systme 9.4.1 Les chevaux de Troie 9.4.2 Lusurpation didentit 9.4.3 Les bombes logiques 9.4.4 Les trappes (entres de service) 9.4.5 Le dpassement de capacit du tampon 9.4.6 Les attaques gnriques de la scurit 9.4.7 Les clbres failles dans la scurit 9.4.8 Les principes de conception de la scurit 9.5 Les attaques depuis lextrieur du systme 9.5.1 Les scnarios de dgts provoqus par des virus 9.5.2 Le fonctionnement des virus 9.5.3 Comment se propagent les virus 9.5.4 Les antivirus et les techniques anti-antivirus 9.5.5 Le ver de linternet 9.5.6 Le code mobile 9.5.7 La scurit Java 9.6 Les mcanismes de protection 9
9.7 Les systmes scuriss 9.7.1 La base de traitement approuve 9.7.2 Les modles formels de systmes scuriss 9.7.3 La scurit multiniveau 9.7.4 La scurit selon le livre orange 9.7.5 Les voies clandestines (canaux cachs) 9.8 9.9 9.10 Les recherches sur la scurit Rsum Exercices
10
10.5.3 10.5.4
10.6 Le systme de fichiers UNIX 10.6.1 Les concepts fondamentaux 10.6.2 Les appels systme UNIX pour le systme de fichiers 10.6.3 Limplmentation du systme de fichiers UNIX 10.6.4 NFS : le systme de fichiers en rseau 10.7 La scurit sous UNIX 10.7.1 Les concepts fondamentaux 10.7.2 Les appels systme pour la scurit sous UNIX 10.7.3 Limplmentation de la scurit sous UNIX 10.8 10.9 Rsum Exercices
11
Les appels API pour les entres/sorties Limplmentation des E/S Les pilotes de priphriques
11.7 Le systme de fichiers Windows 2000 11.7.1 Les concepts fondamentaux 11.7.2 Les appels API du systme de fichiers sous Windows 2000 11.7.3 Limplmentation du systme de fichiers Windows 2000 11.8 La scurit dans Windows 2000 11.8.1 Les concepts fondamentaux 11.8.2 Les appels API pour la scurit 11.8.3 Limplmentation de la scurit 11.9 Le systme de cache de Windows 2000
12
12.5 La gestion de projet 12.5.1 Le mythe de l'homme- mois 12.5.2 La structure de lquipe 12.5.3 Le rle de lexprience 12.5.4 Pas de solution miracle 12.6 Les tendances de la conception des systmes dexploitation 12.6.1 Les systmes dexploitation vaste espace dadressage 12.6.2 Les rseaux 12.6.3 Les systmes parallles et distribus 12.6.4 Les systmes multimdias 12.6.5 Les ordinateurs aliments par batterie 12.6.6 Les systmes embarqus 12.7 12.8 Rsum Exercices
Bibliographie
13