Syst' Eme D'Exploitation: June 26, 2024

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 323

Généralités sur les systèmes d’exploitation

Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

SYSTÈME D’EXPLOITATION

June 26, 2024


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

1 Généralités sur les systèmes d’exploitation

2 Le système d’interruption

3 Gestion des processus système

4 La gestion de la mémoire

5 Ordonnancement

6 Synchronisation des Processus

7 Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Systèmes d’exploitation

Lorsque vous avez un problème avec votre ordinateur, quand


vous voulez acheter un ordinateur ou lorsque vous cherchez un
renseignement, vous avez peut-être déjà entendu parler du
système d’exploitation . Qu’est-ce que c’est ?
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

En informatique, le système d’exploitation (OS en Anglais)


est l’interface qui permet de faire le lien entre l’utilisateur, les
programmes et les composants de l’ordinateur. Quand vous
allumez votre ordinateur, c’est grâce à cela que vous voyez des
fenêtres, que vous pouvez gérer vos fichiers, installer des
programmes ou des périphériques externes.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

En informatique, les 3 principaux systèmes d’exploitation sont


: Windows, macOS et Linux. Ces systèmes d’exploitation
ont évolué avec le temps, il en existe donc plusieurs versions.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Windows

Windows a été créé par Microsoft, il est actuellement le plus


répandu des 3. La version vendue actuellement est Windows
10, mais vous risquez de rencontrer d’anciennes versions :
Windows 8, Windows 7, Windows Vista ou encore
Windows XP. Ce système est vendu sur différentes marques
d’ordinateurs (Acer, Asus, Dell, HP, Sony, Toshiba...)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

macOS

macOS (anciennement OS X) a été développé par la société


Apple. Ce système d’exploitation n’est présent que sur les
ordinateurs de la marque Apple (Macintosh). Ceux-ci sont
facilement reconnaissables grâce au logo représentant une
pomme. La version actuellement vendue est macOS Sierra,
la version macOS High Sierra devrait sortir à l’automne
2017.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Enfin, Linux est le moins connu des 3 systèmes d’exploitation.


Il est rarement installé par défaut sur un ordinateur. Gratuit
et libre, il est surtout utilisé par ceux qui ont de bonnes
connaissances en informatique.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Chaque système d’exploitation a sa propre présentation et son


ergonomie, mais surtout, cela a un impact sur l’utilisation des
logiciels. En effet, certains logiciels ne peuvent être utilisés
que sur macOS ou Windows. N’hésitez pas à vous
renseigner si vous voulez acheter un ordinateur.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Quel système d’exploitation est installé sur mon ordinateur


?

Windows
Windows est le système d’exploitation le plus fréquent. On
reconnait généralement ce système d’exploitation à sa barre
des tâches en bas de l’écran, ainsi qu’à l’icône ”Windows” en
bas à gauche de l’écran. Cette barre et le bureau ont évolué
avec les versions de Windows et cela permet généralement de
les différencier :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Windows 7
Sur Windows 7, le ”bouton Démarrer”est de forme ronde et
permet d’afficher le ”menu Démarrer”
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Windows 8
Sur Windows 8, le ”bouton Démarrer” permet de basculer
entre les 2 interfaces : Modern UI (avec les tuiles) et Bureau
(avec les icônes traditionnelles).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Windows 10
Sur Windows 10, le ”bouton Démarrer” permet d’afficher le
”menu Démarrer” qui contient également des tuiles. Une
loupe est présente par défaut à côté de ce bouton. En bas à
droite, l’icône permet d’afficher les notifications récentes.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Quelle est la version de Windows installée ?

Vous avez encore un doute sur la version de Windows exécutée sur


votre PC ? Voici 2 méthodes pour trouver la réponse :
Sur le bureau, faites un clic droit sur l’icône ”Ordinateur”
(aussi appelée ”Ce PC” sur les dernières versions de Windows)
et sélectionnez l’option ”Propriétés.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

- Une fenêtre s’ouvre alors, vous pourrez y trouver la version


de l’ordinateur. Exemple:
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

2éme méthode :

Appuyez simultanément sur la touche window du clavier +


touche R.
Tapez winver dans la fenêtre qui s’ouvre.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Sélectionnez OK.
Une fenêtre s’ouvre alors et indique la version de Windows.
Exemple :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

macOS

macOS est uniquement installé sur les ordinateurs de la


marque Apple. Ouvrez l’œil, vous devriez apercevoir le logo
Apple, c’est-à-dire une petite pomme croquée, sur votre

ordinateur.
Voici à quoi ressemble l’interface du bureau. En bas de
l’écran, le ”Dock” présente des raccourcis vers les applications
favorites.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Pour connaitre la version de macOS installée, cliquez en haut

à gauche de l’écran sur l’icône ”Pomme” . Sélectionnez


ensuite l’option ”À propos de ce Mac” du menu déroulant.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Linux

Quant à Linux, il est peu utilisé, vous avez donc peu de


chance de le rencontrer. ” Linux ne désigne en réalité que le
noyau sans interface graphique, ni interface utilisateur ou
autres logiciels. Pour obtenir un système d’exploitation (qu’on
désigne par GNU/Linux), il faut lui rajouter tout un tas de
logiciels et utilitaires. Notons que l’interface graphique sous
Linux est un logiciel comme un autre. Ainsi, il existe plusieurs
interfaces graphiques, les deux plus répandues étant
GNOME et KDE.”
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Voici un bureau Ubuntu, un système d’exploitation


GNU/Linux basé sur la distribution Linux Debian.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les fonctionnalités du système d’exploitation

Le système d’exploitation offre une suite de services généraux


facilitant la création et l’utilisation de logiciels applicatifs. Les
services offerts sont en rapport avec l’utilisation des ressources
de l’ordinateur.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Gestion des processeurs. Gérer l’allocation des processeurs


entre les différents programmes grâce à un algorithme
d’ordonnancement.
Gestion des processus. Gérer l’exécution des processus en
leur affectant les ressources nécessaires à leur bon
fonctionnement.
Gestion des mémoires. Gérer l’espace mémoire alloué à
chaque processus.
Gestion des périphériques. Contrôler l’accès des processus
aux ressources matérielles par l’intermédiaire des pilotes.
Gestion des fichiers. Gérer la lecture et l’écriture dans le
système de fichiers et les droits d’accès aux fichiers par les
utilisateurs et les applications
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Générations des systèmes d’exploitation

Dans cette section, nous présentons les types de systèmes


d’exploitation. Les systèmes d’exploitation informatiques
modernes peuvent être classés en six groupes, qui se
distinguent par la nature de l’interaction qui a lieu entre
l’utilisateur de l’ordinateur et son programme pendant son
traitement. Ces groupes sont appelés systèmes
d’exploitation par lots, à temps partagé et en temps réel.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mono utilisateur/Mono tâche, c’est le cas le plus simple :


