Vous êtes sur la page 1sur 361

Cours de système

d’exploitation
ESIS 2021-2022
L2_TOUS
DISPENSÉ PAR PATIENT KASONGO
➢Matière: Système d’exploitation
➢Public ciblé: Futurs licenciés en
informatique de l’ESIS
➢Promotion: L2, édition 2021-2022
➢ Crédit: 4
Fiche de la ✓ 2,5 Crédits pour CMI
matière ✓ 0,5 Crédit pour TDs et Interro
✓ 1 Crédit pour TPs, TPCs et TPE
NB: Un crédit = 25h selon le CAMES dont 15
heures pour l’enseignant et 10 heures pour
les TPE

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 2


➢Pondération: 4
➢Prérequis:
➢Architecture des ordinateurs
➢Logique de programmation
➢Algorithmique
Fiche de la ➢Et autre connaissance nécessaire à la
compréhension abstraite d’un ordinateur
matière ➢Méthodologies:
➢ Support du cours sous format électronique
➢ Exposé du cours au moyen de la
présentation électronique (Power-Point)
➢ Et autres outils

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 3


➢Déroulement du cours: Selon l’horaire
affiché sur le site de l’ESIS
➢Evaluation:
✓ Tous les travaux constitueront une moyenne
Fiche de la annuelle sur 10
✓ L’examen sur table sans note sur 10
matière ✓ Le total annuel sur 20

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 4


Comportement dans l’auditoire:
✓ Téléphone en mode silencieux ou
en vibration.
✓Pas trop de mouvements dans
Fiche de la l’auditoire.
matière ✓ Le silence est obligatoire dans
l’auditoire dans le cas contraire vous
serez expulsé.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 5


Matériels pour les travaux
pratiques:
✓ Papiers
✓ Stylots
✓ Smartphone
Fiche de la ✓ Tablette
matière ✓ Ordinateur physique ou virtuel
✓ Virtual box, Vmware, …
✓ OS: Windows, Linux (Ubuntu), …
✓ Et autres matériels nécessaire
pour la maîtrise de ce cours
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 6
Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 7
Livres:
◦ Jacques Philippe : Initiation à
l’informatique et aux systèmes ouverts,
Presse de l’ENPC, 2005.
◦ Alain Cazes et Joelle Delacroix:
Architecture des machines et des
Bibliographies systèmes informatiques -5è éd., Dunod
Ed., 2015
◦ M-C. Gaudel, M. Soria et Ch. Friodevaux :
Analyse d’Algorithmes. Définitions des
Types des données, Ed INRIA
◦ A compléter

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 8


Sites:
◦ http://www.larousse.fr/dictionnaires/fr
ancais
◦ https://www.lri.fr/~de/PolyarchiCGDE1
.pdf
◦ Etc.
Bibliographies

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 9


Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 10
Objectifs
◦ Comprendre le fonctionnement d’un ordinateur (
matériel et logiciel) dans son contexte de travail.
◦ Apprendre à transformer le matériel en une machine
utilisable
◦ Optimiser l'utilisation des ressources (matériels et
logiciels).

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 11


Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 12
1. Définition de concepts
Contenu 2. Système informatique et
du cours d’information
3. Ordinateur et changements
technologiques
4. Machine de Von Newman
Introduction 5.Schéma général d’un
ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 13


1. Définition de concepts:
➢ Information: Élément de connaissance susceptible d'être
représenté à l'aide de conventions pour être conservé, traité
ou communiqué
➢ Message: Ensemble de données destinées à être
transmises par un système informatique
➢ Donnée: Représentation conventionnelle d'une
information en vue de son traitement informatique.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 14


1. Définition de concepts:
➢ Informatique (information automatique)

➢ Ordinateur :
o Machine à calculer (calculateur) électronique dotée de
mémoires, de moyens de traitement des informations.
o Ensemble de circuits électroniques permettant de
manipuler des données sous forme binaire.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 15


1. Définition de concepts:
➢Programme : Un programme informatique est une liste
d'ordres indiquant à un ordinateur ce qu'il doit faire.
Le terme « programme informatique » est souvent
improprement, utilisé comme synonyme de logiciel, les logiciels
actuels étant souvent composés de plusieurs programmes.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 16


1. Définition de concepts
➢ Logiciel ou application: est un ensemble de
programmes, qui permet à un ordinateur ou à un
système informatique d'assurer une tâche ou une
fonction en particulier.
Par exemple: logiciel de gestion de la relation client,
logiciel de production, logiciel de comptabilité, logiciel de
gestion des prêts, Microsoft Internet Explorer, Mozilla
Firefox, etc.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 17
1. Définition de concepts
Contenu 2. Système informatique
du cours et d’information
4. Ordinateur et changements
technologiques
5. Machine de Von Newman
Introduction
6.Schéma général d’un
ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 18


2. Systèmes informatique et d’information
➢ Un système informatique est un ensemble de dispositifs
(matériels et logiciels) associés, sur lesquels repose un
système d'information.
➢ Un système d'information est un ensemble de moyens
(humains, matériels, logiciels, etc.) organisés permettant
d'élaborer, de traiter, de stocker et/ou de diffuser de
l'information grâce aux processus ou services.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 19


1. Définition de concepts
Contenu 2. Systèmes informatique et
du cours d’information
3. Ordinateur et changements
technologiques
4. Machine de Von Newman
Introduction 5.Schéma général d’un
ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 20


3. Ordinateur et changements technologiques
➢Ordinateur
➢Structure d’un ordinateur
➢Changements technologiques

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 21


4.1 Ordinateurs
Il est décomposé essentiellement en deux parties
1-Partie matériels ou physique (Hardware): c'est l'ensemble des
composantes électroniques modulaire
2-Partie logiciel (Software): c'est un ensemble de programme
assurant la gestion et la commande de la partie matériel de
l'ordinateur (OS + Application)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 22


4.2 Structure d’un ordinateur
La structure d'un ordinateur comprend cinq éléments
fondamentaux :
➢ une unité centrale de traitement (microprocesseur),
➢ des périphériques d’E/S
➢ des unités de stockage (mémoires externes et internes),
➢ et un bus chargé de véhiculer l'information entre les
composants de la machine.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 23


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 24
4.3 Changements technologiques
➢Première génération: Tubes électroniques (lampes à vide)
➢Deuxième génération: transistors
➢Troisième génération: circuits intégrés
➢Quatrième génération: microprocesseurs.
➢Cinquième génération: intelligence artificielle.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 25


1. Définition de concepts
Contenu 2. Système informatique
du cours 3. Système d’information
4. Ordinateur et changements
technologiques
5. Machine de Von
Introduction Newman
6.Schéma général d’un
ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 26


5. Machine de Von Newman
Ces dispositifs permettent la mise en œuvre des fonctions
de base d'un ordinateur :
➢le stockage de données,
➢le traitement des données,
➢le mouvement des données et
➢le contrôle des périphériques.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 27


1. Définition de concepts
Contenu 2. Système informatique
du cours 3. Système d’information
4. Ordinateur et changements
technologiques
5. Machine de Von Newman
Introduction
6.Schéma général d’un
ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 28


6. Schéma général d’un ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 29


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 30
Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 31
1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 32


I.1 Aperçu

Un chef d’orchestre
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 33
I.1 Aperçu

Le système d’exploitation fournit l’interface


usager/machine:
Contrôle l’exécution des applications
Il doit optimiser l’utilisation des ressources pour
maximiser la performance du système

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 34


1. Aperçu
Contenu du
2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 35


I.2 Définition
➢Un système d'exploitation (SE; en anglais: OS =
operating system) est un ensemble de programmes de
gestion du système qui permet de gérer les éléments
fondamentaux de l'ordinateur.
➢ Cache la complexité des machines pour l'utilisateur
afin d'utiliser la machine sans savoir ce qui se passe
derrière

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 36


1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 37


I.3 Fonction d’un système d’exploitation
Un système d’exploitation permet de répondre à deux besoins qui
ne sont pas forcément liés :
1. le système d’exploitation en tant que machine étendue (ou
« machine virtuelle »),
2. le système d’exploitation en tant que gestionnaire de
ressources.
Exemple de systèmes d’exploitation:
◦Linux, Mac OS, Windows, MS-DOS, MINIX, etc.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 38


Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 39


Machine étendue
Le système d’exploitation correspond à « l’interface » entre les
applications et le matériel.
De ce point de vue le système d’exploitation peut être assimilé à une
machine étendue ou virtuelle plus facile à programmer ou à utiliser
que le matériel :
◦Un programmeur va utiliser le système d’exploitation par
l’intermédiaire “ d’appels système ”.
◦Un utilisateur peut lui aussi dans une certaine mesure manipuler un
système d’exploitation, sans pour autant avoir à créer un
programme.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 40
Gestionnaire des ressources
Les différents composants d’un ordinateur doivent coopérer et
partager des ressources.
Dans cette optique, le travail du système d’exploitation consiste à :
◦ordonnancer,
◦contrôler l’allocation des ressources :
•processeurs,
•mémoires,
•périphériques d’E/S,...
entre les différents programmes qui y font appel.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 41
Gestionnaire des ressources
Pour chacune des ressources d’un ordinateur, le système d’exploitation
doit :
◦ connaître à tout moment l’utilisateur de la ressource,
◦ en accorder l’usage de manière équitable,
◦ éviter les conflits d’accès entre les différents programmes ou utilisateurs.
Les deux tâches essentiels du Système d’exploitation en tant que
gestionnaire des ressources sont :
◦ Le partage des ressources.
◦ La protection de l'accès aux ressources.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 42
Gestionnaire des ressources
➢La gestion des processus: qui correspondent à l’exécution des
programmes.
➢La gestion de la mémoire: qui permet de gérer les transferts entre
les mémoires principale et secondaire.
➢Le système de fichiers: qui offre à l’utilisateur une vision homogène
et structurée des données et des ressources : disques,
périphériques.
➢Les entrées-sorties: qui correspondent aux mécanismes qu’utilisent
les processus pour communiquer avec l’extérieur.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 43
Autres fonctions d’un SE
➢Les réseaux d’ordinateurs
◦ avec les protocoles de communication, d’interconnexion et
d’application.
➢Les systèmes répartis
◦avec les protocoles d’appels de procédures à distance (RPC)
◦ou les objets distribués.
➢Les systèmes de fenêtrage graphiques.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 44


1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 45


I. 4. Composant d’un système d’exploitation

Un système d'exploitation est typiquement composé :


