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...

Descrición completa

Gardado en:
Detalles Bibliográficos
Auteurs principaux: Boucheneb, Hanifa, Torres-Moreno, Juan-Manuel, 19..-...., auteur en sciences cognitives (Auteur)
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