Un seul utilisateur à la fois et une seule tâche à la fois. Les
systèmes d’exploitation des premiers micro-ordinateurs ne
dépassaient pas ce niveau de complexité.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Multitâches, il assure le partager le temps du processeur


entre plusieurs programmes. Le passage de l’exécution d’un
programme à un autre peut être initié :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Par les programmes eux-mêmes (coopératif)


Par le S.E (préemptif)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Multiutilisateurs (temps partagé), Plusieurs utilisateurs


peuvent utiliser simultanément une même machine pour des
applications similaires ou différentes. Et chaque utilisateur à
l’impression d’être le seul à utiliser l’ordinateur.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Temps réels, servent pour le pilotage et le contrôle des


déroulements externes (exemple central électrique), doivent
garantir des temps de réactions données pour des signaux
extérieurs urgents.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Distribués, doivent permettre l’exécution d’un seul


programme sur plusieurs machines. Distribuer les tâches et les
remettre ensemble. Pour gros calculs, exemple inversion de
grandes matrices.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Noyau et appels systèmes

Les trois premières fonctions du sysème d’exploitation (aide,


abstraction, augemntation) pourraient être rendues par une
bibliothèque de fonctions standard, liée aux applications au
moment de la compilation.
Les applications pourraient, le cas échéant, ne pas passer par
cette bibliothèque. Incompatible avec les fonctions
d”arbitrage et d”autorisation
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mode utilisateur et mode noyau

Un processeur sur un ordinateur exécutant Windows fonctionne


dans deux modes différents : le mode utilisateur et le mode noyau.
Le processeur bascule entre ces modes en fonction du type de
code qu’il exécute. Les applications fonctionnent en
mode utilisateur, tandis que les composants principaux du
système d’exploitation fonctionnent en mode noyau. Bien
que de nombreux pilotes fonctionnent en mode noyau,
certains peuvent fonctionner en mode utilisateur.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mode utilisateur
Lorsque vous lancez une application en mode utilisateur,
Windows crée un processus pour celle-ci. Ce processus
fournit à l’application un espace d’adressage virtuel privé et
une table de handle privée. Étant donné que l’espace
d’adressage virtuel de chaque application est privé, une
application ne peut pas modifier les données d’une autre
application. Chaque application s’exécute de manière isolée,
ce qui garantit que si l’une d’elles se bloque, elle n’affecte pas
les autres applications ou le système d’exploitation.
L’espace d’adressage virtuel d’une application en mode
utilisateur est également limité. Un processus exécuté en
mode utilisateur ne peut pas accéder aux adresses virtuelles
réservées au système d’exploitation. La limitation de
l’espace d’adressage virtuel d’une application en mode
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mode noyau

Tout le code s’exécutant en mode noyau partage un seul


espace d’adressage virtuel. Par conséquent, un pilote en mode
noyau n’est pas isolé des autres pilotes ou du système
d’exploitation. Si un pilote en mode noyau écrit par erreur
dans la mauvaise adresse virtuelle, cela peut compromettre les
données appartenant au système d’exploitation ou à un autre
pilote. Si un pilote en mode noyau se bloque, l’ensemble du
système d’exploitation se bloque.
Le diagramme suivant illustre la communication entre les
composants en mode utilisateur et en mode noyau.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Interactions entre espace utilisateur, noyau et matériel*

Pour pouvoir comprendre ou écrire du code kernel, il est


important de bien assimiler les échanges d’informations entre
les différents composants du système. Nous examinerons dans
cet article les communications et notifications entre l’espace
utilisateur (les applications), le noyau Linux et le matériel
sous-jacent.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Lorsqu’on aborde la programmation dans le noyau Linux, il


n’est pas rare de se sentir un peu submergé par l’ensemble des
concepts présents dans ce nouvel environnement. Si
l’adaptation d’un driver existant pour supporter un nouveau
matériel est souvent assez facile, il n’en reste pas moins que
pour écrire du code portable et robuste, certains mécanismes
doivent être bien compris. Nous allons en voir quelques-uns
dans cet article.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Structure du système Linux

Le modèle des systèmes Gnu/Linux repose sur trois éléments


distincts comme on le voit sur la figure suivante:
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le matériel comprend le processeur (composé de diverses


unités : CPU, ALU, FPU, MMU, etc.), la mémoire et les
périphériques externes au processeur (contrôleurs graphique,
réseau, son, disque, etc.).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La partie logicielle est divisée en deux niveaux : l’espace


utilisateur et l’espace noyau. Il y a une véritable frontière
entre ces deux espaces. En effet, les processeurs actuels
possèdent au moins deux modes de fonctionnement : le mode
utilisateur et le mode superviseur. Le code qui s’exécute alors
que le processeur est en mode superviseur dispose de tous les
droits sur le système.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Il peut accéder directement au matériel, activer ou désactiver


des interruptions, reconfigurer l’adressage mémoire via la
MMU, etc. À l’inverse un code qui s’exécute en mode
utilisateur n’a aucune de ces possibilités.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le noyau Linux s’exécute en mode superviseur et tout le reste


du système en mode utilisateur (y compris les commandes
lancées avec su ou sudo qui n’ont rien à voir avec le mode
superviseur du processeur). Nous avons donc deux mondes
bien distincts, l’un totalement privilégié (celui du kernel) et
l’autre complètement protégé, où aucune erreur de
programmation n’aura de conséquence désastreuse sur le
matériel ni sur le reste des applications.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Il y a trois manières de passer du mode utilisateur au mode noyau :

Il existe une liste bien définie de points d’entrée que les


programmes peuvent invoquer. Ce sont les appels système
(par exemple : open(), read(), write(), ioctl(), mmap(),
fork(), etc.) dont nous allons étudier le principe ci-après
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Lorsqu’un périphérique doit notifier le système de l’occurrence


d’un événement (par exemple l’arrivée d’un caractère sur un
port série, la fin d’une lecture d’un bloc depuis le disque, la
disponibilité d’une trame reçue sur un adaptateur Ethernet,
etc.) il fait une demande d’interruption. Ce signal
électronique indique au processeur d’arrêter son travail en
cours, de sauvegarder son contexte d’exécution, et de se
brancher à une adresse bien définie où se trouve un code
capable de gérer l’événement survenu. Par la même occasion,
le processeur bascule en mode superviseur, aussi toutes les
fonctions de gestion – les handlers – d’interruptions se
trouvent dans le noyau Linux
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Quand un programme de l’espace utilisateur commet une