➢d'un noyau ;
➢de bibliothèques dynamiques (libraries)
➢d'un ensemble d'outils système (utilitaires – shell)
➢de programmes applicatifs de base.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 46


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 47
I. 4. Composant d’un système d’exploitation
➢D’un noyau (kernel): partie la plus critique d’un OS. Il
permet aux éléments matériel et logiciel de communiquer
entre eux, de fonctionner ensemble et de former un tout.
Pour ces raisons, il est le premier logiciel chargé en
mémoire.
Le noyau assure les fonctionnalités suivantes :
✓ Gestion des périphériques (au moyen de pilotes) ;
✓Gestion des files d'exécution (aussi nommée processus) :
◦attribution de la mémoire à chaque processus ;
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 48
I. 4. Composant d’un système d’exploitation
•Ordonnancement des processus (répartition du temps
d'exécution sur le ou les processeurs).
•Synchronisation et communication entre processus
(services de synchronisation, d'échange de messages,
mise en commun de segments de mémoire, etc.)
✓Gestion des fichiers (au moyen de systèmes de fichiers) ;
✓Gestion des protocoles réseau (TCP/IP, IPX, etc.).

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 49


I. 4. Composant d’un système d’exploitation
➢ Des outils systèmes: partie permettant à l’utilisateur de tirer
profit de l’OS, de gérer les périphériques, les configurer …En bref,
ils fournissent une interface d’accès au système.
➢ Les bibliothèques dynamiques regroupent les opérations les plus
utilisées dans les programmes informatiques – éviter la redondance
de ces opérations dans tous les programmes
➢Les programmes applicatifs de base offrent des services à
l'utilisateur (calculatrice, éditeur de texte, navigateur web, etc.)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 50


1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 51


I.5 Vue abstraite d’un système d’exploitation

Abstraction du terme « Machine » :


➢Machine réelle = Unité centrale + périphériques
➢Machine abstraite = machine réelle + système d'exploitation
➢Machine utilisable = machine abstraite + application

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 52


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 53
Applications
(Word, Excel, Jeux, Maple, etc.)

Langages
(Java,C/C++, Fortran,etc.)

Système d’exploitation
(DOS,Windows, Unix, etc.)

Matériel
(PC, Macintosh, station SUN, etc.)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 54


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 55
1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 56


I.6. Architecture de systèmes d’exploitation
Différents types d’architectures de systèmes d’exploitation:
◦Monolithique
◦Modulaire / Multicouche
◦Micronoyaux
◦Exo-noyaux
◦Machine virtuelle

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 57


Le noyau est généralement exécuté dans un espace
mémoire séparé de l’espace des applications: espace
noyau. Par opposition à l’espace utilisateur. Le passage
entre ces deux espaces se fait via des appels systèmes.
L’intérêt de cette séparation est que le système ne crash/se
plante pas si une application plante.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 58


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 59
I.6.1 OS Monolithique
Un seul bloc contenant l’ensemble des services système
(mode noyau).
➢Facilité de conception
➢Code dur à maintenir
Exemple: Dos, très vieux UNIX, Linux, etc.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 60


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 61
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 62
I.6.2 OS Multicouches
OS organisé en hiérarchie de couches. Chacune construite
sur la base des services offerts par la couche inférieure.
➢Facilité de conception et de développement
➢Code plus organisé et maintenable.
➢Chargement des fonctionnalités à la demande
Exemple: Linux, BSD, SOLARIS

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 63


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 64
I.6.3 OS Micronoyau
Déplace plusieurs fonctions de l’OS vers des « processus
serveur » s’exécutant en mode utilisateur  réduction au
maximum de la taille du code privilégié (en mode noyau).
But: gérer les communications entre applications et
serveurs pour:
◦Renforcer la politique de sécurité
◦Permettre l’exécution de fonctions système (accès aux
registres d’E/S, etc.).

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 65


o Fiabilité augmentée: si un processus serveur « crash », le
système continue à fonctionner et il est possible de
relancer ce service sans redémarrer.
o Modèle facilement étendu à des systèmes distribués
Exemple: MAC OS X, GNU HURD, Windows NT

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 66


I.6.4 OS Exo-noyau
Le noyau se contente de multiplexer et protéger l’accès aux
ressources. Tout le traitement qu’on trouve habituellement
dans un noyau (mémoire virtuelle, système de fichiers, ...) est
délégué à l’espace utilisateur via des bibliothèques appelées
«LibOS». Plusieurs LibOS peuvent être utilisées en parallèle.
➢Gain de performance
➢Pb de sécurité
➢Isolation de bugs

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 67


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 68
I.6.5 OS Machine virtuelle
Possibilité de mettre plusieurs OS sur une machine
physique: XEN, VMWare, QEMU, etc.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 69


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 70
I.6.6 Autre classification des OS
➢ OS temps partagé: garantir le partage équitable du temps
processeur et des ressources dans le but de maximiser le temps de
traitement et de réduire le temps de réponse moyen.
oExemple: Unix, VMS, Windows NT/2000/XP/Vista/7/8/10/X, Mac
OS X...
On parle des systèmes Multi-utilisateur et multitâche
(contrairement au Mono-utilisateur et mono-tâche)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 71


Multitâche
Un système d’exploitation multitâche ré-attribue
périodiquement (quantum) l’UC à une tâche (exécution d’un
programme) différente dans le but de faire progresser
l’exécution de plusieurs programmes à la fois.
◦La notion d’ordonnancement de tâches,
◦L’utilisateur a l’impression que plusieurs programmes sont
exécutés « simultanément ».
Tandis qu’un système d’exploitation monotâche exécute une
commande uniquement lorsque la précédente est terminée.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 72
Multitâche
Un système multitâche peut permettre à plusieurs
utilisateurs de travailler simultanément, il est alors
dit multi-utilisateur.
◦Le système d’exploitation alloue chaque quantum de
temps à des programmes de différents utilisateurs.
◦Ainsi tous les utilisateurs ont l’impression de travailler
simultanément (c’est le temps partagé).

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 73


I.6.6 Autre classification des OS
➢OS temps réel: garantir les temps de réponse
◦Systèmes à contraintes souples/molles: systèmes
acceptant des variations minimes de temps de réponse
(systèmes multimédias)
◦Systèmes à contraintes dures: gestion stricte du temps
pour conserver l’intégrité du système (déterminisme,
logique, temporel et fiabilité)
➢Transactionnel: réservation de places, service après-
vente...

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 74


I.6.6 Autre classification des OS
➢OS embarqué: OS prévus pour fonctionner sur des
machines de petite taille

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 75


1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 76


I.7 Evolution des SE
1945 - 55 : tubes et interrupteurs
Pas de système d'exploitation
1955 - 65 : transistors, cartes perforées
Traitement par lots
1965 - 80 : circuits intégrés, disques
Multiprogrammation, temps-partagé, entrées/sorties
Unix, version BSD, AT&T, interface POSIX

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 77


I.7 Evolution des SE
1980 -- : ordinateurs personnels
Interface graphique (concept créé vers 1960)
Réseaux et systèmes distribués
➢ Système d'exploitation nécéssaire

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 78


I.7. Evolution des SE: Grande date
➢CP/M (depuis 1974), Digital Research
➢UNIX (depuis 1969-1979), premier par AT&T
➢MS-DOS (depuis 1981), Microsoft
➢MacOS (depuis 1984), Apple
➢Windows (depuis 1991), Microsoft
➢Linux (depuis 1992), OpenSource

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 79


I.7. Evolution des SE: CP/M
CP/M (depuis 1974), Digital Research
◦Gestion de disque dur, mais pas d'arborescence
◦Pas de graphisme
◦Exemple:
◦CPU 8088, 2 MHz
◦64 KO de RAM
◦5 MO de disque dur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 80


I.7. Evolution des SE: UNIX
UNIX (depuis 1969-1979), AT&T
◦a servi de modèle pour MS-DOS, Windows, ..
◦Multi-tâche et Multi-utilisateurs
◦accès simultané aux fichiers, péripheriques, mémoire,
processeurs, ..
◦Protection mémoire : aucun programme ne peut faire
planter le système
◦systèmes de fichiers hiérarchique
◦GUI X-Windows
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 81
I.7. Evolution des SE: Mac’OS
➢MacOS (depuis 1984), Apple: premier OS à avoir utilisé le GUI
(Graphic User Interface)
Mac OS
▪Système 7
▪Système 7.5
▪Mac OS 8
▪Mac OS 8.5
▪Mac OS 9 est la toute dernière et unique mise à jour majeure
avant Mac OS X ;

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 82


I.7. Evolution des SE: Mac’OS
Mac OS X / OS X
❖Mac OS X 10.0, dite « Cheetah » (Guépard) ;
❖Mac OS X 10.1, dite « Puma » (Puma) ;
❖Mac OS X 10.2, dite « Jaguar » (Jaguar) ;
❖Mac OS X 10.3, dite « Panther » (Panthère) ;
❖Mac OS X 10.4, dite « Tiger » (Tigre) ;
❖Mac OS X 10.5, dite « Leopard » (Léopard) ;
❖Mac OS X 10.6, dite « Snow Leopard » (Panthère des neiges ou Once)
❖ Mac OS X 10.7, dite « Lion » (Lion) ;
❖OS X 10.8, dite « Mountain Lion » (Lion des Montagnes ou Puma) ;
❖OS X 10.9, dite « Mavericks » ;
❖OS X 10.10, dite « Yosemite» ;
❖OS X 10.11, dite « El Capitan » ;
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 83
Logo Mac’os

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 84


I.7. Evolution des SE: Windows

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 85


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 86
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 87
Logo Windows

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 88


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 89
I.7. Evolution des SE: Linux
◼ 1969 : création d’Unix - Ken Tompson (Laboratoires Bell)
◼ 1970 : adaptation au DEC PDP-11/20 par Thompson&Ritchie et
naissance du premier langage portable : le langage C
◼ 1974-77 : les sources d’Unix sont distribuées gratuitement aux
Universités
◼ 1978 : Unix devient la propriété d’ATT et les sources deviennent
payantes
◼ 1979 : création de BSD Unix pour l’Université de Californie à Berkeley
◼ 1987 : diffusion de X Window, interface graphique pour Unix
développée par le MIT
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 90
I.7. Evolution des SE: Linux
◼ 1987 : AIX d’IBM et HP-UX d’HP naissent
◼ 1991 : émergence de Linux
◼ 1992 : développement de Sun OS par Sun
◼ Linux a été écrit par Linus Torvalds, jeune étudiant finlandais, et a été
amélioré par de nombreux développeurs dans le monde entier.
◼ 1991 : Linux 0.1 et diffusion du code source sur Internet
◼ 1993 : Linux 0.99
◼ 1994 : FreeBSD 1.0 basé sur BSD Unix
◼ 1995 : première distribution « commerciale » RedHat
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 91
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 92
Un mot sur la licence GPL de GNU
◼ Le code source de Linux est sous licence GPL
◼ GPL (General Public Licence), la licence:
 permet la modification du programme original et sa
diffusion (sous licence GPL)
 autorise la vente du logiciel freeware (gratuit...) sous sa
forme originelle ou modifiée, à condition que le
vendeur autorise la diffusion (même gratuite) de ce
logiciel

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 93


Un mot sur la licence GPL de GNU
◦autorise l'utilisation du logiciel à des fins lucratives
(permettant des bénéfices)
◦les logiciels sous la licence GPL appartiennent à leurs
auteurs et personne ne peut s'approprier une partie ou
l'intégralité des droits d'auteur
◦la licence n'implique aucune forme de rémunération des
auteurs

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 94


Linux
◼ Linux est un système d’exploitation :
 multi-utilisateurs

 multitâches

 multi-plateformes (Intel, Sparc, Alpha, PowerPc, …)

 ouvert sur les réseaux et sur les autres systèmes


d’exploitation
 libre, distribué sous les termes de la licence GPL

 stable et performant

 de plus en plus utilisé

 de la famille des Unix (AIX, HP/UX, les BSDs, Solaris...)


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 95
I.7. Evolution des SE: Linux
➢ Linux : Noyau + Services
➢ Une distribution GNU/Linux est un ensemble cohérent de
logiciels libres, assemblés autour du noyau Linux et de
paquets GNU. Il existe une très grande variété de
distributions, ayant chacune des objectifs et une
philosophie particulière:

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 96


Distribution Linux
◦Red Hat
◦Fedore
◦S.u.S.e
◦Debian
◦Mandrake
◦Ubuntu...
◦Etc

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 97


Logo des différentes distribution Linux

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 98


1. Aperçu
Contenu du 2. Définition
cours
3. Fonction d’un Système d’exploitation
4. Composant d’un système d’exploitation
5. Vue abstraite d’un système d’exploitation
Chapitre I: Généralités sur
le système d’exploitation 6. Architecture d’un SE
7. Evolution historique des SE
8. Un mot sur la sécurité informatique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 99


I.8.1 Point de vue
D’un premier point de vue :
▪s’assurer que rien de “mauvais” arrive
▪réduire les chances que quelque chose de “mauvais”
se produise
▪minimiser l’impact des “mauvaises choses”

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 100


I.8.1 Point de vue
D’un autre point de vue :
▪autoriser les “bonnes choses” à arriver
Exemples :
▪sécurité de la maison
▪sécurité de la voiture

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 101


I.8.1 Définition
La sécurité informatique c'est l'ensemble des moyens
mis en œuvre pour minimiser la vulnérabilité d'un
système contre des menaces accidentelles ou
intentionnelles.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 102


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 103
I.8.2 Attaquants
➢hacker : individu curieux, qui cherche à se faire plaisir.
➢cracker : plus dangereux que le hacker, cherche à nuire
et montrer qu'il est le plus fort.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 104


I.8.2 Attaquants
➢ le fraudeur interne,
➢ le fraudeur externe,
➢ Les espions
➢ Le terroriste

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 105


I.8.3 Virus
Nommé ainsi parce qu'il possède de nombreuses
similitudes avec ceux qui attaquent le corps humain,
un virus est un programme malicieux capable de se
reproduire et qui comporte des fonctions nuisibles,
pour le SI : on parle d'infection.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 106


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 107
I.8.4 Cheval de troie
On appelle « Cheval de Troie » (en anglais trojan horse) un
programme informatique effectuant des opérations
malicieuses à l'insu de l'utilisateur.
Le nom « Cheval de Troie » provient d'une légende
Un cheval de Troie peut par exemple :
- copier des données sensibles,
- exécuter tout autre action nuisible,
- voler des mots de passe .

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 108


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 109
I.8.5 Ver
Un ver informatique (en anglais worm) est un
programme qui peut s'auto reproduire et se déplacer
à travers un réseau en utilisant les mécanismes
réseau, sans avoir réellement besoin d'un support
physique ou logique (disque dur, programme hôte,
fichier, etc.) pour se propager; un ver est donc un
virus réseau.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 110


I.8.6 Spam
Le spamming consiste à envoyer massivement
des e-mails de type généralement publicitaire (dit
aussi "junk mail"), à un grand nombre de personnes
n'ayant pas sollicité ce type d'envoi publicitaires,
engorgeant ainsi les serveurs de messagerie et vos
boites à lettres de messages publicitaires inutiles,
non sollicités et généralement mensongers.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 111


I.8.7 Espiogiciel
Un espiogiciel (en anglais spyware) est un
programme chargé de recueillir des informations sur
l'utilisateur de l'ordinateur sur lequel il est installé (
on l'appelle donc parfois mouchard)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 112


I.8.8 Keylogger
Un keylogger (littéralement enregistreur de touches)
est un dispositif chargé d'enregistrer les frappes de
touches du clavier et de les enregistrer, à l'insu de
l'utilisateur.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 113


I.8.9 Antivirus
Un antivirus est un logiciel informatique destiné à
identifier et à effacer des logiciels malveillants
(malwares en anglais), également appelés virus,
Chevaux de Troie ou vers selon les formes.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 114


I.8.9 Antivirus
Fonctionnement d'un antivirus
L'antivirus analyse les fichiers entrants (fichiers téléchargés
ou courriers électroniques) et, périodiquement, la mémoire
vive de l'ordinateur et les périphériques de stockage comme
les disques durs, internes ou externes, les clés USB et les
cartes à mémoire Flash.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 115


I.8 Introduction à la sécurité : Antivirus
La détection d'un logiciel malveillant peut reposer sur trois
méthodes :
➢Reconnaissance d'un code déjà connu (appelé signature)
et mémorisé dans une base de données ;
➢ Analyse du comportement d'un logiciel
(méthode heuristique) ;
➢ Reconnaissance d'un code typique d'un virus.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 116


Logo Antivirus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 117


Logo Antivirus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 118


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 119
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 120
Le seul système informatique qui est vraiment
sûr est un système éteint et débranché,
enfermé dans un blockhaus sous terre, entouré
par des gaz mortels et des gardiens hautement
payés et armés.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 121


Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 122
GESTION DES PROCESSUS
Contenu du 1. Définition
cours
2. Principe
3. Caractéristiques
4. Niveaux d’ordonnancement
Chapitre II: Gestion 5. Etat et transition d’état
et Synchronisation 6. Bloc de contrôle de processus (PCB)
des processus 7. Commutation des processus
8. Algorithme d’ordonnancement
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 123
1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion
et Synchronisation 6. Process Control Block (PCB)
des processus 7. Commutation des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 124


II.1 Définition
➢Un processus est un programme en cours d’exécution.
➢Un programme est une suite d’instructions ; c’est du texte,
un code statique.
➢Le processus est un concept dynamique, il représente le
déroulement d’une tâche faisant partie d’une application ou
un programme système quelconque.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 125


1. Définition
Contenu du
2. Principe
cours
3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Process Control Block (PCB)
et Synchronisation 7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 126


II.2 Principe

La notion de processus est essentielle pour décrire le


fonctionnement des systèmes multiprogrammés aussi
appelés multitâches ou plus simplement multi-
processus.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 127


II.2 Principe
Un processeur n’est capable de traiter qu’un seul
processus à la fois. Un sous-ensemble du système
d’exploitation, appelé ordonnanceur (Scheduler),
organise les tâches et les fait commuter tour à tour
pour donner l’impression qu’elles s’exécutent toutes
simultanément.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 128


1. Définition
Contenu du 2. Principe
cours
3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Process Control Block (PCB)
et Synchronisation
7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 129


III.3 Caractéristiques
Le système d’exploitation conserve des informations
sur chaque processus pour pouvoir les interrompre et
les relancer selon ce que décide l’ordonnanceur. Ces
informations regroupent entre autres :

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 130


III.3 Caractéristiques
➢un numéro d’identification du processus ( PID)
➢l’état du processus, son compteur ordinal et les autres
registres
➢l’emplacement mémoire du code, des données et de la pile
➢ des pointeurs vers les ressources utilisées, fichiers, E/S, …
➢et une quantité innombrable d’informations : pointeur vers
le processus parent, priorités, compteur de threads, durée
d’exécutions, informations d’attentes etc.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 131
1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Bloc de contrôle de processus (PCB)
et Synchronisation 7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 132


II.4 Niveaux d’ordonnancement
➢L’ordonnancement à long terme "job scheduling"
(ordonnancement des travaux) décide des processus que
le système peut mener en parallèle.
◦Dans un traitement par lots,
◦Dans un système interactif à temps partagé,

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 133


II.4 Niveaux d’ordonnancement
Une fois le processus admis dans le système, il n’en
sort que lorsqu’il est terminé ou s’il est détruit par le
système d’exploitation suite à une erreur grave ou à
la demande de l’utilisateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 134


II.4 Niveaux d’ordonnancement
➢L’ordonnancement à moyen terme est assuré par
l’ordonnanceur de mémoire aussi appelé permutateur ou
swapper.
➢L’ordonnanceur à court terme aussi appelé dispacher,
répartiteur ou ordonnanceur du processeur choisit à quel
processus sera alloué le processeur et pour quel laps de
temps.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 135


moyen

court

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 136


Schéma d’ordonnancement à court terme

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 137


1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Bloc de contrôle de processus (PCB)
et Synchronisation
7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 138


II.5 Etat et transition d’état
Les processus, puisqu’ils sont concurrents et doivent
se partager le processeur, ne peuvent être
continuellement actifs. Ils ont donc, si on ne
considère pour commencer que l’ordonnancement à
court terme, trois niveaux fondamentaux et quatre
transitions possibles.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 139


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 140
Etat de processus
« Elu » signifie en cours d’exécution. L’exécution n’est
interrompue que par les conditions suivantes :
Transition 1 : Le processus se bloque, faute de données pour
l’alimenter ou en attendant une opération d’entrée/sortie.
Transition 2 : Le processus est interrompu soit parce que la
tranche de temps qui lui est impartie est achevée soit parce
qu’un processus de plus haute priorité réquisitionne le
processeur.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 141


Etat de processus
L’état « Prêt » est un état provisoire pour permettre aux
autres processus de s’exécuter quasi simultanément.
L’état « Bloqué » est un état d’attente d’un événement
extérieur, tel que l’acquisition de données nécessaires à la
poursuite de l’exécution du processus.
Ajoutons deux états qui correspondent à l’ordonnancement
à long terme : Les états « Nouveau » et « Terminé ».

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 142


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 143
Etat de processus
Nouveau : le processus vient d’être créé mais n’existe
encore qu’à l’état de requête de processus en attendant
d’être admis par le scheduler en tant que processus
activable.
Terminé : le processus est désormais inactif car il a achevé
sa tâche. Il sera détruit prochainement par le système
d’exploitation pour libérer de la place en mémoire.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 144


Etat de processus
Il est parfois conservé pendant un temps à l’état "Terminé"
en attendant qu’une entrée/sortie s’achève ou que les
données de ce processus soient reprises par un autre. On
parle alors de processus "zombie".
Pour être complet il faut aussi envisager les états permutés
qui résultent de l’ordonnancement à moyen terme. Le
swapper range les processus prêts ou bloqués sur le disque
ou en mémoire.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 145


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 146
Etat de processus
Permuté-Prêt : le processus est pour l’instant transcrit en
mémoire auxiliaire (sur disque).
Permuté-Bloqué : c’est l’état d’un processus qui étant
bloqué en attendant un événement externe à été transféré
sur disque pour faire de la place en mémoire principale.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 147


1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Bloc de contrôle de processus (PCB)
et Synchronisation
7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 148


PCB = Process Control Block:
Chaque fois qu’un processus reprend l’UCT (transition prêt
→ exécution) il doit la reprendre dans la même situation où
il l’a laissée (même contenu de registres UCT, etc.)
Donc au moment où un processus sort de l’état exécution il
est nécessaire de sauvegarder ses informations essentielles,
qu’il faudra récupérer quand il retourne à cet état
Représente la situation actuelle d’un processus, pour le
reprendre plus tard

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 149


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 150
➢ pointeur: les PCBs sont rangés dans des listes
enchaînées (à voir)
➢ état de processus: ready, running, waiting…
➢ compteur programme: le processus doit reprendre à
l ’instruction suivante
➢ autres registres UCT
➢ bornes de mémoire
➢ fichiers qu’il a ouvert
➢ etc.,

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 151


1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Bloc de contrôle de processus (PCB)
des processus
7. Commutation des processus
8. Algorithme d’ordonnancement
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 152
II.7 Commutation des processus
➢Aussi appelé commutation de contexte ou context switching
➢Quand l’UCT passe de l’exécution d’un processus 0 à
l’exécution d’un proc 1, il faut
◦mettre à jour le PCB de 0
◦sauvegarder le PCB de 0
◦reprendre le PCB de 1, qui avait été sauvegardé avant
◦remettre les registres d ’UCT, compteur d ’instructions etc.
dans la même situation qui est décrite dans le PCB de 1
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 153
Il se peut que beaucoup de temps passe avant le retour au
processus 0, et que beaucoup d’autres proc soient exécutés
dans entre temps
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 154
II.7 Commutation des processus
➢Il faut aussi sauvegarder l’état des données du programme
➢Ceci se fait normalement en gardant l’image du
programme en mémoire primaire ou secondaire
➢Le PCB pointera à cette image

Comme l’ordinateur n’a, la plupart du temps, qu’un processeur,


il résout ce problème grâce à un pseudo-parallélisme

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 155


P2

P1

système

T
Le multi-tâche

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 156


1. Définition
Contenu du 2. Principe
cours 3. Caractéristiques
4. Niveaux d’ordonnancement
5. Etat et transition d’état
Chapitre II: Gestion 6. Bloc de contrôle de processus (PCB)
et Synchronisation
7. Commutation des processus
des processus
8. Algorithme d’ordonnancement
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 157
II.8.1 Critères
Les processus concurrents se partagent le processeur, la
mémoire, les fichiers et les entrées/sorties.
Dans les systèmes anciens et les systèmes d’exploitation pas
vraiment multitâches tels que Windows 9x,
l’ordonnancement était de type non préemptif.
Actuellement, sur les systèmes interactifs multitâches et
parfois même multi utilisateurs, l’ordonnancement doit être
préemptif.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 158


II.8.1 Critères
La politique suivie pour déterminer la manière
d’ordonnancer les processus est fonction de nombreux
critères parfois contradictoires. Le fait de favoriser
certaines catégories de tâches peut en léser d’autres.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 159


II.8.1 Critères
➢L’utilisation intensive du processeur
➢L’équité
➢ l’utilisation équilibrée de l’ensemble des ressources
➢ Le nombre de processus par unité de temps
➢La durée de rotation
➢Le temps d’attente

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 160


II.8.2 Algorithme: PAPS ou FCFS
FCFS Fist-come First-served = Premier arrivé / Premier servi
Le premier arrivé est admis immédiatement et s’exécute tant qu’il
n’est pas bloqué ou terminé. Lorsqu’il se bloque, le processus
suivant commence à s’exécuter et le processus bloqué va se mettre
au bout de la file d’attente. C’est typiquement un algorithme non
préemptif

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 161


II.8.2 Algorithme: PAPS ou FCFS
Avantages : L’algorithme est simple (c’est une simple liste
chaînée) l’ordonnancement est équitable.
Inconvénient : Le processus qui utilise davantage de temps
processeur est favorisé par rapport à ceux qui font beaucoup
d’appels aux entrées/sorties.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 162


II.8.2 Algorithme: PAPS ou FCFS
Exemple: Processus Temps de cycle
P1 24
P2 3
P3 3
Si les processus arrivent au temps 0 dans l’ordre: P1 , P2 , P3
Le diagramme de Gantt est:
P1 P2 P3

0 24 27 30
Temps d’attente pour P1= 0; P2= 24; P3= 27
Temps attente moyen: (0 + 24 + 27)/3 = 17
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 163
Si les mêmes processus arrivent à 0 mais dans l’ordre: P2 , P3 , P1 .
Le diagramme de Gantt est:
P2 P3 P1

0 3 6 30
➢Temps d’attente pour P1 = 6 P2 = 0 P3 = 3
➢Temps moyen d’attente: (6 + 0 + 3)/3 = 3
➢Beaucoup mieux
➢Donc pour cette technique, le temps d’attente moyen peut
varier grandement
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 164
II.8.2 Algorithme: SJF
SJF Shorted Job First = Le job le plus court d’abord
Sera élu, le processus dont on suppose que le traitement
sera le plus court.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 165


II.8.2 Algorithme: SJF
➢Avec préemption: si un processus qui dure moins que le restant du
processus courant se présente plus tard, l’UCT est donnée à ce
nouveau processus
◦SRTF: shortest remaining-time first
➢Sans préemption: on permet au processus courant de terminer
son cycle
◦Observation: SRTF est plus logique car de toute façon le processus
exécutant sera interrompu par l’arrivée du nouveau processus
◦Il est retourné à l’état prêt
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 166
Example de SJF sans préemption
Processus Arrivée Cycle
P1 0 7
P2 2 4
P3 4 1
P4 5 4

➢ SJF (sans préemption)

➢ Temps d’attente moyen = (0 + 6 + 3 + 7)/4 = 4


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 167
Exemple de SJF avec préemption SRTF
Processus Arrivée Cycle
P1 0 7
P2 2 4
P3 4 1
P4 5 4
SJF (préemptive)

Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3


P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 168
Le plus court d’abord SJF: critique
➢Difficulté d’estimer la longueur à l’avance
➢Les processus longs souffriront de famine lorsqu’il y a un apport
constant de processus courts
➢La préemption est nécessaire pour environnements à temps
partagé
▪Un processus long peut monopoliser l’UCT s’il est le 1er à entrer
dans le système et il ne fait pas d’E/S
➢Il y a assignation implicite de priorités: préférences aux travaux
plus courts
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 169
II.8.3 Algorithme: Tourniquet = Round-Robin (RR)
Chaque processus reçoit tour à tour un intervalle de temps
appelé quantum. Au terme de ce quantum ou, si le processus
s’achève ou se bloque avant cet instant, l’ordonnanceur
attribue directement le processeur au processus suivant.
L’algorithme est simple et équitable.
C’est généralement cet ordonnancement circulaire qui est
utilisé dans les systèmes à temps partagé. La valeur du
quantum est couramment fixée aux alentours de 20 à 50 ms.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 170


Exemple: Tourniquet Quantum = 20
Processus Cycle
P1 53
P2 17
P3 68
P4 24

Normalement,
temps de rotation (turnaround) plus élévé que SJF
mais temps attente moyen meilleur
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 171
Choix du quantum pour le tourniquet
doit être beaucoup plus grand que le temps requis pour
exécuter le changement de contexte
doit être un peu plus grand que le cycle typique (pour
donner le temps à la plupart des processus de terminer
leur cycle, mais pas trop pour éviter de pénaliser les
processus courts)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 172


II.8.4 Algorithme: Priorité
➢Affectation d’une priorité à chaque processus
◦souvent les petits chiffres dénotent des hautes priorités
◦0 la plus haute
➢L’UCT est donnée au processus prêt avec la plus haute
priorité
◦avec ou sans préemption
◦il y a une file à l’état prêt pour chaque priorité

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 173


Problème possible avec les priorités
➢Famine: les processus moins prioritaires n’arrivent jamais à
exécuter
➢Solution:
▪modifier la priorité d’un processus en fonction de son âge
et de son historique d’exécution
▪le processus change de file d`attente
➢Plus en général, la modification dynamique des priorités
est une politique souvent utilisée

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 174


Exemple de la priorité

Supposons que la valeur du quantum est fixée à 50 ms. Un


processus qui n’utilise que 1 ms avant d’être bloqué aurait
droit à une priorité de 50 ms/ 1 ms = 50 tandis qu’un
processus qui se bloque au bout de 25 ms a droit à une
priorité de 50/25=2 et les processus qui consomment tout
le quantum ont une priorité de 1.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 175


II.8.5 Algorithme: Files multiples
➢La file prêt est séparée en plusieurs files, par exemple:
◦ travaux ‘d’arrière-plan’ (background - batch)
◦ travaux ‘de premier plan’ (foreground - interactive)
➢Chaque file a son propre algorithme d ’ordonnancement, par
exemple:
◦ FCFS pour arrière-plan
◦ tourniquet pour premier plan
➢Comment ordonnancer entre files:
◦ Priorité fixe à chaque file → famine possible, ou
◦ Chaque file reçoit un certain pourcentage de temps UCT.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 176


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 177
II.8.4 Algorithme: Files multiples et à retour
➢Un processus peut passer d ’une file à l ’autre, p.ex. quand il a
passé trop de temps dans une file
➢À déterminer:
◦nombre de files
◦algorithmes d ’ordonnancement pour chaque file
◦algorithmes pour décider quand un processus doit passer
d ’une file à l`autre
◦algorithme pour déterminer, pour un proc qui devient prêt, sur
quelle file il doit être mis
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 178
PRIO = 0

PRIO = 1

PRIO = 2

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 179


Exemple de files multiples à retour
Trois files:
◦ Q0: tourniquet, quantum 8 msecs
◦ Q1: tourniquet, quantum 16 msecs
◦ Q2: FCFS
Ordonnancement:
◦ Un nouveau processus entre dans Q0, il reçoit 8 msecs d ’UCT
◦ S ’il ne finit pas dans les 8 msecs, il est mis dans Q1, il reçoit 16 msecs
additionnels
◦ S ’il ne finit pas encore, il est interrompu et mis dans Q2
◦ Si plus tard il commence à demander des quantums plus petits, il
pourrait retourner à Q0 ou Q1
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 180
En pratique
➢Les méthodes que nous avons vu sont toutes utilisées en
pratique (sauf plus court servi pur qui est impossible)
➢Les SE sophistiqués fournissent au gérant du système une
librairie de méthodes, qu’il peut choisir et combiner au
besoin après avoir observé le comportement du système
➢Pour chaque méthode, plusieurs paramètres sont
disponibles: p.ex. durée du quantum, coefficients, etc.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 181


Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 182
Synchronisation des processus
Contenu du 1.Communication inter-processus
cours
2. Partage de ressources
Chapitre II: Gestion et 3. Conflit
Synchronisation des 4. Section critique
processus 5. Inter-blocage

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 183


1. Communication inter-processus
➢Les processus, même s’ils sont indépendants sont
rarement isolés et doivent pouvoir :
◦partager des ressources sans provoquer d’inter-blocages
◦ partager des données sans provoquer d’incohérences et
cela même si ces partages se font à leur insu.
➢S’ils sont interdépendants, ils doivent pouvoir
◦se synchroniser
◦échanger de données

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 184


1. Communication inter-processus
Les processus peuvent partager des informations de diverses
manières, voici quelques techniques envisageables :
➢L’échange d’informations via des fichiers. Les informations écrites
par un processus peuvent être lues par un autre.
➢Le partage d’emplacements mémoire

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 185


1.Communication inter-processus
Contenu du
cours 2. Partage de ressources
3. Conflit
Chapitre II: Gestion 4. Section critique
et Synchronisation 5. Inter-blocage
des processus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 186


2 Partage de ressources
Les processus même s’ils sont apparemment indépendants,
cohabitent dans l’ordinateur. Ils doivent partager certaines ressources
et risquent d’entrer en conflit.
➢ Sont partageables :
Les ressources qui peuvent être utilisées par plusieurs processus sans
provoquer d’interférences

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 187


III.2 Partage de ressources
Ne sont pas partageables :
➢Les ressources qui ne peuvent être utilisées que par un
seul processus à la fois ;
◦soit parce qu’il est matériellement impossible de partager
cette ressource,
◦soit parce qu’elle contient des données susceptibles d’être
modifiées.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 188


1.Communication inter-processus
Contenu du
2. Partage de ressources
cours
3. Conflit
Chapitre II: Gestion 4. Section critique
et Synchronisation 5. Inter-blocage
des processus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 189


III.3 Conflit
Prenons l’exemple de l’enregistrement de travaux
d’impression dans un spooler. L’imprimante est une
ressource qui ne peut pas être utilisée simultanément par
plusieurs processus, les travaux d’impression doivent donc
être enregistrés dans un répertoire de spool en attendant
d’être imprimés. (SPOOL = Simultaneous Peripheral
Operation OnLine)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 190


III.3 Conflit
Les processus qui veulent imprimer ont accès à deux
variables partagées In et Out associées au spooler :
In : le numéro à attribuer au prochain fichier qui entre
dans le spooler
Out: le numéro du prochain fichier à imprimer.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 191


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 192
III.3 Conflit
Exemple de Conflit d’accès
Un processus qui décide de placer un fichier dans le répertoire de spool, doit lire
la variable In, se servir de cette valeur pour inscrire à l’endroit voulu le fichier à
imprimer, puis modifier la variable In pour lui faire indiquer l’emplacement libre
suivant.
i = In;
InscrireFichier( i);
In = i + 1;
Les quelques instructions qui se situent entre le moment où on lit la variable
partagée In et le moment où elle est modifiée forment ce qu’on appelle une
section critique.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 193
III.3 Conflit
Imaginons que deux processus (A et B) entreprennent presque
simultanément d’envoyer un document à l’impression.
Si le processus A est interrompu pendant l’exécution de la section
critique pour qu’entre temps l’ordonnanceur passe la main au
processus B, la variable In sera relue par B et réutilisée une
deuxième fois consécutivement avant d’avoir été incrémentée par
le processus A.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 194


III.3 Conflit
Les deux processus vont donc inscrire le fichier à imprimer
au même emplacement du spool et, bien que l’état du
répertoire de spooler semble cohérent, un des deux fichiers
ne sera jamais imprimé.
Pour éviter ces conflits d’accès, il faut empêcher la lecture
ou l’écriture de données partagées à plus d’un processus à
la fois. La solution est l’exclusion mutuelle pour les accès
concurrents.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 195


1.Communication inter-processus
Contenu du
2. Partage de ressources
cours
3. Conflit
4. Section critique
Chapitre III:
Synchronisation de 5. Inter-blocage
processus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 196


III.4 Section critique
➢Partie d’un programme dont l’exécution ne doit pas
entrelacer avec autres programmes

➢Une fois qu’une tâche y entre, il faut lui permettre de


terminer cette section sans permettre à autres tâches de
jouer sur les mêmes données

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 197


III.4.1 Le problème de la section critique
Lorsqu’un processus manipule une donnée (ou
ressource) partagée, nous disons qu’il se trouve dans
une section critique (SC).
Le problème de la section critique est de trouver un
algorithme d`exclusion mutuelle de processus dans
l`exécution de leur SCs afin que le résultat de leurs
actions ne dépendent pas de l’ordre d’entrelacement de
leur exécution.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 198


III.4.2 Structure du programme
➢Chaque processus doit donc demander une permission avant d’entrer dans une
section critique (SC)
➢La section de code qui effectue cette requête est la section d’entrée
➢La section critique est normalement suivie d’une section de sortie
➢Le code qui reste est la section restante (SR): non-critique
repeat
section d’entrée
section critique
section de sortie
section restante
forever
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 199
III.4.3 Critères nécessaires pour solutions valides
➢Exclusion Mutuelle
oÀ tout instant, au plus un processus peut être dans une section
critique (SC) pour une variable donnée
➢Non interférence:
oSi un processus s’arrête dans sa section restante, ceci ne devrait
pas affecter les autres processus
➢Mais on fait l’hypothèse qu’un processus qui entre dans
une section critique, en sortira.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 200


III.4.4 Types de solutions
➢Solutions par logiciel: des algorithmes dont la validité ne
s’appuie pas sur l’existence d`instruction spéciales
➢Solutions fournies par le matériel: s’appuient sur l’existence
de certaines instructions (du processeur) spéciales
➢Solutions fournies pas le SE: procure certains appels du
système au programmeur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 201


III.4.4 Types de solutions
➢Toutes les solutions se basent sur l’atomicité de l’accès à la
mémoire centrale: une adresse de mémoire ne peut être
affectée que par une instruction à la fois, donc par un
processus à la fois.
➢Plus en général, toutes les solutions se basent sur
l ’existence d’instructions atomiques, qui fonctionnent
comme SCs de base

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 202


a. Solutions par logiciel
➢Nous considérons d’abord 2 processus
◦Algorithmes 1 et 2 ne sont pas valides
◦Montrent la difficulté du problème
◦Algorithme 3 est valide (algorithme de Peterson)
➢Notation
◦Débutons avec 2 processus : T0 et T1
◦Lorsque nous discutons de la tâche Ti, Tj dénotera
toujours l’autre tâche (i != j)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 203


Algorithme 1: processus se donnent mutuellement le tour
La variable partagée turn est
initialisée à 0 ou 1
La SC de Ti est exécutée ssi turn = i
Ti est occupé à attendre si Tj est dans processus Ti:
SC. repeat
Fonctionne pour l’exclusion mutuelle! while(turn!=i){};
Mais critère du progrès n’est pas
SC
satisfait car l’exécution des SCs doit turn = j;
strictement alterner SR
forever

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 204


initialisation de turn à 0 ou 1
processus T0: processus T1:
repeat repeat

while(turn!=0){}; while(turn!=1){};
SC SC
turn = 1; turn = 0;
SR SR
forever forever

Algorithme 1 vue globale

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 205


Algorithme 2 ou l’excès de courtoisie
Une variable Booléenne par processus:
flag[0] et flag[1]
Ti signale qu’il désire exécuter sa SC par: processus Ti:
flag[i] =vrai repeat
Mais il n’entre pas si l’autre est aussi flag[i] = vrai;
intéressé!
Exclusion mutuelle ok while(flag[j]==vrai){};
Progrès pas satisfait: SC
Considérez la séquence: flag[i] = faux;
◦ T0: flag[0] = vrai SR
◦ T1: flag[1] = vrai
◦ Chaque processus attendra
forever
indéfiniment pour exécuter sa SC: on a
un interblocage
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 206
Algorithme 3 (dit de Peterson): bon
combine les deux idées: flag[i]=intention d’entrer; turn=à qui le tour

Initialisation: processus Ti:


◦ flag[0] = flag[1] = faux repeat
◦ turn = i ou j flag[i] = vrai;
// je veux entrer
Désire d’exécuter SC est indiqué par turn = j;
flag[i] = vrai // je donne une chance à l’autre
do while
flag[i] = faux à la section de sortie
(flag[j]==vrai && turn==j){};
SC
flag[i] = faux;
SR
forever
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 207
Extension à >2 processus
➢L ’algorithme de Peterson peut être généralisé au cas de >2
processus
➢Cependant, dans ce cas il y a des algorithmes plus
élégants, comme l’algorithme du boulanger, basée sur l’idée
de ‘prendre un numéro’...
➢À fin que des processus avec des variables partagées
puissent réussir, il est nécessaire que tous les processus
impliqués utilisent le même algorithme de coordination

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 208


a.1 Critique des solutions par logiciel
➢Difficiles à programmer et à comprendre
oLes solutions que nous verrons dorénavant sont toutes basées
sur l’existence d’instructions spécialisées, qui facilitent le
travail.
➢Les processus qui requièrent l’entrée dans leur SC sont occupés
à attendre (busy waiting); consommant ainsi du temps de
processeur
➢Pour de longues sections critiques, il serait préférable de
bloquer les processus qui doivent attendre...
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 209
b.1 Solutions matérielles: désactivation des
interruptions
Sur un uniprocesseur: exclusion mutuelle
est préservée mais l’efficacité se détériore:
lorsque dans SC il est impossible
Process Pi:
d’entrelacer l’exécution avec d’autres
processus dans une SR repeat
inhiber interrupt
Perte d’interruptions
section critique
Sur un multiprocesseur: exclusion mutuelle rétablir interrupt
n’est pas préservée section restante
Une solution qui n’est généralement pas forever
acceptable

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 210


b.2 Solutions matérielles: instructions
machine spécialisées
➢Normal: pendant qu’un processus ou processus fait accès à une
adresse de mémoire, aucun autre ne peut faire accès à la même
adresse en même temps
➢Extension: instructions machine exécutant plusieurs actions (ex:
lecture et écriture) sur la même case de mémoire de manière
atomique (indivisible)
➢Une instruction atomique ne peut être exécutée que par un
processus à la fois (même en présence de plusieurs processeurs)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 211


L’instruction test-and-set
Un algorithme utilisant testset pour
Une version C++ de test-and-set: Exclusion Mutuelle:

bool testset(int& i) Variable partagée b est initialisée à 0


{ C’est le 1er Pi qui met b à 1 qui entre
dans SC
if (i==0) {
i=1;
Tâche Pi:
return true; while testset(b)==false{};
} else { SC //entre quand vrai
return false; b=0;
} SR
}
Instruction atomique!
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 212
c. Solutions basées sur des instructions
fournies par le SE (appels du système)
➢Les solutions vues jusqu’à présent sont difficiles à
programmer et conduisent à du mauvais code.
➢On voudrait aussi qu`il soit plus facile d’éviter des erreurs
communes, comme interblocages, famine, etc.
oBesoin d’instruction à plus haut niveau
➢Les méthodes que nous verrons dorénavant utilisent des
instructions puissantes, qui sont implantées par des appels
au SE (system calls)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 213


c.1 Sémaphores
Le sémaphore est un mécanisme proposé par le mathématicien et
informaticien néerlandais Dijkstra en 1965.
Le sémaphore est une généralisation du verrou pour des ressources
pouvant être utilisées non pas par un seul processus mais par
plusieurs processus simultanément.
Le sémaphore est en quelque sorte un distributeur de jetons d’accès
à la ressource. Le nombre de jetons pouvant être distribués dépend
du nombre de processus qui peuvent accéder en même temps à la
ressource. Le nombre de jetons est fixe. Il est initialisé lors de la
création du sémaphore.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 214
c.1 Sémaphores
➢Un sémaphore S est un entier qui, sauf pour l'Initialisation, est accessible
seulement par ces 2 opérations atomiques et mutuellement exclusives:
owait(S)
osignal(S)
➢Il est partagé entre tous les procs qui s`intéressent à la même section critique
➢Les sémaphores seront présentés en deux étapes:
osémaphores qui sont occupés à attendre (busy waiting)
osémaphores qui utilisent des files d ’attente
➢On fait distinction aussi entre sémaphores compteurs et sémaphores binaires,
mais ce derniers sont moins puissants.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 215
c.2 Le problème des philosophes mangeant
➢ 5 philosophes qui mangent et pensent;
➢ Pour manger il faut 2 fourchettes, droite
et gauche;
➢ On en a seulement 5;
➢ Un problème classique de
synchronisation;
➢ Illustre la difficulté d’allouer aux
processus tout en évitant interblocage et
famine
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 216
c.2 Le problème des philosophes mangeant

Un processus par philosophe processus Pi:


repeat
Un sémaphore par fourchette: think;
fork: array[0..4] of semaphores wait(fork[i]);
Initialisation: fork[i ] =1 for i:=0..4 wait(fork[i+1 mod 5]);
eat;
Première tentative:
signal(fork[i+1 mod 5]);
interblocage si chacun débute en signal(fork[i]);
prenant sa fourchette gauche forever
Wait(fork[i])

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 217


c.2 Le problème des philosophes mangeant

Une solution: admettre seulement 4


processus Pi:
philosophes à la fois qui peuvent
repeat
tenter de manger
think;
Il y aura touj. au moins 1 philosophe wait(T);
qui pourra manger wait(fork[i]);
même si tous prennent 1 fourchette wait(fork[i+1 mod 5]);
Ajout d’un sémaphore T qui limite à 4 eat;
le nombre de philosophes “assis à la signal(fork[i+1 mod 5]);
table” signal(fork[i]);
initial. de T à 4 signal(T);
forever
N’empêche pas famine

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 218


1.Communication inter-processus
Contenu du
2. Partage de ressources
cours
3. Conflit
4. Section critique
Chapitre III:
Synchronisation de 5. Inter-blocage
processus

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 219


III.5 Interblocage: Définition
➢Un ensemble de processus est en interblocage si chaque
processus attend un événement que seul un autre
processus de l’ensemble peut provoquer
➢L’événement est une libération de ressource
oPrenant ce mot dans le sens le plus vaste: ressource peut
être un signal, un message, un sémaphore, etc.
oExemple intéressant: interblocage entre lecteurs ou
écrivains sur une base de données.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 220


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 221
III.5.1 Caractérisation d’interblocage
L’interblocage demande la présence simultanée de 4 conditions (conditions nécessaires)
◦ Exclusion mutuelle: le système a des ressources non partageables (1 seul proc à la fois
peut s’en servir)
◦ Ex.: UCT, zone de mémoire, périphérique, mais aussi sémaphores, moniteurs, sections
critiques
◦ Saisie et attente (hold and wait): un processus a saisi une ressource non partageable et
en attend des autres pour compléter sa tâche
◦ Pas de préemption: un processus qui a saisi une ressource non partageable la garde
jusqu’à ce qu’il aura complété sa tâche
◦ Attente circulaire: il y a un cycle de processus tel que chaque processus pour compléter
doit utiliser une ressource non partageable qui est utilisée par le suivant, et que le
suivant gardera jusqu`à sa terminaison
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 222
III.5.2 Famine
La famine (starvation) est la situation d’un processus qui
reste indéfiniment bloqué dans l’attente d’une ressource
sans pour autant être en situation d’interblocage. Cette
situation dépend des autres processus alors que dans le cas
de l’interblocage il faut que le système d’exploitation
intervienne d’autorité en retirant une ressource à l’un des
processus.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 223


Objectifs
Introduction
Chapitre I: Généralités sur le
système d’exploitation
Chapitre II: Gestion et Synchronisation
CONTENU des processus
DU COURS Chapitre III: Gestion des ressources
◦ Les mémoires
◦ Les fichiers
◦ E/S
Chapitre IV: Gestion des utilisateurs
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 224
1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Pagination
« Gestion de la 6. Segmentation
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 225


1 Objectifs
➢Optimisation de l ’utilisation de la mémoire principale
= RAM
➢Les plus grand nombre possible de processus actifs
doit y être gardé, de façon à optimiser le
fonctionnement du système en multiprogrammation

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 226


1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Pagination
« Gestion de la 6. Segmentation
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 227


2. Adresse physique et logique
➢Mémoire physique:
ola mémoire principale RAM de la machine
➢Adresses physiques: les adresses de cette mémoire
➢Mémoire logique: l’espace d’adressage d’un programme
➢Adresses logiques: les adresses dans cet espace

o adresse physique ≠ adresse logique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 228


2.1 Adresse physique et logique
➢une adresse logique est une adresse à une location de
programme
◦par rapport au programme lui-même seulement
◦ indépendante de la position du programme en mémoire
physique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 229


2.2 Traduction adr logiques →adr. physiques

MMU: unité de gestion de mémoire


unité de traduction adresses
(Memory Management Unit)
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 230
adresse limite de la
partition où le programme
en exécution . se trouve

adresse de base de la
partition où le
programme en
exécution se trouve

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 231


1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Pagination
« Gestion de la 6. Segmentation
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 232


Remplacement
➢La gestion de la mémoire centrale est réalisée par le système
d'exploitation et vise à fournir aux applications l'espace de RAM
nécessaire à leur exécution.
➢Un objectif supplémentaire mais tout aussi crucial est la
protection des espaces mémoire des autres applications, et du
système d'exploitation lui-même, contre la lecture ou la
modification des données par un processus non autorisé.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 233


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 234
1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Pagination
« Gestion de la 6. Segmentation
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 235


Allocation
Une des premières méthode de gestion de la
mémoire a été de définir des espaces mémoire
de tailles fixes dans lesquelles seront installés
les programmes d'application.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 236


4.1 Affectation contiguë de mémoire

SE

programme 1

programme 2
disponible
programme 3

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 237


a. Partition fixe
Première organisation de l’allocation contiguë
Mémoire principale subdivisée en régions distinctes:
partitions
Les partitions sont soit de même taille ou de tailles
inégales

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 238


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 239
Algorithme de placement pour partitions fixes
Partitions de tailles inégales: utilisation de plusieurs queues
assigner chaque processus à la partition de la plus petite
taille pouvant le contenir
une file par taille de partition
tente de minimiser la fragmentation interne
Problème: certaines files seront vides s’il n’y a pas de
processus de cette taille (fragemantation externe)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 240


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 241
Algorithme de placement pour partitions fixes
Partitions de tailles inégales: utilisation d’une seule file
On choisit la plus petite partition libre pouvant
contenir le prochain processus
le niveau de multiprogrammation augmente au profit
de la fragmentation interne

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 242


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 243
Simple,
Inefficacité de l’utilisation de la mémoire: tout
programme, si petit soit-il, doit occuper une partition
entière. Il y a fragmentation interne.
Les partitions à tailles inégales atténue ces problèmes
mais ils y demeurent...

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 244


b. Partition dynamique
Partitions en nombre et tailles variables
Chaque processus occupe la taille de mémoire
requise
Problème des trous inutilisables se formeront dans
la mémoire: c’est la fragmentation externe

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 245


(d) Il y a un trou de 64K après avoir chargé le processus 3: pas assez
d’espace pour autre processus
Si tous les processus se bloquent (par exemple attente d’un événement),
P2 peut être permuté et P4=128K peut être chargé.
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 246
(e-f) P2 est suspendu, P4 est chargé. Un trou de 224-128=96K est créé (fragmentation externe)
(g-h) P1 se termine ou il est suspendu, P2 est chargé à sa place: produisant un autre trou de 320-
224=96K...
Nous avons 3 trous petits et probablement inutiles. 96+96+64=256K de fragmentation externe
COMPRESSION pour en faire un seul trou de 256K

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 247


Algorithme de placement
pour décider de l’emplacement du prochain processus
But: réduire l’utilisation de la compression (prend du temps...)
Choix possibles:
“Best-fit”: choisir l’emplacement dont la taille est la plus
proche
“First-fit”: choisir le 1er emplacement à partir du début
“Worst-fit”: choisir l’emplacement dont la taille est la plus loin

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 248


Worst Fit

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 249


Algorithmes de placement: commentaires
Quel est le meilleur?
critère principal: diminuer la probabilité de situations où un processus
ne peut pas être servi, même s’il y a assez de mémoire...
La simulation montre qu’il ne vaut pas la peine d’utiliser les algorithmes
les plus complexes... donc first fit
“Best-fit”: cherche le plus petit bloc possible: l’espace restant est le plus
petit possible
la mémoire se remplit de trous trop petits pour contenir un programme
“Worst-fit”: les allocations se feront souvent à la fin de la mémoire
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 250
Fragmentation: mémoire non utilisée
Un problème majeur dans l’affectation contiguë:
➢Il y a assez d’espace pour exécuter un programme, mais il
est fragmenté de façon non contiguë
◦externe: l’espace inutilisé est entre partitions
◦interne: l’espace inutilisé est dans les partitions

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 251


Compaction
➢Une solution pour la fragmentation externe
➢Les programmes sont déplacés en mémoire de façon à réduire à 1 seul grand
trou plusieurs petits trous disponibles
➢Effectuée quand un programme qui demande d’être exécuté ne trouve pas
une partition assez grande, mais sa taille est plus petite que la fragmentation
externe existante
➢ Désavantages:
otemps de transfert programmes
obesoin de rétablir tous les liens entre adresses de différents programmes
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 252
IV.4.2 Allocation non contiguë
A fin réduire le besoin de compression, le prochain pas est
d`utiliser l’allocation non contiguë
◦diviser un programme en morceaux et permettre l`allocation
séparée de chaque morceau
◦les morceaux sont beaucoup plus petits que le programme
entier et donc permettent une utilisation plus efficace de la
mémoire
◦les petits trous peuvent être utilisés plus facilement

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 253


IV.4.2 Allocation non contiguë
Il y a deux techniques de base pour faire ceci: la pagination et
la segmentation
◦la segmentation utilise des parties de programme qui ont
une valeur logique (des modules)
◦la pagination utilise des parties de programme arbitraires
(morcellement du programmes en pages de longueur fixe).
◦elles peuvent être combinées

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 254


1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Segmentation
« Gestion de la 6. Pagination
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 255


IV.5 Segmentation
➢ Un programme est une collection de ségments.
➢ Un segment est une unité logique telle que:
- programme principal,
- procédure,
- fonction,
- méthode,
- objet,
- variables locales, variables globales,
- bloc commun,
- pile,
- table des symboles, tableaux

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 256


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 257
Architecture Ségmentation
Adresse logique contient le couple:
<numéro-ségment, déplacement>,
Table des Ségments – translation entre adresse logique et adresse
physique; chaque entrée contient:
base – contient l’adresse physique de début du ségment en mémoire
limite – spécifie la longueur du segment
Segment-table base register (STBR) pointe sur la table des ségments en
mémoire
Segment-table length register (STLR) indique le nombre de ségments
utilisés par un processus;
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 258
Architecture Ségmentation
Relocation
dynamique
Via la table de ségments
Partage
Ségments partagés
Même numéro de ségment
Allocation
first fit/best fit
Fragmentation externe

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 259


Architecture Ségmentation
Protéction: est associé à chaque entrée dans la table des
ségments:
Bit de validation = 0
Privilèges read/write/execute
Bits de protection associés aux ségments; partage de code se fait
au niveau des ségments
Comme les ségments varient en taille, l’allocation mémoire est un
problème d’allocation mémoire dynamique.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 260


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 261
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 262
1. Objectifs
Contenu du
cours 2. Adresse physique et adresse logique
3. Remplacement

Chapitre III: Gestion 4. Allocation


des ressources 5. Pagination
« Gestion de la 6. Segmentation
mémoire »

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 263


IV.6 Pagination
La mémoire est partitionnée en petits morceaux de même taille:
les pages physiques ou ‘cadres’ ou ‘frames’
Chaque processus est aussi partitionné en petits morceaux de
même taille appelés pages (logiques)
Les pages logiques d’un processus peuvent donc être assignés
aux cadres disponibles n’importe où en mémoire principale
Conséquences:
un processus peut être éparpillé n’importe où dans la mémoire
physique.
la fragmentation externe est éliminée
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 264
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 265
Exemple de chargement de processus
Nous pouvons maintenant transférer en mémoire un
processus D, qui demande 5 cadres
bien qu`il n’y ait pas 5 cadres contigus disponibles
La fragmentation externe est limitée au cas que le nombre
de pages disponibles n’est pas suffisant pour exécuter un
programme en attente
Seule la dernière page d’un processus peut souffrir de
fragmentation interne

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 266


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 267
Tableaux de pages

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 268


Le SE doit maintenir une table de pages pour chaque
processus
Chaque entrée d’une table de pages contient le numéro de
cadre où la page correspondante est physiquement localisée
Une table de pages est indexée par le numéro de la page afin
d’obtenir le numéro du cadre
Une liste de cadres disponibles est également maintenue (free
frame list)
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 269
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 270
Segmentation simple vs Pagination simple
La pagination se préoccupe seulement du problème du chargement, tandis que la
segmentation vise aussi le problème de la liaison
La segmentation est visible au programmeur mais la pagination ne l’est pas
Le segment est une unité logique de protection et partage, tandis que la page ne
l’est pas
Donc la protection et le partage sont plus aisés dans la segmentation
La segmentation requiert un matériel plus complexe pour la traduction d’adresses
(addition au lieu d`enchaînement)
La segmentation souffre de fragmentation externe (partitions dynamiques)
La pagination produit de fragmentation interne, mais pas beaucoup
Heureusement, la segmentation et la pagination peuvent être combinées

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 271


