Vous êtes sur la page 1sur 62

Système d’Exploitation

Pr. SOUSSI Nassima

Système d’exploitation & Unix n.soussi@usms.ma


Plan du Cours
I. Structure du système dʼexploitation
II. Les entrées / sorties sous Unix
III.Processus et Threads
IV.Communication Interprocessus
V.Interblocages
VI.Gestion de la mémoire
VII.Système de fichier
Système d’exploitation & Unix 2
Chapitre I
Introduction au
Système d’exploitation

Système d’exploitation & Unix 3


Introduction au Système d’exploitation

SI : Hardware (Matériels)
Le matériel d'un système informatique est composé de :
– Processeurs qui exécutent les instructions.
– La mémoire centrale qui contient les données et les instructions à
exécuter
– La mémoire secondaire qui sauvegarde les informations,
– Les périphériques d'Entrées/Sorties (clavier, souris, écran,
modem, etc.) pour introduire ou récupérer des informations.

Système d’exploitation & Unix 4


Introduction au Système d’exploitation

SI : Software (Logiciels)

Les logiciels sont à leur tour divisés en :


– Programmes système qui font fonctionner l'ordinateur : le système
d'exploitation et les utilitaires (interpréteurs de commandes, etc.)
– Programmes d'application qui résolvent des problèmes
spécifiques des utilisateurs.

Système d’exploitation & Unix 5


Introduction au Système d’exploitation

Système Informatique

Système d’exploitation & Unix 6


Introduction au Système d’exploitation

Qu'est ce qu'un Système d'exploitation ?

Un système d'exploitation (noté SE ou OS,


abréviation du terme anglais Operating
System), est un programme chargé
d’assurer la liaison entre l’utilisateur, les
ressources matérielles, et les applications.

Système d’exploitation & Unix 7


Introduction au Système d’exploitation

Qu'est ce qu'un Système d'exploitation ?


‒ Le système d'exploitation gère et contrôle les composants de
l'ordinateur.
‒ Il fournit à l’utilisateur une base appelée machine virtuelle, sur laquelle
seront construits les programmes d'application et les utilitaires au
moyen d’appels système.
‒ Le but d'un système d'exploitation consiste donc à développer des
applications sans se soucier des détails de fonctionnement et de gestion
du matériel.

Système d’exploitation & Unix 8


Introduction au Système d’exploitation

Pourquoi étudier les SE ?


‒ Logiciel très important :
 tout programme roule sur un SE
 Interface usager-ordinateur
‒ Les SE utilisent beaucoup d’algorithmes et structures de données
intéressants :
 Les techniques utilisées dans les SE sont aussi utilisées dans
nombreuses autres applications informatiques
 il faut les connaître

Système d’exploitation & Unix 9


Introduction au Système d’exploitation

SE : Principales Fonctions

Le SE réalise une couche logicielle placée entre la machine matérielle et