erreur très grave (tentative de division par zéro,
déréférencement d’un pointeur invalide, exécution d’un code
assembleur illégal...), le processeur détecte directement le
problème et notifie le système par un mécanisme proche de
celui des interruptions que l’on nomme des exceptions. Les
handlers d’exceptions sont automatiquement exécutés en
mode superviseur, et se trouvent donc également dans le
kernel. Leur réaction est d’envoyer au processus un signal
(SIGFPE, SIGSEGV, SIGILL. . . ) qui va généralement le tuer
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les appels système

Entrée dans le kernel


Comment un appel système – une fonction implémentée dans
la bibliothèque C, donc dans l’espace utilisateur – peut-il
faire basculer le processeur en mode superviseur et exécuter
du code dans le noyau ?
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Examinons le fonctionnement de ce petit programme minimal


qui invoque l’appel système write().
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

L’option -static est très importante. Elle demande à l’éditeur


de liens d’inclure directement dans le fichier exécutable tout le
code nécessaire à son fonctionnement, le rendant ainsi
indépendant des bibliothèques dynamiques. Nous savons ainsi
que tout le contenu de la fonction write() dans l’espace
utilisateur est maintenant présent dans le fichier. Nous
pouvons la désassembler et rechercher comment elle déclenche
l’exécution de code dans le noyau. L’exemple a été tout
d’abord compilé sur un processeur x86 64 bits
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Concept de processus

La notion de processus constitue un modèle simple et efficace


pour représenter l‘exécution concurrente de tâches au sein
d’un système d’exploitation multitâches.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définitions

un processus représente l’exécution d’un programme


comportant des instructions et des séquences. C’est une
entité dynamique (active) créée à un instant donné, qui
disparaı̂t en général au bout d’un temps fini.
un processus est un programme en cours d’exécution,
composé de : code, données, pile d’exécution, un compteur
ordinal et autres informations caractérisant son état.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Différence entre processus et programme

le programme est une description statique (entité passive) ; le


processus est une activité dynamique (il y a un début, un
déroulement et un fin, il y a un état qui évolue au cours du
temps). Exemple de processus : Copier un fichier sur disque,
Impression la fiche de paie
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

États d’un processus

Durant son séjour dans un SE, un processus peut changer


d’état à plusieurs reprises. Ces états peuvent être résumés
dans le schéma suivant :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Explication de chacun de ces états :

Prêt : le processus est placé dans la file d’attente des


processus prêts, en attente d’affectation du processeur.
En exécution (Élu ou Actif) : le processus a été affecté à
un processeur libre. Ses instructions sont en exécution.
En attente (Bloqué): Le processus attend qu’un événement
se produise, comme l’achèvement d’une opération d’E/S ou la
réception d’un signal.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La signification des quatre transitions numérotées est la


suivante :

Le processus a épuisé le quantum de temps qui lui a été


attribué. L’ordonnanceur (L’ordonnanceur est la partie de SE
qui contrôle l’attribution de processeur aux processus) élit un
autre processus parmi les processus prêts,
L’ordonnanceur élit ce processus parmi les processus prêts,
Blocage du processus élu dans l’attente d’un évènement (E/S
ou autre)
Réveil du processus bloqué après disponibilité de l’événement
bloquant
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Bloc de contrôle de processus

La gestion des processus impose au système d’exploitation de


garder trace de tout processus quel que soit son état. Pour
cela, le S.E regroupe toutes les informations relatives à un
processus dans une structure de données appelée Descripteur
de Processus ou Bloc de Contrôle de Processus (PCB :
Process Control Block). A la création d’un processus, le S.E
crée son PCB correspondant qui l’identifiera durant sa durée
de vie dans le système. Le PCB peut être vu comme un
enregistrement représenté par la figure suivante :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

NB : Le compteur d’instructions indique l’adresse de la


prochaine instruction à exécuter par le processus. Le noyau de
SE maintient une table pour gérer l’ensemble des processus.
Cette table contient la liste de tous les processus avec des
informations concernant chaque processus.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Changement de contexte

Le passage dans l’exécution d’un processus à un autre


nécessite une opération de sauvegarde de contexte du
processus bloqué, et de chargement de celui du nouveau
processus. En effet, le noyau doit arrêter l’exécution du
processus en cours, copier les valeurs des registres dans le
PCB, et mettre à jour les registres avec les valeurs du
nouveau processus. Le schéma suivant montre les étapes de
cette opération de changement de contexte.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les systèmes d’interruption

Le système d’interruption est la partie de système


d’exploitation qui détecte et prend en charge les interruptions
(signaux matérielles et /ou appels systèmes).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mécanisme de changement de mot d’état

Dans une entité logique (généralement un mot), le SE


regroupe des informations clés sur le fonctionnement du
processeur : c’est le mot (registre) d’état du processus
(Processus Status Word, PSW). Ce dernier comporte
généralement, la valeur du compteur ordinal, des informations
sur les interruptions (masquées ou non), le privilège du
processeur (mode maı̂tre ou esclave),. . . etc. Le mécanisme de
changement d’état permet en une seule opération indivisible
de :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Ranger dans un emplacement spécifié de la mémoire, le


contenu courant de mot d’état du Processus (PSW).
Charger dans le mot d’état un nouveau contenu préparé à
l’avance dans un emplacement spécifié de la mémoire.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définition (Interruption) :

C’est une commutation de mot d’état provoqué par un


évènement qui peut être interne au processus et résultant de
son exécution, ou extérieur et indépendant de cette exécution.
En effet, l’interruption permet de forcer un processeur à
suspendre l’exécution du programme (processus) en cours et à
exécuter un programme spécifié : c’est le programme
d’interruption.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Schéma général d’un programme d’interruption


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Une interruption a pour fonction de forcer un processeur à


réagir à un évènement. L’exécution du programme en cours
est suspendue et, un programme d’interruption est exécuté.
Le programme interrompu repris ensuite son exécution.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Types d’interruptions :

Les interruptions peuvent être classées en deux classes :


Interruptions logicielles : Elles sont appelées par une
instruction à l’intérieur d’un programme. Ces interruptions
ont une fonction définie, par exemple la lecture et l’écriture
sur le disque, l’écriture des données à l’écran, etc.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Interruptions matérielles : Elles sont déclenchées par une


unité électronique (lecteur, clavier, contrôleur de périphérique,
panne de courant,....) ou par l’horloge
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Priorité et masquage des interruptions

A chaque interruption, est associée une priorité (système


d’interruptions hiérarchisées) qui permet de regrouper les
interruptions en classes.
Règle : Une interruption de priorité j est plus prioritaire
qu’une interruption de niveau i si j > i.
L’intérêt de ce système est la solution de problèmes tels que :
- Arrivée de plusieurs signaux d’interruption pendant
l’exécution d’une instruction.
- Arrivée d’un signal d’interruption pendant l’exécution du
signal de traitement d’une interruption précédente.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Selon cette hiérarchie de priorité, on peut envisager une


interruption en cascade dans le cas où la routine
d’interruption elle- même peut être interrompue par une
interruption plus prioritaire.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Il est possible à un processus superviseur de masquer une


interruption. Masquer (inhiber) une interruption revient à
retarder son effet temporairement. Elle peut être démasquée
après. À un instant donné, les interruptions sont soit
masquées soit autorisées, suivant l’état d’un indicateur spécial
du registre d’état, IF (Interrupt Flag).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Si IF = 1 (interruptions autorisées), alors le processeur


accepte les demandes d’interruptions masquables, c’est-à-dire
qu’il les traite immédiatement ;
si IF = 0 (interruptions masquées), alors le processeur ignore
ces interruptions. L’état de l’indicateur IF peut être modifié à
l’aide de deux instructions, CLI (CLear IF pour la mise à 0 de
IF), et STI (SeT IF, pour la mise à 1 de IF).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Déroutement : Quand un indicateur de changement d’état


est modifié par une cause liée à l’exécution d’une instruction
en cours, on dit qu’il y a déroutement(trap). Le mécanisme de
déroutement a essentiellement pour rôle de traiter une
anomalie dans le déroulement d’une instruction :
- Données incorrectes : division par zéro, . . .
- Tentative d’exécution d’une opération interdite par un
dispositif de protection (violationde la mémoire,. . . ).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le système d’interruptions dans les PCs :

Les programmes associés aux interruptions sont appelés les


routines d’interruptions. Cette routine est un programme qui
peut accéder à toutes les instructions du langage machine du
processeur. La fin de cette routine est signalée par
l’instruction IRET (Interrupt RETurn) qui ordonne au
processeur de reprendre l’exécution du programme interrompu
exactement là où il avait été abandonné.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le vecteur d’interruption : Le PC comprend 256 causes


d’interruption numérotés de 0 à 255. Chaque interruption
correspond à une routine d’interruption qui sera exécutée lors
de l’appel d’interruption correspondante. Le vecteur
d’interruption fait le lien entre l’interrutpion (cause) et la
routine d’interruption. Cest une table qui contient 256 entrées
; une pour chaque interruption.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Chaque entrée désigne l’adresse début de la routine


d’interruption correspondante en mémoire. Quand une
interruption est appelée ou provoquée, le processeur va
automatiquement chercher l’adresse début de la routine
d’interruption dans le vecteur d’interruption et il commence
l’exécution de la routine.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Contrôleur d’interruption (PIC : Programmable


Interruption Controler):

L’ordinateur est relié à plusieurs périphériques, mais nous


venons de voir qu’il n’y avait qu’un seul signal de demande
d’interruption, à savoir INTR. Le contrôleur d’interruptions
est un circuit spécial, extérieur au processeur, dont le rôle est
de distribuer et de mettre en attente les demandes
d’interruptions provenant des différents périphériques La
figure suivante indique les connexions entre le microprocesseur
et le contrôleur d’interruptions.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le contrôleur est relié aux interfaces gérant les périphériques


par les bornes IRQ (InteRrupt reQuest). Il gère les demandes
d’interruption envoyées par les périphériques, de façon à les
envoyer une par une au processeur (via INTR). Il est possible
de programmer le contrôleur pour affecter des priorités
différentes à chaque périphérique. Avant d’envoyer
l’interruption suivante, le contrôleur attend d’avoir reçu le
signal INTA, indiquant que le processeur a bien traité
l’interruption en cours.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Reprenons les différents évènements liés à la réception et le


traitement d’une interruption masquable :
1. Un signal INT est émis par un périphérique (ou plutôt par
l’interface gérant celui-ci).
2. Le contrôleur d’interruptions reçoit ce signal sur une de ses
bornes IRQi. Dès que cela est possible (suivant les autres
interruptions en attente de traitement), le contrôleur envoie
un signal au processeur sur sa borne INT.
3. Le processeur prend en compte le signal sur sa borne INTR
après avoir achevé l’exécution de l’instruction en cours (ce qui
peut prendre quelques cycles d’horloge). Si l’indicateur IF=0,
le signal est ignoré, sinon, la demande d’interruption est
acceptée.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

4. Si la demande est acceptée, le processeur met sa sortie


INTA au niveau 0 pendant deux cycles d’horloge, pour
indiquer au contrôleur qu’il prend en compte sa demande.
5. En réponse, le contrôleur d’interruption place le numéro de
l’interruption associé à la borne IRQi sur le bus de données.
6. Le processeur lit le numéro de l’interruption sur le bus de
données et l’utilise pour trouver le vecteur d’interruption (afin
de traiter l’interruption). Ensuite, tout se passe comme pour
un appel système, c’est-à-dire que le processeur
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

6. Le processeur lit le numéro de l’interruption sur le bus de


données et l’utilise pour trouver le vecteur d’interruption (afin
de traiter l’interruption). Ensuite, tout se passe comme pour
un appel système, c’est-à-dire que le processeur :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Sauvegarde les indicateurs du registre d’état sur la pile (en


d’autres termes il conserve l’état de la mémoire concernant le
programme en cours d’exécution) ;
- Met l’indicateur IF à 0 pour masquer les interruptions
suivantes ;
- Cherche dans la table des vecteurs d’interruptions l’adresse
du traitant d’interruption.
7. La procédure traitant l’interruption se déroule. Pendant ce
temps, les interruptions sont masquées (IF=0).
8. La procédure se termine par l’instruction IRET qui permet
de reprendre le programme qui avait été interrompu.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Appel des interruptions à partir du langage C :

Toutes les interruptions ainsi que les structures de données


correspondantes sont déclarées dans le fichier dos.h. Exemple
d’interruption
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définition d’un système informatique

Matériel
– Unité centrale, disques, réseau, périphériques
Système d’exploitation
– Gestion utilisateurs, SGF, ressources (accès, partage,
distribution, échange. . . )
• Programmes d’application
• Utilisateurs
– Login, droits, accès
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Structure générale d’un système informatique


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Évolution des systèmes d’exploitation

Batch
Multiprogrammé
Multi-utilisateurs centralisé
Temps partagé, transactionnel
• Distribué / Parallèle
•Temps réel
• Embarqué/connecté
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Éléments d’un système d’exploitation (SE)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Applications comportant des processus concurrents


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définitions
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définitions
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Descripteur des processus Linux


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Visualisation de processus

La commande ps permet de visualiser les processus existant à


son lancement sur la machine
Sans option, elle ne concerne que les processus associés au
terminal depuis lequel elle est lancée
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Informations de la commande ps
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Processus en mémoire
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Processus en mémoire
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Ordonnancement de processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

État d’un processus


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Création de processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Création de processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple 1 - Création d’un processus


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple 2 - Création d’un processus


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple 2 - Création d’un processus


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

L’héritage du fils
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

L’héritage du fils: exemple 1


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

L’héritage du fils: exemple 2


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Héritage du fils: Tables de descripteurs


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Primitives wait et waitpid


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Synchronisation père-fils (1)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Synchronisation père-fils (2)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Synchronisation père-fils (3)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Synchronisation père-fils (4)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Communication avec l’environnement


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Communication avec l’environnement: exemple (1)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Communication avec l’environnement: exemple (2)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Primitives de recouvrement
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Primitives de recouvrement – exemples (1)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Primitives de recouvrement – exemples (2)


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La gestion de la mémoire

Rôle
Le gestionnaire de mémoire est un sous-ensemble du
système d’exploitation. Son rôle est de partager la mémoire
entre l’OS et les diverses applications. Le terme ”mémoire”
fait surtout référence la mémoire principale, c’est à dire à la
RAM, mais la gestion de celle-ci demande la contribution de
la mémoire auxiliaire (mémoire de masse, spacieuse mais
lente) et à la mémoire cache ( rapide mais de taille
restreinte).
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Voici quatre fonctions qu’on attend du gestionnaire de


mémoire

L’allocation de la mémoire aux processus


Répertorier les emplacements libres de la mémoire
Allouer la mémoire nécessaire aux nouveaux processus
Récupérer la mémoire des processus qui s’achèvent Cette
récupération peut nécessiter une réallocation des processus en
cours pour optimiser l’emploi de la mémoire. La zone
mémoire attribuée à un processus peut donc changer au cours
de son exécution.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La protection

Il faut s’assurer que les adresses générées par chaque


processus ne concerne que la zone mémoire qui lui est
impartie, sans quoi, l’intégrité du système d’exploitation et
des autres processus n’est pas garantie. Certaines zones
mémoire doivent pourtant servir simultanément à plusieurs
processus : le code de fonctions servant à plusieurs
applications qui tournent en parallèle ou les données utilisées
simultanément par divers processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La segmentation de l’espace d’adressage

Les programmes sont subdivisés en segments : le code, les données


modifiables, celles qui ne le sont pas, la pile. On attend donc du
gestionnaire de mémoire qu’il permette la segmentation de l’espace
d’adressage des programmes pour les raisons suivantes :
pouvoir coder les segments séparément et les paramétrer en
fonction de l’application
permettre des degrés de protection différents selon les
segments( lecture seule, exécution...)
accepter le partage de certains segments.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La mémoire virtuelle

Elle offre aux applications une mémoire de taille supérieure à


celle de la mémoire principale. L’espace d’adressage qu’offre
la mémoire centrale est parfois insuffisant. Les disques
suppléent à cette insuffisance en fournissant une mémoire
auxiliaire plus vaste mais plus lente et qui n’est pas
directement accessible au processeur.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Gestion de la mémoire pour systèmes monotâches

Dans le cas des systèmes monotâche, la gestion de la mémoire


est assez simple. Il suffit de réserver une partie de la mémoire
au système d’exploitation. L’application est ensuite casée
dans l’espace restant qui est libéré sitôt que l’application est
terminée.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Cela se complique un peu si l’application nécessite plus


d’espace que ce que peut fournir la mémoire vive. On
segmente alors l’application en segments de recouvrements ou
”Overlays”. Cette technique n’a plus cours maintenant. Elle
était utilisée à l’époque du DOS pour des applications
volumineuses. Le programmeur devait prévoir le découpage de
son application en imaginant comment ces overlays serait
chargés en mémoire les uns à la suite des autres pour qu’au
cours de son exécution l’application puisse atteindre toutes les
fonctions nécessaires.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

C’était en quelque sorte comme cela qu’on concevait la


mémoire virtuelle à l’époque des systèmes d’exploitation
monotâche. Notez que la zone mémoire occupée par le
système d’exploitation n’était pas protégée par ce type de
gestion de mémoire.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Gestion de la mémoire pour systèmes multitâches

Plusieurs processus doivent se partager la mémoire sans


empiéter sur l’espace réservé au système d’exploitation ni aux
autres processus. Quand un processus se termine, le S.E. doit
libérer l’espace mémoire qui lui était alloué pour pouvoir y
placer de nouveaux processus.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Partition de la mémoire

Partitions fixes
Le plus simple est de diviser la mémoire en partitions fixes dès
le démarrage du système. Les partitions sont de différentes
tailles pour éviter que de grandes partitions ne soient
occupées que par de petits processus. Le gestionnaire de
mémoire, en fonction de la taille des processus, décide quelle
partition lui allouer pour ne pas gaspiller trop de mémoire.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Une file d’attente est associée à chaque partition. Quand


vient une nouvelle tâche, le gestionnaire détermine quelle est
la plus petite partition qui peut la contenir puis place cette
tâche dans la file correspondante.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le fait d’éviter d’allouer une partition trop grande à un petit


processus conduit parfois à des aberrations. Il arrive que des
partitions plus grandes restent inutilisées alors que se forment
ailleurs des files interminables de petits processus. La mémoire
est donc mal utilisée.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Une autre solution est de créer une file unique. Lorsqu’une


partition se libère, on consulte la file pour trouver la tâche qui
l’occuperait de manière optimale.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le risque est que les petites tâches soient pénalisées. Une


parade est de conserver une petite partition au moins qui ne
sera accessible qu’aux petites tâches. Une autre solution,
serait de dire qu’un processus ne peut être ignorer qu’au
maximum un certain nombre de fois. Après n refus, il prendra
place dans une partition même si la partition est bien plus
grande qu’il ne faut.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Partitions variables

Une autre manière d’éviter les emplacements mémoires


inoccupés en fin de partitions est d’allouer aux processus des
espaces qui correspondent exactement à l’espace qui leur est
utile. Au fur et à mesure que les processus se créent et se
terminent, des partitions s’allouent et se libèrent laissant des
zones mémoires morcelées et inutilisables. La mémoire se
fragmente et est de plus en plus mal employée. Il faudrait la
compacter en déplaçant régulièrement les processus mais cette
tâche supplémentaire ralentit le système.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La pagination

Les processus requièrent des espaces d’adresses continus. On


a vu que cela est difficilement réalisable en découpant la
mémoire en partions dont les tailles correspondent à celles des
processus. La pagination est une technique d’allocation de la
mémoire bien plus efficace. Elle fournit aux processus des
espaces d’adresses séquentiels à partir d’espaces mémoire
discontinus.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La pagination consiste à diviser la mémoire et les processus en