La mémoire virtuelle
➢À fin qu’un programme soit exécuté, il ne doit pas nécessairement
être tout en mémoire centrale.
➢Seulement les parties qui sont en exécution ont besoin d’être en
mémoire centrale
➢Les autres parties peuvent être sur une mémoire secondaire, prêtes
à être amenées en mémoire centrale sur demande
o Mécanisme de va-et-vient ou swapping
➢Ceci rend possible l’exécution de programmes beaucoup plus grands
que la mémoire physique
o Réalisant une mémoire virtuelle qui est plus grande que la
mémoire physique
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 272
De la pagination et segmentation à la
mémoire virtuelle
Un processus est constitué de morceaux (pages ou segments) ne
nécessitant pas d’occuper une région contiguë de la mémoire
principale
Références à la mémoire sont traduites en adresses physiques au
moment d’exécution
Un processus peut être déplacé à différentes régions de la mémoire,
aussi mémoire secondaire
Donc: tous les morceaux d’un processus ne nécessitent pas d’être en
mémoire principale durant l’exécution
L’exécution peut continuer à condition que la prochaine instruction
(ou donnée) est dans un morceau se trouvant en mémoire principale
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 273
De la pagination et segmentation à la
mémoire virtuelle
La somme des mémoires logiques des processus en
exécution peut donc excéder la mémoire physique
disponible
◦Le concept de base de la mémoire virtuelle
Une image de tout l’espace d’adressage du processus est
gardée en mémoire secondaire (disque dur) d’où les pages
manquantes pourront être prises au besoin
◦Mécanisme de va-et-vient ou swapping

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 274


Localité et mémoire virtuelle
Principe de localité des références: les références à la
mémoire dans un processus tendent à se regrouper
Donc: seule quelques pièces d’un processus seront
utilisées durant une petite période de temps (pièces:
pages ou segments)
Il y a une bonne chance de “deviner” quelles seront les
pièces demandées dans un avenir rapproché

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 275


Remplacement de pages
➢Quoi faire si un processus demande une nouvelle page et il n’y a
pas de cadres libres en RAM
➢Il faudra choisir une page déjà en mémoire principale,
appartenant au même ou à un autre processus, qu’il est possible
d’enlever de la RAM
◦la victime
➢Un cadre de mémoire sera donc rendu disponible
Évidemment, plusieurs cadres de mémoire ne peuvent pas être
`victimes`

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 276


Algorithmes de remplacement pages
➢Choisir la victime de façon à minimiser le taux de défaut de
pages
◦pas évident.
➢Page dont nous n`aurons pas besoin dans le futur;
impossible à savoir.
➢Page pas souvent utilisée.
➢Page qui a déjà séjournée longtemps en mémoire.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 277


1. L’algorithme optimal (OPT)
L’algorithme optimal (OPT) choisit pour page à remplacer celle qui
sera référencée le plus tardivement
produit le plus petit nombre de défauts de page
impossible à réaliser (car il faut connaître le futur) mais sert de
norme de comparaison pour les autres algorithmes:
Ordre chronologique d’utilisation : la moins récemment
utilisé (Least recently used (LRU))
Ordre chronologique de chargement (FIFO)
Deuxième chance ou Horloge (Clock)
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 278
2. Ordre chronologique
LRU
Remplace la page dont la dernière référence remonte au
temps le plus lointain (le passé utilisé pour prédire le
futur)
Il s’agit de la page qui a le moins de chance d’être
référencée
performance presque aussi bonne que l’algorithme
OPT

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 279


3. Premier arrivé, premier sorti (FIFO)
➢Logique: une page qui a été longtemps en mémoire a eu sa chance pour
s’exécuter
➢Les cadres forment conceptuellement un tampon circulaire, débutant à la
plus vieille page
oLorsque la mémoire est pleine, la plus vieille page est remplacée. Donc:
“first-in, first-out”
➢Simple à mettre en application
otampon consulté et mis à jour seulement aux défauts de pages...
➢Mais: Une page fréquemment utilisée est souvent la plus vielle, elle sera
remplacée par FIFO
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 280
Problème avec FIFO
Les premières pages amenées en mémoire sont souvent
utiles pendant toute l’exécution d’un processus.
◦variables globales, programme principal, etc.
Ce qui montre un problème avec notre façon de comparer
les méthodes sur la base d’une séquence aléatoire:
◦les références aux pages dans un programme réel ne
seront pas vraiment aléatoires

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 281


4. L’algorithme de l’horloge
Semblable à FIFO, mais les cadres qui viennent d’être utilisés (bit=1) ne sont
pas remplacées (deuxième chance)
Les cadres forment conceptuellement un tampon circulaire
Lorsqu’une page est chargée dans un cadre, un pointeur pointe sur le
prochain cadre du tampon
Pour chaque cadre du tampon, un bit “utilisé” est mis à 1 (par le matériel)
lorsque:
une page y est nouvellement chargée
sa page est utilisée
Le prochain cadre du tampon à être remplacé sera le premier qui aura son
bit “utilisé” = 0.
Durant cette recherche, tout bit “utilisé” = 1 rencontré sera mis à 0
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 282
Contenu du 1. Définition
cours 2. Structure d’un fichier
3. Méthodes d’accès
Chapitre III: Gestion 4. Répertoires
des ressources 5. Allocation
« Gestion des
fichiers»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 283


V.1 Définition
➢ Un fichier est une suite de 0 et de 1 représentant de
l’information codée avec un format prédéfini.
➢ Collection nommée d’informations apparentées, enregistrée
sur un stockage secondaire
◦Nature permanente
➢ Les données qui se trouvent sur un stockage secondaires
doivent être dans un fichier
➢ Différents types:
◦Données (binaire, numérique, caractères….)
◦Programmes
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 284
Contenu du 1. Définition
cours 2. Structure d’un fichier
3. Méthodes d’accès
Chapitre III: Gestion 4. Répertoires
des ressources
5. Allocation
« Gestion des
fichiers»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 285


2.1 Attribut d’un fichier
Constituent les propriétés d’un fichier et sont stockés dans un fichier
spécial appelé répertoire (directory). Exemples d’attributs:
Nom: pour permet aux personnes d’accéder au fichier
Identificateur: un nombre permettant au SE d’identifier le
fichier
Type: binaire, texte, png, …
Position: indique le disque et l’adresse du fichier sur disque
Taille: en bytes ou en blocs
Protection: détermine qui peut écrire, lire, exécuter…
Date: pour la dernière modification, ou dernière utilisation
Autres…
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 286
2.2 Opération sur les fichiers
➢Création
➢Écriture
oPointeur d’écriture qui donne la position d’écriture
➢Lecture
oPointeur de lecture
➢Positionnement dans un fichier (temps de recherche)
➢Suppression d’un fichier
oLibération d’espace
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 287
2.3 Autres opérations
➢Ajout d’infos
➢Ré-nommage
➢Copie: peut être faite par ré-nommage: deux noms pour un seul
fichier
➢Ouverture d’un fichier: le fichier devient associé à un processus
qui en garde les attributs, position, etc.
oPointeurs de fichier: Pour accès séquentiel
oCompteur d’ouvertures
oEmplacement
➢Fermeture
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 288
2.4 Types de fichiers
➢Certains SE utilisent l’extension du nom du fichier pour identifier le type.
oMicrosoft: Un fichier exécutable doit avoir l’extension .EXE, .COM, ou
.BAT (sinon, le SE refusera de l’exécuter)
➢Le type n’est pas défini pour certains SE
oUnix: l’extension est utilisée (et reconnue) seulement par les
applications
➢Pour certains SE le type est un attribut
oMAC-OS: le fichier a un attribut qui contient le nom du programme qui
l’a généré (ex: document Word Perfect)
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 289
Voici une liste non exhaustive :
✓odt : fichier document d’OpenOffice (format libre)
✓doc : fichier document de Microsoft Word (format propriétaire)
✓txt : fichier texte sans mise en forme (format libre)
✓ods : tableur OpenOffice 2 (format libre)
✓xls : tableur Microsoft Excel (format propriétaire)
✓odp : présentation OpenOffice 2 (format libre)
✓pps, ppt : présentation Microsoft PowerPoint (format propriétaire)
✓bmp : le plus ancien, lisible par tous les logiciels mais lourd et très peu utilisé
✓jpeg, jpg : utilisé sur Internet et avec les appareils photo numériques
✓png : utilisé sur Internet (format libre)
✓gif : utilisé sur Internet, avec animations possibles (format propriétaire)
✓wav : le plus simple, le plus lourd également.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 290


✓mp3 : format compressé qui réduit considérablement la taille
✓cda : format sur CD audio
✓wma : format Microsoft (propriétaire)
✓mpg, mpeg : beaucoup d’utilisations et différents types de mpg
✓avi : format compressé
✓DivX : format compressé avec perte de qualité minine
✓vob : utilisé pour les DVD
✓zip : associé au logiciel WinZip (mais aussi à d’autres logiciels du même type comme
✓PowerArchiver)
✓7z : associé au logiciel 7-Zip (libre de droit)
✓rar : associé au logiciel WinRar
✓pdf : fichier document de Adobe Acrobat Reader
✓exe : fichier executable pour installer ou lancer un programme
✓pub : document Microsoft Publisher (format propriétaire)
✓bat : fichier de commande
✓sys : fichier system
✓dll : Dynamic Link Library, ou en français Bibliothèque de liens dynamiques, fichier à un
ou plusieurs programmes
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 291
Contenu du 1. Définition
cours 2. Structure d’un fichier
3. Méthodes d’accès
Chapitre III: Gestion 4. Répertoires
des ressources
5. Allocation
« Gestion des
fichiers»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 292


V.3 Méthodes d’accès
➢Séquentiel (rubans ou disques): lecture ou écriture des
enregistrements dans un ordre fixe
➢Indexé séquentiel (disques): accès séquentiel ou accès direct
(aléatoire) par l’utilisation d’index
➢Indexée: multiplicité d’index selon les besoins, accès direct par
l’index
➢Direct ou hachée: accès direct à travers tableau d’hachage
Tous les SE ne supportent pas toutes les méthodes d’accès
Quand le SE ne les supporte pas, c’est à l’application de les supporter
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 293
V.3. Méthodes d’accès
La structure logique d’un fichier détermine sa méthode d’accès
Plusieurs SE modernes (Unix, Linux, MS-Windows…) fournissent
une seule méthode d’accès (séquentielle) car les fichiers sont
tous du même type (ex: séquence d’octets)
Mais leur méthode d’allocation de fichiers permet
habituellement aux applications d’accéder aux fichiers de
différentes manières
Ex: les systèmes de gestions de bases de données (DBMS)
requièrent des méthodes d’accès plus efficaces que juste
séquentielle
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 294
V.3.1 Accès séquentiel

La seule façon de retourner en


arrière est de retourner au début En avant seulement, 1 seul enreg. à
(rébobiner, rewind) la fois

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 295


✓Un fichier séquentiel consiste en blocs d’octets enregistrés sur un support tel que
ruban, disque…
✓La dimension de ces blocs est dictée par les caractéristiques du support
✓Ces blocs sont lus (lecture physique) dans un tampon en mémoire
✓Un bloc contient un certain nombre d’enregistrements (records) qui sont des unités
d’information logiques pour l’application (un étudiant, un client, un produit…)
✓Une lecture dans un programme lit le prochain enregistrement
✓Cette lecture peut être réalisée par:
oLa simple mise à jour d’un pointeur si la lecture logique précédente ne s’était pas
rendue à la fin du tampon
oLa lecture du prochain bloc (dans un tampon d’E/S en mémoire) si la lecture
logique précédente s’était rendue à la fin du tampon
oDans ce cas le pointeur est remis à 0

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 296


Autres propriétés des fichiers séquentiels
➢Pour l’écriture, la même idée: une instruction d’écriture dans
un programme cause l’ajout d’un enregistrement à un tampon,
quand le tampon est plein il y a une écriture de bloc
➢Un fichier séquentiel qui a été ouvert en lecture ne peut pas
être écrit et vice-versa (impossible de mélanger lectures et
écritures)
➢Les fichiers séquentiels ne peuvent être lus ou écrits qu’un
enregistrement à la fois et seulement dans la direction ‘en
avant’
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 297
Mise à jour de fichiers séquentiels
Fichier
Vieux maître mise à
jour

Programme de mise à
jour

Tous les fichiers


Nouveau
sont triés par la maître
même clé
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 298
V.3.2 Accès direct ou haché ou aléatoire
➢Une fonction d’hachage est une fonction qui traduit une clé dans
adresse,
◦ P.ex. Matricule étudiant → adresse disque
➢Rapide mais:
◦Si les adresses générées sont trop éparpillées, gaspillage d’espace
◦Si les adresses ne sont pas assez éparpillées, risque que deux clés
soient renvoyées à la même adresse
◦Dans ce cas, il faut de quelques façon renvoyer une des clés à
une autre adresse
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 299
Problème avec les fonctions d’hachage

Fonction d’hachage dispersée Fonction d’hachage concentrée qui utilise


qui n’utilise pas bien l’espace mieux l’espace mais introduit des doubles
disponible affectations

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 300


Hachage: Traitement des doubles affectations
On doit détecter les doubles affectations, et s’il y en a, un des deux
enregistrements doit être mis ailleurs
◦ ce qui complique l’algorithme

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 301


V.3.3 Accès Indexé
Un index permet d’arriver directement à l’enregistrement désiré, ou
en sa proximité
Chaque enregistrement contient un champ clé
Un fichier index contient des repères (pointeurs) à certain points
importants dans le fichier principal
Le fichier index pourra être organisé en niveaux (p.ex. dans l’index
de S on trouve l’index de tous ceux qui commencent par S)
Le fichier index permet d’arriver au point de repère dans le fichier
principal, puis la recherche est séquentielle
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 302
Contenu du 1. Définition
cours 2. Structure d’un fichier
3. Méthodes d’accès
Chapitre III: Gestion 4. Répertoires
des ressources
5. Allocation
« Gestion des
fichiers»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 303


4.1 Définition
➢ Elément de la structure d’organisation des fichiers dans un
disque.
➢ Ensemble des instructions de commande d’un ordinateur.
➢ Partie d’une adresse URL qui indique l’emplacement de la
ressource sur le serveur.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 304


4.2 Organisation

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 305


4.2 Organisation
Efficacité: arriver rapidement à un enregistrement
Structure de noms: convenable pour usager
◦deux usagers peuvent avoir le même noms pour fichiers
différents
◦Le même fichier peut avoir différents noms
Groupement de fichiers par type:
◦tous les programmes Java
◦tous les programmes objet
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 306
Structure à un niveau
➢Un seul répertoire pour tous les usagers
➢Ambiguïté de noms
➢Problèmes de groupement
➢Primitif, pas pratique

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 307


Répertoires à deux niveaux
➢Répertoire séparé pour chaque usager
➢‘path name’, nom de chemin
➢même nom de fichier pour usagers différents est permis
➢recherche efficace
➢Pas de groupements

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 308


Répertoires à arbres (normal aujourd’hui)
➢Recherche efficace
➢Possibilité de grouper
➢Repertoire courant

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 309


4.3 Opérations sur répertoires
➢Recherche de fichier
➢Création de fichier
➢Suppression de fichier
➢Lister un répertoire
➢Rénommer un fichier
➢Traverser un système de fichier

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 310


Contenu du 1. Définition
cours 2. Structure d’un fichier
3. Méthodes d’accès
Chapitre III: Gestion 4. Répertoires
des ressources
5. Allocation
« Gestion des
fichiers»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 311


V.5.1 Structures de systèmes de fichiers
➢Le système de fichiers réside dans la mémoire secondaire:
disques, clé-USB, ...
➢ Le système de fichiers:
o L’ensemble des fonctionnalités mises en œuvre pour la
gestion des fichiers dans un SE
o partie essentielle du système d’exploitation qui gère les
fichiers.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 312


➢ Fonctionnalité d’un système de fichiers:
o Correspondance entre fichiers et dispositifs physiques =
placement sur disques/bandes
magnétiques/mémoiresflash...
o Organisation interne et externe des fichiers.
o Gestion des requêtes pour l’accès aux fichiers.
o Protection des fichiers.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 313


➢Windows:
• MS-DOS ou FAT 16 (file allocation table) (≤W95); FAT32 (W98)
• NTFS
• WinFS
• Joliet (Pour les CD-ROM)
➢MacOS:
• NFS
➢UNIX:
• Ufs (Unix BSD)
• Ext2fs, ext3fs, …
• Reiserfs
• Iso9660 (Pour les CD-ROM)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 314


V.5.2 Structure physique des fichiers
La mémoire secondaire est subdivisée en blocs et chaque opération
d’E/S s’effectue en unités de blocs
Sur disque: un bloc est constitué d’un multiple de secteurs
contiguës (ex: 1, 2, ou 4)
la taille d’un secteur est habituellement 512 bytes
Il faut donc insérer les enregistrements dans les blocs et les extraire
par la suite
Les fichiers sont alloués en unité de blocs.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 315


V.5.3 Allocation
Il existe trois méthodes d’allocation
◦Allocation contiguë
◦Allocation enchaînée
◦Allocation indexée

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 316


1. Allocation contiguë

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 317


1. Allocation contiguë
➢Chaque fichier occupe un ensemble de blocs contiguë sur disque
➢Simple: nous n’avons besoin que d’adresses de début et longueur
➢Supporte tant l’accès séquentiel, que l’accès direct
➢Application des problèmes et méthodes vus dans le chapitre de
l’allocation de mémoire contiguë
➢Les fichiers ne peuvent pas grandir
➢Impossible d’ajouter au milieu
➢Exécution périodique d’une compression (compaction) pour
récupérer l’espace libre
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 318
2. Allocation enchaînée
➢Le répertoire contient l’adresse du premier et dernier bloc,
possible le nombre de blocs
➢Chaque bloc contient un pointeur à l’adresse du prochain
bloc:
bloc = pointeur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 319


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 320
Tableau d’allocation de fichiers

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 321


Avantages - désavantages
➢ Pas de fragmentation externe - allocation de mémoire
simple, pas besoin de compression
➢ L’accès à l’intérieur d’un fichier ne peut être que
séquentiel
oPas de façon de trouver directement le 4ème
enregistrement...
➢L’intégrité des pointeurs est essentielle
➢Les pointeurs gaspillent un peu d’espace
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 322
3. Allocation indexée: semblable à la pagination
Tous les pointeurs sont regroupés dans un tableau (index block)

index table

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 323


-1: pointeur nul

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 324


3. Allocation indexée
➢À la création d’un fichier, tous les pointeurs dans le tableau sont nil (-1)
➢Chaque fois qu’un nouveau bloc doit être alloué, on trouve de l’espace
disponible et on ajoute un pointeur avec son adresse
➢Pas de fragmentation externe, mais les index prennent de l’espace
➢Permet accès direct (aléatoire)
➢Taille de fichiers limitée par la taille de l’index block
oMais nous pouvons avoir plusieurs niveaux d’index: Unix
➢Index block peut utiliser beaucoup de mémoire

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 325


V.4 Structure de mémoire de masse (disques)
Concepts importants :
Fonctionnement et structure des unités disque
Calcul du temps d’exécution d’une séquence d’opérations
Différents algorithmes d’ordonnancement
Fonctionnement, rendement
Gestion de l’espace de permutation

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 326


Disques magnétiques
Plats rigides couverts de matériaux d’enregistrement
magnétique
◦surface du disque divisée en pistes (tracks) qui sont
divisées en secteurs
◦le contrôleur disque détermine l`interaction logique entre
l’unité et l’ordinateur

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 327


Nomenclature -
cylindre: l’ensemble de pistes qui se trouvent dans la même
position du bras de lecture/écriture

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 328


Disques électroniques
Aujourd’hui nous trouvons de plus en plus des types de
mémoires qui sont adressées comme si elles étaient des
disques, mais sont complètement électroniques
◦ P. ex. flash memory
◦ Il n’y aura pas les temps de positionnement, latence, etc.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 329


V.5 Ordonnancement disques
✓Problème: utilisation optimale du matériel
✓Réduction du temps total de lecture disque
o étant donné une file de requêtes de lecture disque, dans quel
ordre les exécuter

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 330


Paramètres à prendre en considération
➢Temps de positionnement (seek time):
◦ le temps pris par l`unité disque pour se positionner sur le cylindre désiré
➢Temps de latence de rotation (latency time)
◦ le temps pris par l ’unité de disque qui est sur le bon cylindre pour se
positionner sur le secteur désirée
➢Temps de lecture
◦ temps nécessaire pour lire la piste
Le temps de positionnement est normalement le plus important, donc il est
celui que nous chercherons à minimiser
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 331
File d’attente disque
➢Dans un système multiprogrammé avec mémoire virtuelle, il y aura
normalement une file d’attente pour l’unité disque
➢Dans quel ordre choisir les requêtes d’opérations disques de façon à
minimiser les temps de recherche totaux
➢Nous étudierons différentes méthodes par rapport à une file d’attente
arbitraire: 98, 183, 37, 122, 14, 124, 65, 67
➢Chaque chiffre est un numéro séquentiel de cylindre
➢Il faut aussi prendre en considération le cylindre de départ: 53
➢Dans quel ordre exécuter les requêtes de lecture de façon à minimiser les
temps totaux de positionnement cylindre
➢Hypothèse simpliste: un déplacement d`1 cylindre coûte 1 unité de temps
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 332
1.Premier entré, premier sorti: FIFO

axe de
rotation

Mouvement total: 640 cylindres = (98-53) + (183-98)+...


En moyenne: 640/8 = 80
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 333
2.SSTF: Shortest Seek Time First
Plus Court Temps de Recherche (positionnement)
d’abord (PCTR)
À chaque moment, choisir la requête avec le temps de
recherche le plus court à partir du cylindre courant
Clairement meilleur que le précédent
Mais pas nécessairement optimal!
Peut causer famine

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 334


2.SSTF: Shortest Seek Time First

Mouvement total: 236 cylindres (680 pour le précédent)


En moyenne: 236/8 = 29.5 (80 pour le précédent)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 335


3. SCAN: l’algorithme de l’ascenseur LOOK
➢Scan : La tête balaye le disque dans une direction, puis dans la
direction opposée, jusqu’au bout. etc., en desservant les
requêtes quand il passe sur le cylindre désiré
◦ Pas de famine
➢Look : La tête balaye le disque dans une direction jusqu’il n’y
aie plus de requête dans cette direction, puis dans la direction
opposée de même, etc., en desservant les requêtes quand il
passe sur le cylindre désiré

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 336


C-LOOK

➢ 153 sans considérer le retour


(19.1 en moyenne) (26 pour SCAN)
➢ MAIS 322 avec retour (40.25 en
moyenne)
➢ Normalement le retour sera
rapide donc le coût réel sera
entre les deux

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 337


