Les systèmes d’exploitation des
ordinateurs
Histoire, fonctionnement, enjeux
Laurent Bloch
2 décembre 2013
©copyright Éditions Vuibert et Laurent Bloch 2003-2013
Table des matières
Table des matières iii
Préface de Christian Queinnec 1
Avant-propos 3
1 Présentation des personnages 5
1.1 Mondanité des systèmes ......................... 5
1.2 Quelques définitions ........................... 6
1.3 La couche visible du système ...................... 7
1.4 Une représentation : le modèle en couches ............... 8
1.5 L’informatique est (aussi) une science ................. 10
1.6 Architectures ............................... 11
1.7 Enjeux d’une histoire ........................... 11
2 Principe de fonctionnement de l’ordinateur 15
2.1 Modèle de l’ordinateur .......................... 15
2.2 Traitement de l’information ....................... 19
2.3 Mémoire et action, données et programme ............... 20
2.4 À quoi ressemble le langage machine? ................. 20
2.4.1 Premier programme ....................... 20
2.4.2 Questions sur le programme ................... 22
2.5 Mot d’état de programme (PSW) .................... 23
2.6 Premier métalangage ........................... 24
2.6.1 Vers un langage symbolique ................... 24
2.6.2 Adresses absolues, adresses relatives .............. 25
2.6.3 Assembleur, table des symboles ................. 25
2.6.4 Traduction de langages ..................... 26
2.7 Comment cela démarre-t-il? ....................... 26
2.8 Quel est le rôle de la mémoire? ..................... 27
2.9 La machine de Turing .......................... 28
3 Du système d’exploitation au processus 31
3.1 Premiers essais .............................. 31
3.2 Simultanéité et multiprogrammation .................. 33
3.2.1 Chronologie d’une entrée-sortie ................. 34
3.3 Notion de processus ........................... 34
3.4 Réification du calcul ........................... 36
iv TABLE DES MATIÈRES
3.5 Notion de sous-programme ....................... 37
3.6 Points de vue sur les programmes .................... 38
3.7 Vision dynamique du programme : le processus ............ 38
3.8 Attributs du système d’exploitation ................... 39
3.8.1 Mode d’exécution privilégié ................... 39
3.8.2 Contrôle des programmes .................... 40
3.8.3 Contrôle de l’activité de tous les processus ........... 40
3.8.4 Monopole d’attribution des ressources ............. 40
3.8.5 Contrôle de la mémoire ..................... 40
3.8.6 Contrôle des entrées-sorties ................... 41
3.8.7 Contrôle du temps ........................ 41
3.8.8 Contrôle de l’arrêt et du démarrage de l’ordinateur . . . . . . 42
3.9 Notion d’appel système ......................... 42
3.10 Lancement d’un programme ....................... 42
3.10.1 Shell ................................ 43
3.11 Synchronisation de processus, interruption ............... 44
3.11.1 Demande d’entrée-sortie ..................... 45
3.11.2 Interruption de fin d’entrée-sortie ................ 46
3.12 Ordonnancement de processus ...................... 48
3.12.1 Stratégies d’ordonnancement .................. 49
3.12.2 Interruptions et exceptions ................... 49
3.12.3 Préemption ............................ 49
3.12.4 Systèmes non-préemptifs ..................... 50
3.12.5 Synchronisation de processus et sections critiques ....... 52
4 Mémoire 57
4.1 Les problèmes à résoudre ........................ 57
4.2 La mémoire du programme ....................... 58
4.2.1 Les mots de mémoire ....................... 58
4.2.2 Les adresses ............................ 59
4.2.3 Noms et variables ........................ 60
4.2.4 Protection de la mémoire .................... 61
4.3 Partage de mémoire en multiprogrammation .............. 62
4.3.1 Exemple : l’OS/360 ........................ 62
4.3.2 Translation des programmes ................... 63
4.4 Mémoire virtuelle ............................. 64
4.4.1 Insuffisance de la mémoire statique ............... 64
4.4.2 Organisation générale ...................... 65
4.4.3 Pagination ............................ 66
4.4.4 Espaces adresse .......................... 69
4.4.5 Registres associatifs (Translation Lookaside Buffer, TLB) . . 71
4.4.6 Tables de pages inverses ..................... 72
4.4.7 Mémoire virtuelle segmentée .................. 73
4.4.8 Petite chronologie de la mémoire virtuelle ........... 73
4.5 Hiérarchie de mémoire .......................... 74
4.5.1 Position du problème ....................... 74
4.6 La technique du cache .......................... 75
TABLE DES MATIÈRES v
4.6.1 Cache mémoire .......................... 75
4.6.2 Hiérarchie de mémoire : données numériques 2009 ....... 76
4.6.3 Mise en œuvre du cache ..................... 77
4.7 Langage et mémoire ........................... 77
4.7.1 Langages à mémoire statique .................. 78
4.7.2 Vecteur d’état d’un programme ................. 78
4.7.3 Langages à mémoire dynamique ................ 79
5 Persistance 83
5.1 Mémoire auxiliaire ............................ 84
5.1.1 Structure physique du disque magnétique ........... 84
5.1.2 Visions de la mémoire auxiliaire ................ 86
5.2 Système de fichiers ............................ 88
5.2.1 Structure du système de fichiers Unix ............. 88
5.2.2 Traitement de fichier ....................... 96
5.2.3 Fichiers, programmes, mémoire virtuelle ............ 97
5.2.4 Cache de disque ......................... 97
5.3 Systèmes de fichiers en réseau : NFS, SANs et NAS .......... 98
5.3.1 Disques connectés directement aux serveurs .......... 98
5.3.2 Systèmes de fichiers en réseau .................. 99
5.3.3 Architecture SAN ........................ 100
5.3.4 Architecture NAS ........................ 101
5.4 Critique des fichiers ; systèmes persistants ............... 102
5.4.1 Reprise sur point de contrôle .................. 106
6 Réseaux 109
6.1 Transmettre de l’information à distance ................ 110
6.1.1 Théorie de l’information ..................... 111
6.1.2 Premières réalisations ...................... 112
6.1.3 Un modèle pour les réseaux ................... 112
6.2 Couche 1, physique ............................ 113
6.3 Notion de protocole ........................... 115
6.4 Couche 2, liaison de données ...................... 116
6.4.1 Notion d’adresse réseau ..................... 117
6.4.2 Détection et correction d’erreur pour la couche 2 . . . . . . . 118
6.4.3 Un exemple de liaison de données : Ethernet .......... 121
6.5 Couche 3, réseau ............................. 124
6.5.1 Commutation de circuits ..................... 124
6.5.2 Commutation de paquets .................... 125
6.5.3 Le protocole IP et l’Internet ................... 127
6.5.4 Exception à l’unicité des adresses : traduction d’adresses (NAT)135
6.5.5 Une solution, quelques problèmes ................ 139
6.5.6 Traduction de noms en adresses : le DNS ............ 139
6.5.7 Mécanisme de la couche IP ................... 143
6.5.8 Nouvelles tendances IP ..................... 153
6.6 Couche 4, transport ........................... 154
6.6.1 TCP (Transmission Control Protocol) ............. 154
6.6.2 UDP (User Datagram Protocol) ................. 157
1 / 310 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !