Introduction aux systèmes d'exploitation : cours et exercices en GNU-Linux
Ce livre s'adresse aux étudiants en génie informatique, génie logiciel, génie électrique et sciences informatiques au niveau Licence et Master (universités et écoles d'ingénieurs). Il vise à présenter succintement, en s'appuyant sur de nombreux exemples, le rôle et les fonctions d...
Gardado en:
| Auteurs principaux: | , |
|---|---|
| Formato: | Livre papier |
| Idioma: | Français |
| Publicado: |
Paris :
Ellipses
DL 2019.
|
| Series: | Références sciences
|
| Sujets: | |
| Autres localisations: | Voir dans le Sudoc |
| Variante du titre: | Introduction aux systèmes d'exploitation :, cours et exercices en GNU/Linux |
Table des matières:
- P. 11
- 1 Introduction
- P. 11
- 1.1 Les systèmes d'exploitation
- P. 13
- 1.2 Évolution des systèmes d'exploitation
- P. 18
- 1.3 Interactions utilisateur/système
- P. 18
- 1.4 Appels système
- P. 19
- 1.4.1 Les processus
- P. 20
- 1.4.2 Les fichiers
- P. 20
- 1.5 Structure d'un système d'exploitation
- P. 20
- 1.5.1 Structure en couches
- P. 21
- 1.5.2 Structure monolithique
- P. 21
- 1.5.3 Micro-kernel
- P. 22
- 1.5.4 Le modèle client/serveur
- P. 23
- 1.5.5 Machines virtuelles
- P. 24
- 1.6 Exercices
- P. 27
- 2 Processus et threads
- P. 27
- 2.1 Processus
- P. 27
- 2.1.1 Bloc de Contrôle de Processus
- P. 28
- 2.1.2 États d'un processus
- P. 29
- 2.1.3 Mode noyau et mode utilisateur d'un processus
- P. 29
- 2.1.4 Espace d'adressage d'un processus
- P. 30
- 2.1.5 API Posix pour les processus
- P. 43
- 2.2 Threads
- P. 44
- 2.2.1 Threads utilisateur et noyau
- P. 46
- 2.2.2 Services pthread et pth de gestion de threads
- P. 53
- 2.3 Exercices
- P. 55
- 3 Communication interprocessus
- P. 55
- 3.1 Espaces de données communs
- P. 59
- 3.2 Les signaux sous GNU/Linux-Unix
- P. 61
- 3.2.1 Envoi d'un signal
- P. 61
- 3.2.2 Attente d'un signal
- P. 61
- 3.2.3 Redéfinition du gestionnaire d'un signal
- P. 62
- 3.2.4 Masquage des signaux
- P. 63
- 3.2.5 Exemples
- P. 67
- 3.3 Échanges de données entre processus
- P. 67
- 3.3.1 Tubes de communication
- P. 67
- 3.3.2 Tubes anonymes
- P. 74
- 3.3.3 Tubes de communication nommés
- P. 77
- 3.3.4 Sockets
- P. 78
- 3.4 Exercices
- P. 83
- 4 Synchronisation des processus et interblocages
- P. 83
- 4.1 Synchronisation des processus
- P. 84
- 4.1.1 Objets et sections critiques
- P. 85
- 4.1.2 Masquage des interruptions
- P. 86
- 4.1.3 Exclusion mutuelle par attente active
- P. 87
- 4.1.4 Primitives SLEEP et WAKEUP
- P. 87
- 4.1.5 Sémaphores
- P. 96
- 4.1.6 Mutex de la libraire pthread
- P. 99
- 4.2 Interblocages
- P. 99
- 4.2.1 Définition d'un interblocage
- P. 101
- 4.2.2 Graphe d'allocation des ressources
- P. 102
- 4.2.3 Réduction du graphe d'allocation des ressources
- P. 102
- 4.2.4 Détection et traitement des interblocages
- P. 103
- 4.2.5 L'évitement des interblocages
- P. 103
- 4.2.6 La prévention des interblocages
- P. 104
- 4.3 Exercices
- P. 107
- 5 Ordonnancement des processus
- P. 107
- 5.1 Types d'ordonnanceurs
- P. 107
- 5.2 Objectifs de l'ordonnanceur d'un système multi-utilisateur
- P. 108
- 5.3 Ordonnanceurs non préemptifs
- P. 110
- 5.4 Ordonnanceurs préemptifs
- P. 111
- 5.4.1 Ordonnancement du plus petit temps d'exécution
- P. 111
- 5.4.2 Ordonnancement circulaire
- P. 113
- 5.4.3 Ordonnancement à base de priorités
- P. 115
- 5.4.4 Files multiples (quantum variable)
- P. 115
- 5.5 Ordonnancement à deux niveaux
- P. 116
- 5.6 Ordonnancement des threads
- P. 116
- 5.7 Cas d'étude : ordonnanceur Posix
- P. 119
- 5.8 Exercices
- P. 121
- 6 Gestion de la mémoire
- P. 122
- 6.1 Espace d'adressage d'un processus
- P. 127
- 6.2 Organisation de la mémoire physique
- P. 131
- 6.3 Représentation de l'état de la mémoire
- P. 131
- 6.3.1 Table de bits (bitmap)
- P. 132
- 6.3.2 Liste chaînée
- P. 133
- 6.3.3 Table de listes chaînées
- P. 133
- 6.4 Allocation et libération d'espace
- P. 134
- 6.5 Espace de va-et-vient
- P. 135
- 6.6 Mémoire virtuelle
- P. 135
- 6.6.1 Pagination pure
- P. 145
- 6.6.2 Segmentation sans ou avec pagination
- P. 147
- 6.6.3 Segmentation paginée dans le 80x86
- P. 149
- 6.7 Mémoire cache
- P. 150
- 6.7.1 Cas d'Unix
- P. 150
- 6.7.2 Cas historique : MS-DOS
- P. 151
- 6.8 Exercices
- P. 153
- 7 Systèmes de fichiers et périphériques d'E/S
- P. 153
- 7.1 Les fichiers
- P. 153
- 7.2 Cycle de vie d'un fichier
- P. 154
- 7.3 Accès aux fichiers
- P. 154
- 7.3.1 Attributs des fichiers
- P. 154
- 7.3.2 i-noeuds
- P. 155
- 7.4 Services Posix sur les fichiers
- P. 165
- 7.5 Répertoires
- P. 165
- 7.6 Services Posix sur les répertoires
- P. 167
- 7.7 Périphériques d'entrée/sortie
- P. 167
- 7.8 Le répertoire /dev
- P. 168
- 7.9 Les contrôleurs
- P. 169
- 7.10 Cas du disque
- P. 171
- 7.11 Exercices
- Annexes
- P. 175
- A Introduction à Unix-GNU/Linux
- P. 175
- A.1 Bref historique
- P. 176
- A.2 Caractéristiques
- P. 178
- A.3 Début de session
- P. 179
- A.4 Commandes utiles GNU/Linux
- P. 183
- A.5 Scripts shell
- P. 189
- A.6 Éditeurs de texte
- P. 190
- A .7 Utilisateurs
- P. 190
- A.8 Fichiers et répertoires
- P. 192
- A.9 Processus
- P. 195
- A.10 Sites Internet
- P. 197
- B Solutions aux exercices
- P. 197
- B.1 Chapitre 1 : Introduction
- P. 198
- B.2 Chapitre 2 : Processus et threads
- P. 199
- B.3 Chapitre 3 : Communication interprocessus
- P. 202
- B.4 Chapitre 4 : Synchronisation des processus et interblocages
- P. 202
- B.5 Chapitre 5 : Ordonnancement des processus
- P. 203
- B.6 Chapitre 6 : Gestion de la mémoire
- P. 205
- B.7 Chapitre 7 : Système de fichiers et périphériques d'E/S
- P. 207
- Bibliographie