les applications pour la/le:
‒ Chargement et lancement des programmes.
‒ Gestion des processeurs, de la mémoire, des périphériques
‒ Gestion des processus (programmes en cours d'exécution) et
fichiers.
‒ etc

Système d’exploitation & Unix 10


Introduction au Système d’exploitation

Chargement d’un SE

1. Les programmes composant le SE sont conservés sur un support de masse.


2. Au démarrage, l’ordinateur exécute un programme (BIOS) placé dans la
mémoire morte (ROM). Il assure plusieurs fonctions avant de démarrer le
système d'exploitation:
 Vérifier que la carte mère fonctionne bien
 Vérifier que les périphériques simples connectés à la carte mère
fonctionnent bien (carte graphique, disques dur, …)
 Chercher un disque sur lequel il y a un système d'exploitation prêt à
démarrer.

Système d’exploitation & Unix 11


Introduction au Système d’exploitation

Chargement d’un SE

3. Le BIOS contient un programme d’amorçage (bootsrap) qui permet


d’initialiser le système d'exploitation (OS) au démarrage.
Une fois cette amorce placée en mémoire centrale, elle s’exécute et
charge les programmes du SE.

Système d’exploitation & Unix 12


Introduction au Système d’exploitation

Les Types des SE

‒ Les systèmes pour mainframes (OS pour mainframes)

‒ Les systèmes serveurs (OS serveurs)

‒ Les systèmes multiprocesseurs (OS pour multi-processeurs)

‒ Les systèmes personnels (OS personnels)

‒ Les systèmes temps réel (OS temps réel)

Système d’exploitation & Unix 13


Introduction au Système d’exploitation

Les Types des SE : OS pour Mainframes

Mainframe Ordinateur = Ordinateur Central = Macro-ordinateur


‒ L'ordinateur central est un ordinateur à grande puissance qui peut avoir une
mémoire de grande capacité ainsi que de nombreuses unités de stockage afin de
traiter plusieurs opérations simultanément.
‒ Les mainframes sont historiquement associés à une informatique centralisée,
plutôt que distribuée. Ils se distinguent par leur capacité d'E/S.
‒ L'accent est mis dans leurs systèmes d'exploitation sur la capacité à gérer de
manière optimale plusieurs jobs en même temps, chacun d'eux demandant de
grandes ressources d'E/S.
Exemple : z/OS (anciennement MVS) ou VSE, Linux
Système d’exploitation & Unix 14
Introduction au Système d’exploitation

Les Types des SE : OS pour Serveurs

‒ Un Serveur est un ordinateur qui met des ressources, des données,


des services ou des logiciels à la disposition d’autres ordinateurs,
qualifiés de « clients », sur un réseau.
‒ En théorie, un ordinateur est considéré comme un serveur à partir du
moment où il partage des ressources avec une machine cliente.
‒ Il existe de nombreux types de serveurs, notamment les serveurs
web, serveurs de bases de données, les serveurs de messagerie, etc.

Système d’exploitation & Unix 15


Introduction au Système d’exploitation

Les Types des SE : OS pour Serveurs

‒ Ils servent en parallèle de nombreux utilisateurs à travers le réseau et


permettent à ces derniers de partager des ressources matérielles et
logicielles.
‒ Les fournisseurs d'accès à Internet et hébergeurs de sites web utilisent
ces machines pour servir leurs clients.

Exemple : la série Windows NT de Microsoft (Windows NT, Windows


2000, Windows 2003 et Windows 2008), Novell NetWare et la famille Unix,
parmi lesquels il y a Linux, Mac OS X de Apple et les systèmes BSD.

Système d’exploitation & Unix 16


Introduction au Système d’exploitation

Les Types des SE : OS pour Multiprocesseur

Le principe de multiprocesseur est traduit par le recours à plusieurs


CPU sur une même plateforme pour augmenter la puissance de
calcul est une technique de plus en plus courante.

Exemple : Windows, Linux, Unix, …

Système d’exploitation & Unix 17


Introduction au Système d’exploitation

Les Types des SE : OS Personnels

‒ Leur rôle est de fournir à l'utilisateur une interface conviviale. Ils


sont principalement dédiés à la bureautique, jeux et navigation
Internet.

Exemple: Les systèmes les plus représentatifs sont: Windows 7,


8, 10 Mac OS et Linux.

Système d’exploitation & Unix 18


Introduction au Système d’exploitation

Les Types des SE : OS Temps Réel

‒ Ces systèmes se caractérisent par le respect de contraintes temporelles.


‒ Un exemple typique est celui des systèmes d'ordinateurs qui contrôlent
un processus de fabrication dans une usine (comme le montage de
véhicule) : dans le cas d'un robot soudeur, une soudure faite trop tôt ou
trop tard peut compromettre un véhicule.

Exemple : Les systèmes VxWorks et QNX en sont deux célèbres


représentants.

Système d’exploitation & Unix 19


Introduction au Système d’exploitation

Structure de Système d’exploitation


‒ Le Noyau ou Kernel en anglais, représente les fonctions fondamentales
du système d'exploitation telles que:
 Communication entre processus.
 Gestion de la mémoire.
 Traitement des interruptions.
 Etc.
‒ Le noyau est le logiciel qui gère l’accès du programme utilisateur aux
ressources logicielles et matérielles de l’ordinateur.
‒ C’est la seule partie du SE résidente toujours en RAM, les autres parties
sont amenées en RAM au besoin.
Système d’exploitation & Unix 20
Introduction au Système d’exploitation

Structure de Système d’exploitation

 Mode Noyau vs. Mode Utilisateur


‒ En général, les processeurs ont deux modes de fonctionnement :
 Le mode Noyau (superviseur , privilégié ou maître) : où toutes les instructions
sont autorisées.
 Le mode utilisateur (esclave) : où certaines instructions ne sont pas permises.
‒ Le système d'exploitation utilise cette propriété pour faciliter le contrôle qu'il
exerce : il s'exécute en mode noyau alors que tous les autres programmes sont
exécutés en mode utilisateur.
‒ Ces programmes utilisateur ont ainsi des pouvoirs limités et certaines opérations leurs
sont interdites.
Système d’exploitation & Unix 21
Introduction au Système d’exploitation

Structure de Système d’exploitation

 Mode Noyau vs. Mode Utilisateur (suite)


‒ Comme un programme utilisateur ne peut pas accéder à certaines ressources
de la machine, il doit donc faire explicitement appel aux services du
système d'exploitation pour accéder à ces ressources.
‒ À ces fins, le SE propose une interface de programmation API (Application
Programming Interface) qui permet d'accéder à un certain nombre de
fonctionnalités qu'il exécutera pour l'utilisateur.
‒ Les Appels Système sont l'interface proposée par le système d'exploitation
pour accéder aux différentes ressources de la machine.
Système d’exploitation & Unix 22
Introduction au Système d’exploitation

Structure de Système d’exploitation

 Mode Noyau vs. Mode Utilisateur (suite)

 Le nombre d'appels système


proposés varie suivant les
systèmes d'exploitation

 La table suivante énumère


quelques appels système du
système Unix.

Système d’exploitation & Unix 23


Introduction au Système d’exploitation

Structure de Système d’exploitation

 Mode Noyau vs. Mode Utilisateur (suite)


Un Appel Système a pour rôle d'activer le système d'exploitation en
procédant comme suit:
1. Changer de mode d'exécution pour passer du mode utilisateur au
mode noyau
2. Récupérer les paramètres et vérifier la validité de l'appel
3. Lancer l'exécution de la fonction demandée,
4. Récupérer la (les) valeur(s) de retour et retourner au programme
appelant avec retour au mode utilisateur.

Système d’exploitation & Unix 24


Introduction au Système d’exploitation

Structure de Système d’exploitation

Exemple :
‒ Pour créer un fichier sur le disque dur, il est nécessaire de faire appel au
système d'exploitation via un appel système.
‒ Si nous demandons que ce fichier soit créé dans un répertoire qui nous est
interdit d'accès, par exemple un répertoire appartenant à un autre utilisateur,
l'appel système va refuser de créer le fichier.

Système d’exploitation & Unix 25


Introduction au Système d’exploitation

Structure de Système d’exploitation

Architecture Interne Architecture Externe


 Monolitique  En Couches
 Monolitique – Modulaire  Client/Serveur
 Micro-kernel  Machine Virtuelle

Système d’exploitation & Unix 26


Introduction au Système d’exploitation

Structure de Système d’exploitation

1. Système Monolithique

Ces systèmes se caractérisent


par un maximum de
programmes systèmes et
des pilotes placés dans
l'espace noyau dans un seul
bloc de code.

Système d’exploitation & Unix 27


Introduction au Système d’exploitation

Structure de Système d’exploitation

1. Système Monolithique (suite)


Inconvénients :
 Ces noyaux contiennent beaucoup de programmes systèmes.
 Prennent donc beaucoup de place.
 Difficile à maintenir : Au fur et à mesure de leurs développements, le
code de ces noyaux monolithiques a augmenté en taille et il s’est avéré
difficile de les maintenir.
Solution :
Pour résoudre les problèmes évoqués ci-dessus, les noyaux monolithiques
sont devenus modulaires.

Système d’exploitation & Unix 28


Introduction au Système d’exploitation

Structure de Système d’exploitation

2. Système Monolithique - Modulaire


‒ Dans ce types de système, le noyau est divisé en plusieurs parties bien
distinctes nommées les modules.
‒ Seules les parties fondamentales du système sont regroupées dans un
bloc de code unique (monolithique).
‒ Les autres fonctions, comme les pilotes matériels, sont regroupées en
différents modules.

Système d’exploitation & Unix 29


Introduction au Système d’exploitation

Structure de Système d’exploitation

2. Système Monolithique – Modulaire (suite)

‒ Chaque module est compilé séparément et donnera


un fichier .ko (kernel object), et il peut être chargé
ou déchargé dynamiquement.
‒ On charge ce dont on a besoin quand on en a
besoin.
Inconvénient :
Une erreur dans un module met en danger la stabilité
de tout le système.

Système d’exploitation & Unix 30


Introduction au Système d’exploitation

Structure de Système d’exploitation

3. Système Micro-Kernel

Minimiser les fonctionnalités dépendantes du noyau en


plaçant la plus grande partie des services du système
d’exploitation à l’extérieur de ce noyau.
 On ne garde dans l'espace noyau que les programmes qui
ont absolument besoin d'un niveau de privilège élevé.
 Mettre tous les programmes systèmes et les drivers dans
l'espace utilisateur.
 Noyau léger, Gain en sécurité
Système d’exploitation & Unix 31
Introduction au Système d’exploitation

Structure de Système d’exploitation

4. Système en Couches

Chaque couche utilise les


fonctions des couches
inférieures.

Système d’exploitation & Unix 32


Introduction au Système d’exploitation

Structure de Système d’exploitation

5. Architecture Client/Serveur

‒ Cette tendance s'est accentuée dans les SE contemporains en


tentant de réduire le SE à un noyau minimal.
‒ Une des formes les plus accentuées de cette évolution est
l'architecture client/serveur.

Système d’exploitation & Unix 33


Introduction au Système d’exploitation

Structure de Système d’exploitation

5. Architecture Client/Serveur (suite)

Pour demander un service comme la lecture d'un bloc de fichier, le


processus client envoie une requête à un processus serveur qui effectue le
travail et envoie une réponse.

Système d’exploitation & Unix 34


Introduction au Système d’exploitation

Structure de Système d’exploitation

5. Architecture Client/Serveur (suite)


‒ Le noyau ne gère que la communication entre les clients et les serveurs.
‒ La plupart des fonctionnalités d'un SE sont reportées dans des processus
utilisateurs.
‒ Ce modèle est bien adapté aux systèmes distribués.

Remarque : Le noyau est souvent obligé de gérer certains processus serveurs


critiques comme les pilotes de périphériques qui adressent directement le
matériel.

Système d’exploitation & Unix 35


Introduction au Système d’exploitation

Structure de Système d’exploitation

5. Les machines Virtuelles


‒ Une machine virtuelle (virtual machine) est une illusion d'un appareil
informatique créée par un logiciel d'émulation.
‒ Le logiciel d'émulation simule la présence de ressources matérielles et
logicielles permettant d'exécuter des programmes dans les mêmes conditions que
celles de la machine simulée.
‒ Ce logiciel est dit un Hyperviseur : il permet d’exécuter un ou plusieurs SE
(superviseurs) dans un environnement matériel virtuel (ou « machine virtuelle »).
‒ Les hyperviseurs ne sont pas des émulateurs : l’architecture du processeur
virtuel est la même que celle du processeur réel → performances
Système d’exploitation & Unix 36
Introduction au Système d’exploitation

Structure de Système d’exploitation

6. Les machines Virtuelles (suite)

Exemples de machines virtuelles : VMWare, VirtualBox


Système d’exploitation & Unix 37
Introduction au Système d’exploitation

Les Services d’un Système d’exploitation

Les différents travaux qu’un SE moderne doit effectuer sont


généralement nommés « services »:

 Gestion des processus


 Gestion de la mémoire
 Gestion des entrées sorties
 Gestion des fichiers

Système d’exploitation & Unix 38


Introduction au Système d’exploitation

A Retenir
‒ Un SE est un programme qui facilite l'accès aux ressources de la machine
et il permet de développer des applications portables, qui ne sont pas
spécifiques d'un ordinateur ou d'un système donné.
‒ un SE est un gestionnaire de ressources qui attribue les ressources aux
différents utilisateurs et qui empêche l'accès illicite à celles-ci.
‒ Les appels systèmes sont l'interface que le système d'exploitation met à
la disposition des utilisateurs pour qu'ils puissent lui demander des
services.
‒ Un système d'exploitation ne doit pas monopoliser le temps CPU de
l'ordinateur qu'il gère

Système d’exploitation & Unix 39


Chapitre II
Processus & Threads

Système d’exploitation & Unix 40


Processus & Threads

Processus : Définition

‒ Un processus est un programme ou une commande en cours


d’exécution sur un système.

‒ Un processus est l’entité dynamique représentant l’exécution d’un


programme sur un processeur.

‒ Processus = unité d’exécution (unité de partage du temps


processeur et de la mémoire)

Système d’exploitation & Unix 41


Processus & Threads

Processus : Exemple

Un boulanger en train de confectionner un gâteau : Il dispose d’une cuisine


équipée, il a la recette et tous les ingrédients nécessaires : farine, oeufs,
sucre, …
‒ Recette du gâteaux  Le programme
‒ l’activité qui consiste à confectionner le gâteau (lecture de la
recette, mélange des ingrédients et cuisson)  Le processus
‒ Boulanger  Le processeur
‒ Ingrédients  les données d’entrée.

Système d’exploitation & Unix 42


Processus & Threads

Processus : Structure de gestion

‒ Un processus est obtenu à partir de l'exécution d'un fichier


exécutable.
‒ Les informations présentes dans ce fichier sont alors utilisées pour
effectuer les différentes étapes nécessaires à l'exécution :
 l'allocation de la mémoire pour stocker le code et les données,
 l'allocation et l'initialisation de données utilisées par le système
d'exploitation pour gérer les processus.

Système d’exploitation & Unix 43


Processus & Threads

Processus : Structure de gestion


‒ Le SE permet d'attribuer des zones mémoire à chaque processus et on dit
parfois, par abus de langage, que chaque processus travaille dans son propre
espace mémoire.
‒ Généralement, le programme d'un processus peut être partagé avec
d'autres processus, mais les données ne sont en revanche accessibles que
par le processus propriétaire.
‒ Les processus doivent alors utiliser des communications particulières,
gérées par le système d'exploitation, pour échanger des données.

Système d’exploitation & Unix 44


Processus & Threads

Processus : Structure de l’espace mémoire

‒ L'espace mémoire utilisé par un processus est divisé en


plusieurs parties .
‒ On trouve en particulier :
 le segment de code (souvent appelé segment de text),
 le segment de données,
 la pile (stack en anglais).

Système d’exploitation & Unix 45


Processus & Threads

Processus : Structure de l’espace mémoire

1. Segment de Code :
‒ Le segment de code est obtenu en copiant directement en mémoire
le segment de code du fichier exécutable.
‒ Au cours de l‘exécution du programme, la prochaine instruction à
exécuter est repérée par un pointeur d'instruction (compteur ordinal)
.

Système d’exploitation & Unix 46


Processus & Threads

Processus : Structure de l’espace mémoire

2. Segment de Données :
‒ Au dessus du segment de code se trouve le segment de données.
‒ Ce segment est traditionnellement composé d'un segment de
données :
 Directement copié à partir de l'exécutable [Data] (variables
globales),
 Crée dynamiquement (BSS pour Block Storage Segment).

