Vous êtes sur la page 1sur 365

Cours de système

d’exploitation
ESIS 2022-2023
L3_TOUS
DISPENSÉ PAR PATIENT KASONGO
➢Matière: Système d’exploitation
➢Public ciblé: Futurs licenciés en
informatique de l’ESIS
➢Promotion: L3, édition 2022-2023
➢ Crédit: 4
Fiche de la ✓ 2 Crédits pour CMI
matière ✓ 1 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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 8


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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).

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 20


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 23


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 28


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 29


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 32


I.1 Aperçu

Un chef d’orchestre
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 46


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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 ;
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.).

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 52


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 54


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 58


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 60


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 61
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 63


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.).

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 67


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 68
I.6.5 OS Machine virtuelle
Possibilité de mettre plusieurs OS sur une machine
physique: XEN, VMWare, QEMU, etc.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 69


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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é).

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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...

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 74


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 77


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 78
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 79
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 80
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 81
I.7 Evolution des SE
1980 -- : ordinateurs personnels
Interface graphique (concept créé vers 1960)
Réseaux et systèmes distribués
➢ Système exploitation necessaire

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 82


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 83


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 84


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 85
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 ;

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 86


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 » ;
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 87
Logo Mac’os

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 88


I.7. Evolution des SE: Windows

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 89


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 90
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 91
Logo Windows

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 92


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 93
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 94
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 95
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 96
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 97


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 98


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


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 99
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:

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 100


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 101


Logo des différentes distribution Linux

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 102


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 103


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”

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 104


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 105


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 106


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 107
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 108


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 109


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 110


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 111
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 .

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 112


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 113
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 114


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 115


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 116


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 117


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 118


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 119


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 120


Logo Antivirus

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 121


Logo Antivirus

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 122


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 123
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 124
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 125


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 126
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 127
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 128


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 129


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 130


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 131


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 132


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 133


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 :

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 134


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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 135
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 136


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é,

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 137


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 138


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 139


moyen

court

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 140


Schéma d’ordonnancement à court terme

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 141


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 142


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 143


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 144
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 145


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 146


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 147
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 148


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 149


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 150
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/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)
et Synchronisation
7. Commutation des processus
des processus
8. Algorithme d’ordonnancement

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 152


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 153


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 154
➢ 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.,

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 155


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 156
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 157
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 158
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 159


P2

P1

système

T
Le multi-tâche

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 160


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 161
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 162


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 163


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 164


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 165


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 166


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 167
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 168
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 169


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 170
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


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 171
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 172
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 173
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 174


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 175
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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 176


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é

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 177


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 178


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 179


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 180


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 181
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 182
PRIO = 0

PRIO = 1

PRIO = 2

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 183


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 184
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 185


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 186
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 187


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 188


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 189


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 190


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 191


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 192


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 193


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 194


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 195


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 196
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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 197
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 198


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 199


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 200


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 201


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 202


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 203
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 204


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 205


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 206


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 207


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 208


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 209


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 210
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 211
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 212


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...
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 213
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 214


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 215


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!
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 216
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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 217


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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 218
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.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 219
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 220
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])

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 221


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 222


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 223


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 224


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 225
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 226
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 227


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 228
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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 229


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 230


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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 231


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 232


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 233


2.2 Traduction adr logiques →adr. physiques

MMU: unité de gestion de mémoire


unité de traduction adresses
(Memory Management Unit)
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 234
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 235


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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 236


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 237


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 238
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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 239


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 240


4.1 Affectation contiguë de mémoire

SE

programme 1

programme 2
disponible
programme 3

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 241


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 242


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 243
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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 244


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 245
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 246


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 247
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...

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 248


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 249


(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é.
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 250
(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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 251


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 252


Worst Fit

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 253


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 254
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 255


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 256
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 257


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 258


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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 259


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 260


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 261
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;
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 262
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 263


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 264


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 265
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 266
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 »

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 267


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 268
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 269
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 270


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 271
Tableaux de pages

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 272


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)
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 273
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 274
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 275


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 276
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 277
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 278


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é

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 279


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`

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 280


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 281


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)
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 282
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 283


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 284
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 285


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 286
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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 287


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 288
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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 289


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…
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 290
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 291
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 292
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)
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 293
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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 294


✓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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 295
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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 296


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 297
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 298
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 299


✓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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 300


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’
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 301
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é
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 302
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 303
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 304


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 305


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 306
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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 307


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 308


4.2 Organisation

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 309


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 310
Structure à un niveau
➢Un seul répertoire pour tous les usagers
➢Ambiguïté de noms
➢Problèmes de groupement
➢Primitif, pas pratique

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 311


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 312


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 313


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 314


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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 315


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 316


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 317


➢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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 318


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 319


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 320


1. Allocation contiguë

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 321


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 322
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 323


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 324
Tableau d’allocation de fichiers

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 325


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 326
3. Allocation indexée: semblable à la pagination
Tous les pointeurs sont regroupés dans un tableau (index block)

index table

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 327


-1: pointeur nul

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 328


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 329


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 330


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 331


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 332


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 333


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 334


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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 335
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
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 336
1.Premier entré, premier sorti: FIFO

axe de
rotation

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


En moyenne: 640/8 = 80
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 337
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 338


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 339


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é

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 340


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 341


C-LOOK avec direction initiale opposée

Retour 169

Résultats très semblables:


157 sans considérer le retour, 326 avec le retour
10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 342
3. SCAN: l’ascenseur

Mouvement total: 208 cylindres


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 343


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 344


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 345


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»

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 346


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 347


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 348


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 349
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 :

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 350


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 351
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 352


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 :

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 353


10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 354
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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 355


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 356


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)

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 357


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 358


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 359


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 360


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 361


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 362


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.

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 363


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 364


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

10 février 2023 COURS DE SYSTÈME D'EXPLOITATION_L3-ESIS_2022-2023/PATIENT KASONGO 365

Vous aimerez peut-être aussi