blocs de mêmes tailles appelés pages. Les pages mémoire sont
souvent appelées ”frames” ou ”cadres” tandis que les pages
de processus sont simplement appelées ”pages”.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les pages (de processus) ne sont pas toutes simultanément


actives ;
elles ne sont donc pas nécessairement toutes présentes
simultanément dans la mémoire principale. Les pages
inactives attendent sur le disque. L’espace d’adressage est
donc virtuel sa taille peut être supérieure à celle de la
mémoire réelle.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les processeurs disposent actuellement d’un dispositif, le


MMU ”Memory Manager Unit” qui permet de placer des
processus en mémoire sans nécessairement placer les pages de
processus dans des cadres de pages contigus. On distingue les
adresses logiques qui se réfèrent aux pages de processus des
adresses physiques qui se réfèrent aux cadres de pages.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Voyons à présent comment l’unité de gestion mémoire (MMU)


met en correspondance les adresses physiques et logiques. Elle
contient pour ce faire une table de pages où sont inscrits les
numéros des cadres de pages.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Ordonnancement

Le problème
Dans un système à processus :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

de nombreux processus attendent qu’un événement se produise


ils n’ont pas immédiatement besoin du processeur
mais doivent pouvoir l’obtenir dès que l’événement attendu se
produit
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

certains processus font des calculs de façon intensive, sans


attente d’événements
ils souhaitent garder le processeur le plus longtemps possible
Conflit d’intérêt : ordonnanceur (scheduler) = arbitre +
chef d’orchestre
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Objectifs d’un ordonnanceur

Rôle d’un algorithme d’ordonnancement :


décider de l’allocation d’une ressource aux processus qui
l’attendent, pour atteindre certains objectifs
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

dans la suite, processus (au sens large) signifie un:


• processus (au sens Unix, processus lourd ),
• thread : fil d’exécution à l’intérieur de la mémoire d’un
processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple de ressource : le processeur

Objectif : aboutir à un partage efficace du temps d’utilisation


du processeur
Problème : que veut dire efficace ? Et pour qui?
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Critères d’efficacité pour le CPU

Respect de la priorité
La plupart des systèmes permettent d’accorder des priorités
différentes aux processus. . .
Priorité peut être statique ou dynamique (se modifie au cours
dutemps) . . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Respect de l’équité

Deux processus qui ont le même niveau de priorité doivent


pouvoir utiliser le CPU aussi souvent l’un que l’autre
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Critère d’optimisation pour l’ordonnancement du CPU

Utilisation maximale du processeur


Maximiser: Taux Utilisation(CPU) = Durée Activité(CPU) /
Durée Totale
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Débit processus

Maximiser Débit = Nombre Processus Terminés / Unité


Temps
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Temps de traitement moyen :

doit être minimal pour un traitement batch


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Temps de réponse maximum :

doit être minimal pour un traitement interactif ou temps réel


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Classification des algorithmes d’ordonnancement

Dans un monde idéal (statistiquement) :


le hasard devrait bien faire les choses : les processus endormis
ne devraient pas se réveiller tous en même temps
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Dans la réalité :

les activités des processus sont corrélées : les processus ne se


réveillent pas au hasard . . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Deux familles d’algorithmes :

Sans réquisition : c’est aux processus de relâcher


volontairement la ressource (non préemptif)
Avec réquisition : l’ordonnanceur peut récupérer la ressource
détenue par un processus au profit d’un autre (préemptif)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mécanismes de base nécessaires

L’activation de l’ordonnanceur est possible


À chaque entrée dans le noyau, à chaque appel système,
À chaque interruption du matériel : disque, horloge, . . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Chaque appel système peut donc potentiellement activer un


autre processus
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Ressources de type CPU :

commutation de contexte
Pour permettre à un autre processus d’utiliser la ressource,
Contexte peut être en partie matériel (registres, état),
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Algorithmes avec réquisition : besoin d’horloge

pour contrôler la durée d’utilisation


pour percevoir l’écoulement du temps: interruptions
périodiques pour mesurer le temps passé et lancer des actions
à des dates fixées
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Sans préemption

Ressource allouée à une entité jusqu’à ce qu’elle n’en ait plus


besoin
Par nécessité (ex: imprimante)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients :

ne peut convenir aux activités temps réel


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

convient difficilement aux activités interactives :

Obligation de programmer des applications sociables


Tolérable dans un système faiblement mono utilisateur
(Windows 3.x,95, . . . )
ne correspond pas à de vrais processus indépendants (il s’agit
en fait de co-routines)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages :

facile à mettre en œuvre


pas besoin de mécanismes matériels
spécifiques. . . (horloges,interruptions)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mise en oeuvre

Au moment de la libération de la ressource :


L’ex-détenteur de la ressource invoque l’algorithme
d’ordonnancement
Cette action peut être réalisée à l’insu du programmeur
(exemple :win3x, win9x)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

L’algorithme choisit le processus suivant


L’algorithme déclenche la commutation de contexte
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Politique de choix : FIFO

Politique FIFO (First In First Out)


Allocation dans l’ordre d’arrivée (premier arrivé = premier
servi)
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénient

défavorise les entités ayant besoin d’utiliser la ressource un


court laps de temps
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le temps d’attente n’est pas proportionnel au temps d’utilisation


pas équitable,
temps moyen de traitement élevé
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Politiques de choix : PCTU

Politique PCTU (Plus Court Temps d’Utilisation d’abord)


Allocation selon ordre croissant de durée d’utilisation prévue
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Pas réaliste : exige la connaissance a priori des durées


d’utilisation
Famine (privation) : les tâches dont la durée d’exécution
estimée est longue peuvent attendre leur tour indéfiniment . . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Temps d’attente faible pour entités à courte durée d’utilisation


Temps moyen d’attente minimal
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Il est optimal donne un temps moyen minimal pour un


ensemble de processus donnés
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Politique de choix : FIFO avec priorité

Politique FIFO avec priorités


Chaque entité a une priorité
Une file FIFO par niveau de priorité
Ressource allouée à une entité ssi
FIFOs de priorités supérieures vides et la ressource est en tête
de sa FIFO
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Tout le monde veut la plus haute priorité. . .


Famine pour entités de faible priorité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

En pratique

utilisation parcimonieuse des priorités élevées


modification dynamique des niveaux de priorité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Description

Motivations
politiques sans réquisition mal adaptées, voire inadaptées, à
certaines activités
• temps réel
• interactivité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La réquisition permet:

de forcer le partage du temps d’utilisation (modulo les


contraintes de priorités)
de diminuer le temps de traitement maximum
mais cela détériore le temps de traitement moyen (overhead =
frais de gestion, temps passé dans le noyau), donc diminue le
débit
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Mise en oeuvre

Le détenteur de la ressource peut être interrompu avant d’avoir


terminé :
lorsqu’un délai maximal expire
lorsqu’un processus de priorité plus élevée demande la
ressource
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La politique d’ordonnancement choisit le nouveau processus


Le processus interrompu est mis en sommeil (état prêt)
C’est la politique utilisée dans les systèmes à temps partagé
(time-sharing) : Unix, NT. . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Problème des fonctions non réentrantes

Un processus peut être interrompu alors qu’il exécute une


fonction de l’exécutif
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Problème des fonctions non ré-entrantes dans la même


mémoire :
Le nouveau/futur élu peut demander à son tour l’exécution de
la même fonction :
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Réutilisation d’une même variable globale


Insertion non terminée dans une liste chaı̂née
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Solution : retarder la commutation jusqu’à ce que l’exécution


atteigne un point de commutation, c.-à-d. contrôler les
sections critiques du noyau.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

La politique du tourniquet

Politique du Tourniquet (Round Robin / RR)


idée : Fournir à l’une quelconque des n entités en attente,
1/n ème du temps d’utilisation de la ressource
pb : n varie au cours du temps
Solution : le temps est découpé en tranches de taille (durée)
identique, appelées quantum de temps
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les entités sont placées dans une file


La ressource est allouée à l’entité en tête de la file, pour une
durée d’au maximum un quantum
Lorsque le quantum est épuisé, l’entité est interrompue et
replacée à la fin de la file d’attente
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Tourniquet : choix du quantum

Durée ni trop courte . . .


Lorsque la durée du quantum est écoulée, il faut déclencher
un changement de contexte
Un changement de contexte prend du temps : Plus le
quantum de temps est petit, plus on perd souvent du temps à
changer de contexte !
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

– L’illusion d’exécution parallèle s’estompe


– Lorsque la durée est trop longue, l’interactivité diminue
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple : quantum = 1s, 3 tâches de longue durée sont


présentes et attendent le processeur. Elles comptent utiliser
systématiquement tout leur quantum.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Une tâche interactive ne peut obtenir le processeur au mieux


que toutes les 3 secondes (délai entre frappe clavier et
affichage d’au moins 3 secondes . . . )
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Tourniquet : partage du temps CPU

Horloge programmée
– Déclenche une interruption à intervalles de temps réguliers •
interruption appelée tic d’horloge : tic, tac, . . .
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le traitant de l’interruption :

1. Décompte du temps d’occupation CPU pour l’entité


courante (initialisé à la valeur de quantum)
2. Si temps restant = 0 : lancer algorithme
d’ordonnancement pour choisir un nouveau processus
3. Autres actions non liées à l’ordonnancement
4. actions liées à l’ordonnancement effectuées à des tics
principaux (versions évoluées du tourniquet)
5. Commutation de contexte vers entité élue
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Politique d’ordonnancement préemptif

En théorie : à tout instant la ressource est détenue par le processus


de plus haute priorité
– il faut donc retirer la ressource au processus qui la possède
lorsqu’elle n’est plus la plus prioritaire
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

En pratique

– il suffit que l’exécutif regarde la priorité d’un processus qui


naı̂t ou se réveille
– si la commutation est retardée (cf. pb ré-entrance), on parle
d’inversion de priorité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Préemption : problème de famine

Problème : famine des entités de faible priorité


– Solution : ajustement dynamique des priorités
• Plus une entité attend longtemps, plus sa priorité augmente
• Lorsqu’une entité obtient (enfin) la ressource, sa priorité
redescend au niveau initial
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Conséquence : provoque de nombreux changements dans


les files de priorités

– Car les processus de même niveau de priorité sont placés sur


une même file (généralement FIFO)
– La gestion des files doit être efficace !
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Deux types de systèmes

Synchrone
– Existence d’une base de temps commune,
– Les évènements n’arrivent pas n’importe quand
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Asynchrone

– Pas d’hypothèse sur les instants où les évènements peuvent


se produire
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Le monde synchrone est plus simple , le monde réel est plutôt


asynchrone
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Déterminisme

Pouvoir garantir que le système respectera ses spécifications,


notamment temporelles, pendant sa durée de vie
– Ré-exécution donne des résultats identiques
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Méthodologie

– Déterminer les cas pires


– Conditions de faisabilité (CF)
– Déterminer valeurs numériques CF
– Vérifier
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Algorithme déterministe

Temps maximum d’exécution garanti


Indépendant du contexte courant
Indépendant de la valeur des arguments
Principe valable pour toutes les fonctions d’un même service
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

– allocation / libération pour gestion mémoire


• S’applique aux séquences d’exclusion mutuelle
– Pas d’effet(s) de bord sur reste du système
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Tâches Sporadiques

Chaque thread THi


– Activée à un temps ti
– Durée maximum d’exécution ci
– Échéance absolue di = ti + Di
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exclusion Mutuelle

Spécification du Problème
Machines monoprocesseurs ou Multi- processeurs;
Processus s’exécutent sur une machine mono/ multi
Processeurs avec mémoire partagée;
Partager des variables:
– volontairement: coopérer pour traiter un Problème
– involontairement: se partager des ressources;
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Définition

Un système de fichiers est une structure utilisée par un


système d’exploitation pour organiser et gérer les fichiers sur
un appareil de stockage tel qu’un disque dur, un SSD ou une
clé USB. Il définit la manière dont les données sont stockées,
accessibles et organisées sur l’appareil de stockage.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les différents systèmes de fichiers présentent des


caractéristiques variables et sont souvent spécifiques à certains
systèmes d’exploitation ou appareils. Voici certains des
systèmes de fichiers les plus courants, avec leurs avantages et
leurs inconvénients.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

FAT (File Allocation Table), FAT16, FAT32

FAT (File Allocation Table, Table d’allocation des


fichiers) est l’un des systèmes de fichiers les plus anciens et
les plus simples. Il a été initialement développé pour
MS-DOS et est encore utilisé dans de nombreux appareils de
stockage amovibles.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les deux principales versions de ce système sont FAT16 et


FAT32. Le système FAT utilise une table d’allocation de
fichiers pour garder une trace de l’emplacement des fichiers
sur le disque
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Simplicité
Protection des données
Compatibilité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Fragmentation
Absence de fonctionnalités avancées
Limitations des noms de volume
Limitations des noms de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

exFAT (Extended File Allocation Table)

exFAT (Extended File Allocation Table, table d’allocation de


fichiers étendue) est un système de fichiers introduit par
Microsoft en tant que version améliorée de FAT32.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Il répond à certaines des limitations de FAT32, en permettant