Système d’exploitation & Unix 47


Processus & Threads

Processus : Structure de l’espace mémoire

3. Segment de Pile :
‒ Pour stocker les données obtenues en cours d'exécution
(paramètres des fonctions, variables locales) , le système utilise alors
un segment nommé la pile (stack en anglais).
‒ L'avantage de cette pile est qu'elle peut justement être gérée comme
une pile, c'est-à-dire en empilant et en dépilant les données.

Système d’exploitation & Unix 48


Processus & Threads

Processus : Etats
Un processus peut être dans 3 états possibles :

– Élu (en cours d’exécution)


 processus OK, processeur OK

– Prêt (suspendu provisoirement pour qu’un autre processus s’exécute)


 processus OK, processeur occupé

– Bloqué (attendant un événement extérieur pour continuer)


 processus non OK, même si processeur OK

Système d’exploitation & Unix 49


Processus & Threads

Processus : Etats

Système d’exploitation & Unix 50


Processus & Threads

Processus : Etats
La signification des 4 transitions légales est la suivante :
1. Elu  Bloqué : Bloqué en attente d’un événement externe ( données…) =>
Ordonnanceur averti par le processus bloqué => élection d’un autre processus.
2. Elu  Prêt : Le processus a épuisé le quantum de temps qui lui a été
attribué => élection d’un autre processus.
3. Prêt  Elu : L’Ordonnanceur élit ce processus parmi les prêts.
4. Bloqué  Prêt : L’événement attendu se produit => traitement par le SE =>
le SE fait passer le processus de l’état bloqué à prêt.

Système d’exploitation & Unix 51


Processus & Threads

Processus : Ordonnancement

Ordonnancement  la stratégie de planification et d'attribution des


ressources aux processus qui en font la demande.
‒ Plusieurs processus sont prêts à être exécutés, le SE doit faire un choix.
‒ La partie du SE qui effectue ce choix est l’ordonnanceur (Scheduler):
 C’est un programme intégré au noyau.
 Il définit l'ordre dans lequel les processus prêts utilisent l'UC et
la durée d'utilisation, en utilisant un algorithme d'ordonnancement.

Système d’exploitation & Unix 52


Processus & Threads

Processus : Ordonnancement

Un bon algorithme d'ordonnancement doit posséder les qualités suivantes :


‒ Rendement maximal : l'ordinateur doit exécuter le maximum de
programmes en un temps donné
‒ Temps moyen d'exécution minimal : chaque programme doit s'exécuter
le plus vite possible
‒ Temps de réponse minimal : les programmes interactifs doivent avoir
un faible temps de réponse
‒ Équité : chaque programme a droit au temps processeur

Système d’exploitation & Unix 53


Processus & Threads

Processus : Ordonnancement

‒ Temps de réponse: C'est le temps moyen qu'un processus passe à


attendre. Il s'obtient en soustrayant la durée d'exécution du processus de sa
durée de rotation. Cette durée est indépendante de la durée d'exécution du
processus lui-même.
‒ Temps de rotation: C'est le délai moyen entre l'admission du processus et
la fin de son exécution.
‒ Temps moyen d’exécution d'un ensemble de taches : la moyenne des
intervalles de temps séparant la soumission d'une tache de sa fin
d'exécution (moyenne des temps de rotation).

Système d’exploitation & Unix 54


Processus & Threads

Processus : Ordonnancement

Exemple: (temps d’exécution)


Soient 4 jobs A,B,C et D arrives au même moment avec des temps
d’exécution respectifs de 8,4,4,4 minutes, exécutés dans cet ordre.
le temps de rotation ( soumission  fin) de A est 8, celui de B est 12,
celui de C est 16 et celui de D est 20,
Pour un temps moyen de 14=(8+12+16+20) / 4

Système d’exploitation & Unix 55


Processus & Threads

Processus : Algorithme Ordonnancement

Il existe deux familles d'algorithmes :


‒ Sans réquisition (ASR) = non préemptif :
 Un processus est exécuté jusqu’à la fin
 Le choix d'un nouveau processus ne se fait que sur blocage ou
terminaison du processus courant
 Inefficace et dangereux (ex: exécution d’une boucle sans fin…)
‒ Avec réquisition (AAR) = préemptif : à intervalle régulier, l'Ordonnanceur
reprend la main et élit un nouveau processus actif

Système d’exploitation & Unix 56


Processus & Threads

Processus : Algorithme Ordonnancement

1. Algorithme Sans Réquisition (ASR) : Non Préemptif


‒ Un processus n’est élu qu’après la terminaison ou blocage du processus courant
(actif).

‒ Plusieurs Algorithmes:
 FIFO: premier arrivé premier servi en gérant une file des processus. Cet
algorithme est facile à comprendre et à programmer.
 Job le plus court d’abord (PCTE – Plus Court Temps d’exécution): dans cet
algorithme on suppose que les temps d’exécution sont connu à l’avance et que les
processus sont arrivés en même temps.

Système d’exploitation & Unix 57


Processus & Threads

Processus : Algorithme Ordonnancement

1. Algorithme Sans Réquisition (ASR) : Non Préemptif


Exemple :
 Sans ordonnancement :
– Tmoyen = 1/4 (Tb+Tf+Td+Ta) = 14
avec Tb=8, Tf=8+4, Td=8+4+4, Ta=8+4+4+4
 Avec ordonnancement :
– Tmoyen = 1/4 (Tf+Td+Ta+Tb) = 11
avec Tf=4, Td=4+4, Ta=4+4+4, Ta=8+4+4+4

Système d’exploitation & Unix 58


Processus & Threads

Processus : Algorithme Ordonnancement


1. Algorithme Sans Réquisition (ASR) : Non Préemptif
Exercice d’application:
Processus Durée Temps d’arrivé
FIFO : P1 12 1
P2 2 2
P3 2 3

• Trep (P1) = 0 || Trep (P2) = 11 || Trep (P3) = 12