C-LOOK avec direction initiale opposée

Retour 169

Résultats très semblables:


157 sans considérer le retour, 326 avec le retour
3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 338
3. SCAN: l’ascenseur

Mouvement total: 208 cylindres


En moyenne: 208/8 = 26 (29.5 pour SSTF)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 339


Problèmes du SCAN
➢Peu de travail à faire après le renversement de direction
➢Les requêtes seront plus denses à l’autre extrémité
➢Arrive inutilement jusqu’à 0

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 340


C-SCAN
Retour rapide au début (cylindre 0) du disque au lieu de
renverser la direction
Hypothèse: le mécanisme de retour est beaucoup plus rapide
que le temps de visiter les cylindres

C-LOOK
La même idée, mais au lieu de retourner au cylindre 0, retourner
au premier cylindre qui a une requête

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 341


Contenu du
cours 1. Définition et principe
2. Vecteur d’interruptions
Chapitre III: Gestion 3. Architecture matérielle
des ressources 4. Différents mode d’E/S
« Entrées/Sorties»

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 342


Définition et Principe
Une interruption est un mécanisme qui permet
d'interrompre l'exécution d'un processus suite à un
événement extérieur ou intérieur et de passer le contrôle à
une routine dite "routine d'interruption" (traitant
d’interruption ou interrupt handler).

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 343