des tailles de fichiers plus importantes et en offrant de
meilleures performances. exFAT est couramment utilisé pour
les appareils de stockage amovibles, tels que les SSD externes,
les disques durs et les cartes SD, car il est compatible avec
de nombreux systèmes d’exploitation.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Prise en charge de fichiers et de partitions de grande taille


Utilisation efficace de l’espace disque
Compatibilité
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Prise en charge limitée des métadonnées


Fragmentation
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

NTFS (New Technology File System)

NTFS (New Technology File System, système de fichiers


de nouvelle technologie) est le système de fichiers par
défaut utilisé par les systèmes d’exploitation basés sur
Windows NT, depuis 1993 avec Windows NT 3.1, jusqu’à
Windows 11 inclus. Il offre des fonctionnalités avancées telles
que les autorisations de fichiers, le chiffrement, la compression
et la journalisation.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Sécurité et autorisations
Prise en charge du TRIM sur les SSD : Le TRIM informe
le disque des données inutilisées, ce qui permet au SSD
d’effacer et de préparer l’espace pour les écritures futures. Il
est activé par défaut lorsque le système de fichiers NTFS est
choisi pour maintenir ses performances.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Erreurs de disque et réparations


Fragmentation
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

APFS (Apple File System)

APFS (Apple File System, système de fichiers Apple) est


un système de fichiers développé par Apple pour macOS, iOS
et d’autres appareils Apple. Il est conçu pour optimiser les
performances et la compatibilité avec le matériel et les
logiciels Apple. APFS comprend des fonctionnalités telles que
le clonage, le chiffrement au niveau des fichiers et
l’amélioration des performances sur les SSD. Il a été introduit
avec macOS 10.13 en 2017.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Amélioration des performances:APFS offre des


performances améliorées par rapport à son prédécesseur,
HFS+. Il utilise des techniques telles que la copie sur écriture,
le partage d’espace et la gestion optimisée des métadonnées
pour améliorer les vitesses de lecture et d’écriture.
Sécurité des données:APFS intègre des fonctions d’intégrité
des données telles que des sommes de contrôle pour les
métadonnées et le contenu des fichiers. Cela permet de
détecter et de prévenir la corruption des données.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Prise en charge du TRIM sur les SSD : Bien qu’APFS


prenne en charge les commandes trim pour les SSD, il peut ne
pas être aussi efficace que d’autres systèmes de fichiers. Le
trim est chargé d’optimiser les performances et la durée de vie
des SSD en gérant efficacement les blocs de données
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Compatibilité avec les logiciels tiers : Certains logiciels ou


utilitaires tiers plus anciens peuvent ne pas totalement prendre
en charge APFS, ou présenter des limitations lorsqu’ils
travaillent avec des disques formatés.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

HFS, HFS+ (Hierarchical File System)

HFS (Hierarchical File System, système de fichiers


hiérarchiques) était le système de fichiers initialement utilisé
par les ordinateurs Apple. Il a depuis été remplacé par HFS+
et APFS. HFS utilise une structure de répertoire hiérarchique
et prend en charge des fonctionnalités telles que les
métadonnées et les fourchettes de ressources pour le stockage
d’informations supplémentaires sur les fichiers. Il est
compatible avec les anciens systèmes Mac. HFS a été
introduit en 1986 avec le système 2.1 pour le Mac Plus.
HFS+ a été introduit en 1998 avec Mac OS 8.1 et remplacé
par APFS en 2019 avec macOS 10.15.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Simplicité
Prise en charge des métadonnées
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Absence de fonctionnalités avancées


Prise en charge limitée de la taille des fichiers et des partitions
Les fichiers sont corrompus en dehors du système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Ext4 (Fourth Extended File System)

Système de fichiers largement utilisé dans le système


d’exploitation Linux. Il succède à Ext3 et offre plusieurs
améliorations en termes de performances, d’évolutivité et de
fiabilité. Ext4 est le système de fichiers par défaut de
nombreuses distributions Linux. Il a été introduit pour la
première fois en 2003.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Avantages

Journalisation
Augmentation de la taille des fichiers et des partitions
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Inconvénients

Fragmentation
Évolutivité limitée
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Gestion des entrées/sorties

On distingue principalement trois façons de gérer les


entrées/sorties.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Entrées/sorties programmées

Pendant l’exécution de son programme principal, le


microprocesseur va périodiquement lire l’état des
périphériques d’entrée et modifie, si nécessaire, l’état des
ports de sortie. C’est la technique la plus simple.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Exemple

système de régulation de chauffage d’un bâtiment.


Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Interruptions

Cette technique est utilisée lorsque le processeur doit réagir


rapidement à un changement d’état d’un port d’entrée. Le
périphérique prévient le processeur par une ligne d’interruption
prévue à cet effet
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Accès direct à la mémoire

Cette technique, connue souvent par ses initiales DMA


(Direct Memory Access), est utilisée lorsque l’on doit
procéder à un transfert rapide d’un grand nombre de données
entre, par exemple, un lecteur de CD et un disque dur.
Plutôt que de transférer les octets d’abord vers un registre du
processeur, puis seulement vers le disque dur, les octets sont
transférés directement d’un périphérique à l’autre sans passer
par les registres du processeur. Le transfert des données est
organisé par un circuit spécial appelé contrôleur
d’interruptions, qui prend la place du processeur pendant le
transfert et gère les bus d’adresses et de contrôle.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Périphériques d’entrées/sorties

Un grand nombre de périphériques sont à la fois des


périphériques d’entrée et de sortie.
Le modem, par exemple, permet d’envoyer ou de recevoir des
informations en provenance du monde extérieur : courrier
électronique, navigation Internet, mais aussi envoi et
réception de fax, téléphonie par ordinateur
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Les cartes réseau permettent de relier entre eux plusieurs


ordinateurs afin de réaliser un réseau local d’ordinateurs, ce
qui permet de partager des fichiers ou des ressources telles
une imprimante réseau, un numériseur. . .
Et puis, il y a toute la gamme des mémoires de masse :
disque dur, lecteur de disquette, carte mémoire.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Performances

Les performances d’un ordinateur mesurent le temps qui lui


est nécessaire pour effectuer un traitement donné.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Trois éléments influencent ces performances

la puissance du processeur ;
la mémoire disponible ;
le temps consacré aux opérations d’entrées/sorties.
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

la programmation Shell
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers
Généralités sur les systèmes d’exploitation
Le système d’interruption
Gestion des processus système
La gestion de la mémoire
Ordonnancement
Synchronisation des Processus
Système de fichiers

Vous aimerez peut-être aussi