• Trot (P1) = 12 || Trot (P2) = 13 || Trot (P3) = 14
• TmoyExec = (12+13+14)/3 = 13

Système d’exploitation & Unix 59


Processus & Threads

Processus : Algorithme Ordonnancement


1. Algorithme Sans Réquisition (ASR) : Non Préemptif
Exercice d’application:
Processus Durée Temps d’arrivé
FIFO : P1 12 3
P2 2 2
P3 2 1

• Trep (P1) = 2 || Trep (P2) = 1 || Trep (P3) = 0


• Trot (P1) = 14 || Trot (P2) = 3 || Trot (P3) = 2
• TmoyExec = (14+3+2)/3 = 6.33

Système d’exploitation & Unix 60


Processus & Threads

Processus : Algorithme Ordonnancement


1. Algorithme Sans Réquisition (ASR) : Non Préemptif
Exercice d’application:
Processus Durée
PCTE : P1 12
P2 2
P3 2

• Trep (P1) = 4 || Trep (P2) = 0 || Trep (P3) = 2


• Trot (P1) = 16 || Trot (P2) = 2 || Trot (P3) = 4
• TmoyExec = (16+2+4)/3 = 7.33

Système d’exploitation & Unix 61


Processus & Threads

Processus : Algorithme Ordonnancement


1. Algorithme Sans Réquisition (ASR) : Non Préemptif
Exercice d’application:
Processus Durée Temps d’arrivé
PCTE : P1 12 1
P2 2 5
P3 2 1

• Trep (P1) = 2 || Trep (P2) = 10 || Trep (P3) = 0


• Trot (P1) = 14 || Trot (P2) = 12 || Trot (P3) = 2
• TmoyExec = (14+12+2)/3 = 13.5

Système d’exploitation & Unix 62

Vous aimerez peut-être aussi