Définition et Principe
Les interruptions peuvent d’être d’origines diverses, mais on
les classe généralement en trois grands types :
• externes (indépendantes du processus) interventions de
l'opérateur, pannes, etc.
• déroutements erreur interne du processeur,
débordement, division par zéro, défaut de page, etc.
• appels-systèmes, comme les demandes d'entrées-sorties
par exemple.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 344


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 345
Vecteur d’interruptions
Lorsque le signal d’une interruption arrive, il modifie l'état
d'un indicateur (drapeau ou flag) qui est régulièrement testé
par l'unité centrale. Une fois que le signal est détecté, il faut
déterminer la cause de l'interruption. Pour cela on utilise un
indicateur, pour les différentes causes d’interruption. On
utilise cet indicateur pour accéder à un vecteur
d’interruptions qui associe à chaque type d’interruption
l’adresse de la routine d’interruption correspondante.
Un vecteur d’interruption a donc la structure suivante :

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 346


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 347
Les déroutements sont au nombre de 6 et concernent :
• La division par zéro
• Le fonctionnement pas à pas (une interruption est générée à
chaque instruction)
• Les problèmes pouvant apparaître lors de l'accès à la mémoire
(défaut de page, par exemple)
• L'atteinte d'un point d'arrêt
• Le débordement numérique
• La non reconnaissance d'une instruction

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 348


Les interruptions matérielles sont au nombre de 16.
Elles sont baptisées IRQ 0 à 15. Certaines sont pré-affectées,
mais beaucoup d'entre elles ne sont affectées à des
événements périphériques que lors de la configuration de la
machine. En voici quelques unes :

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 349


3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 350
Les interruptions logicielles utilisent le même
mécanisme, si ce n'est qu'elles sont générées par des
instructions spécifiques qui permettent d'appeler des
fonctions du BIOS ou du système d'exploitation sans
en connaître les adresses d'implantation qui peuvent
d’ailleurs varier d'une version à l'autre

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 351


ARCHITECTURE MATERIELLE
1. Les contrôleurs
Un périphérique d’E/S contient en fait deux parties : un
appareil (clavier, écran, disque, …) et un contrôleur de
périphérique. Le contrôleur sert d’interface entre le
périphérique et le processeur : il reçoit les requêtes du
processeur et les transforme en commandes pour le
périphérique, et réciproquement, il envoie les requêtes
du périphérique au processeur.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 352


ARCHITECTURE MATERIELLE
il y a deux grandes catégories de périphériques :
➢ Les périphériques par caractères et les périphériques
par blocs. Dans un périphérique par blocs, on ne peut
accéder à l’information que par blocs et chaque bloc
possède une adresse (exemple : le disque).
➢ Les périphériques par caractère: on accède à
l’information caractère par caractère (exemple : le clavier)

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 353


ARCHITECTURE MATERIELLE
2. Les drivers
Chaque contrôleur de périphérique a des
commandes spécifiques. Comme un concepteur de
SE ne peut inclure dans son logiciel l’ensemble des
commandes de l’ensemble des périphériques, il
existe différentes couches logicielles pour réaliser
l’interface entre le SE et les périphérique.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 354


Du point de vue du SE, les périphériques n’ont besoin que
d’être lus ou écrits, ce qui constitue l’interface de plus haut
niveau. Ensuite, la façon d’accéder à un périphérique diffère
suivant qu’il s’agit d’un périphérique par blocs (plusieurs
blocs adressables indépendamment) ou par caractères (flux
de caractères) ; il existe donc une interface de bas niveau
pour ces deux types de périphériques.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 355


LES DIFFERENTS MODES D’ENTREES/SORTIES
Les entrées-sorties programmées: La façon la plus simple
d'assurer la liaison entre le bus et un périphérique, est de
faire une simple adaptation des signaux
Les entrées-sorties par interruptions Pour éviter la
monopolisation du processeur pendant toute la durée de
l’E/S, une première amélioration a été apportée grâce au
mécanisme d’interruption.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 356


LES DIFFERENTS MODES D’ENTREES/SORTIES
Les entrées-sorties par accès direct à la mémoire Pour accroître
le débit potentiel des entrées-sorties, et diminuer la
monopolisation du processeur dont nous avons parlé ci-dessus,
une autre solution a été de déporter un peu de fonctionnalité
dans le dispositif qui relie le périphérique au bus, de façon à lui
permettre de ranger directement les données provenant du
périphérique en mémoire dans le cas d'une lecture, ou
d'extraire directement ces données de la mémoire dans le cas
d'une écriture. C'est ce que l'on appelle l'accès direct à la
mémoire, ou encore le vol de cycle.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 357


LES DIFFERENTS MODES D’ENTREES/SORTIES
Les entrées-sorties par processeur spécialisé L’autre façon de relier un
périphérique avec la mémoire est d'utiliser un processeur spécialisé
d'entrées-sorties, c'est-à-dire de déléguer plus d'automatisme à ce niveau.
LES ENTREES/SORTIES SYNCHRONES/ASYNCHRONES :
Suivant le mode de transfert utilisé, le mode d’entrée-sortie peut être
synchrone ou asynchrone : - Une opération d’E/S est dite synchrone si le
processeur doit attendre la fin de l ‘opération d’E/S pour continuer son
traitement ; on dit aussi que dans ce cas le transfert est bloquant. - Une
opération d’E/S est dite asynchrone si le processeur peut lancer
l’opération et accomplir d’autre tâches en parallèle. Il sera informé de la
fin de l’opération d’ES par une interruption.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 358


LES DIFFERENTS MODES D’ENTREES/SORTIES
LES PILOTES DE PERIPHERIQUES : DRIVERS Un pilote (driver)
est un programme qui gère un périphérique. Chaque
contrôleur possède un ou plusieurs registres de commande.
Les pilotes de périphériques envoient ces commandes et
vérifient leur bon cheminement.

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 359


Contenu du
cours 1. Sous Windows
2. Sous Linux
Chapitre IV: Gestion 3. Sous Mac’OS
des utilisateurs

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 360


TRAVAUX EN GROUPE
➢ Cohabitation de Windows et Linux
➢ Dépannage de Windows
➢ Manipulation du fichier journal
➢ Backup des pilotes
➢ Outils systèmes
➢ Création d’un point de restauration de Windows

3 mai 2022 COURS DE SYSTÈME D'EXPLOITATION_L2-ESIS_2021-2022/PATIENT KASONGO 361

Vous aimerez peut-être aussi