Systèmes d’exploitation II
cours
ISI 1CS/1IRS 2024/2025
Najar Yousra & olfa limam
Email : yousra.najar@isi.utm.tn
Olfa.limam@isi.utm.tn
1
Objectifs du cours
OBJECTIFS
Ce cours vise à vous familiariser avec les concepts et les techniques
fondamentales des systèmes d'exploitation.
Entre autres les éléments suivants:
– Comprendre le fonctionnement d’un ordinateur en liaison avec le
système d’exploitation.
– Expliquer et analyser le fonctionnement des différents modules liés à
la gestion de processus.
– La compréhension du fonctionnement de la mémoire ainsi que sa
gestion.
– Comment assurer la synchronisation et la communication
interprocessus
– Ainsi que les solutions adoptées dans les systèmes modernes (UNIX,
WINDOWS)
2
Plan du cours
Chapitre 1 : Gestion des Processus
Chapitre 2 : Gestion de la mémoire
Chapitre 3 : Synchronisation des processus
3
Plan du chapitre 1
Gestion des processus
1. Notions de base sur les systèmes
2. Gestion de Processus
3. Ordonnancement des processus
• Ordonnancement Monotâche
• Ordonnancement Multitâche
4
Notions de base
Qu’est ce qu’un système d’exploitation (SE)?
• C’est le Premier programme exécuté lors du
démarrage de l’ordinateur.
• Un SE est une Couche de logiciel (ensemble
de programmes) et un Gestionnaire de
ressources,
A quoi sert un système d'exploitation ?
- A simplifier l’utilisation d’un ordinateur à travers différentes applications
toute en cachant la complexité du matériel et de proposer des instructions
plus simples à l’utilisateur..
- A contrôler l'accès à toutes les ressources de la machine.
5
Notions de base
Différents types des système d’exploitation
6
Notions de base
 Types de système d’exploitation :
 Monoutilisateur/Multiutilisateur: Plusieurs utilisateurs actifs en
même temps en leur offrant des espaces de travail protégés avec des
terminaux locaux ou distants (UNIX et Linux, Windows 2003 ).
 Monoprocesseur/Multiprocesseurs: Système avec plusieurs
processeurs (le vrai multitâche )
7
Notions de base
 Types de système d’exploitation :
 Monotâche/Multitâche: Plusieurs taches peuvent être exécutés
simultanément. Le SE peut interrompre l’exécution d’un processus
pour exécuter un autre.
 Monoprogrammé/Multiprogrammé: Plusieurs processus en
Mémoire à la fois et permet au processeur d'être partager entre tous
les processus actifs.
 La plupart des ordinateurs personnels et portables modernes sont des
systèmes d'exploitation multitâches mono-utilisateur.
8
Gestion des Processus
Le SE est responsable de la gestion des processus :
- Création, terminaison des processus
- Suspension, reprise des processus
- Ordonnancement des processus
- Allocation des ressources
- Synchronisation, communication entre processus
Mots clés: Etat, processus, commutation, PCB, ordonnancement,
9
Gestion des Processus
 Processus est un concept fondamental de tout système d’exploitation.
 Un processus est un programme en exécution. Il définit un objet
dynamique tandis que le programme est un objet statique.
 Exemple: Courrier électronique, la compression d’un fichier, le
navigateur web.
10
Gestion des Processus
Création d'un processus :
 UNIX utilise un appel système fork() qui crée un clone du processus qui
s'exécute après duplication de l'espace mémoire et du contexte.
 WINDOWS utilise un appel système CreateProcess() qui crée un
processus et y charge un programme.
Terminaison d'un processus :
 Sortie normale, lorsque le processus a terminé sa tâche (sous Unix par
l’appel système exit)
 Sortie suite à une erreur (e.g. division par 0, inexistence d’un fichier
passé en paramètre)
 Tué par un autre processus (sous Unix par l’appel système kill)
11
Gestion des Processus
Hiérarchie des processus :
 LINUX/ UNIX: Les processus sont organisés
sous d’une arborescence ou chaque processus
a un seul père et peut avoir plusieurs fils.
Un processus est identifié par un PID
(Process IDentifier) et un PPID (Parent
Process IDentifier).
Le premier processus init avec PID=1
 WINDOWS : Chaque processus est crée par un père mais
s'exécute Indépendamment de lui.
12
Processus père
Processus fils
Gestion des Processus
13
Gestion des Processus
L'espace mémoire utilisé par un processus est divisé en plusieurs zones.
On trouve en particulier :
Segment Pile : pour stocker les données
obtenues en cours d'exécution.
Segment code : représente le programme a exécuter
placé dans des zones fixes de la mémoire.
Segment de données :est composé d'un
Segment de données initialisées
(les variables globales et statiques)
et Segment de données non initialisées
(créé dynamiquement)
14
Gestion des Processus
 Les systèmes d'exploitation manipulent deux structures de données
principales pour gérer les processus créés sur une machine : la table
des processus et le bloc de contexte d'un processus (PCB).
 La table des processus comporte une entrée par processus qui
rassemble toutes les informations concernant un processus
15
Gestion des Processus
 Un processus est un programme en exécution + contexte
d’exécution.
 Un processus est caractérisé par un contexte d’un processus
appelé bloc de contrôle (Process Control Bloc: PCB).
 Attributs d’un PCB:
◦ PID et PPID,
◦ État,
◦ Priorité,
◦ Compteur ordinal,
◦ Fichiers ouverts,
◦ Pointeurs: seg. code, seg. données, seg. Pile,
◦ Temps d’exécution.
16
Gestion des Processus
La commutation de contexte
 Sur un système multitâche, le SE doit redonner le contrôle du
processeur d’un processus à un autre en effectuant des commutations
de contexte.
 La commutation de contexte consiste………………………………………………
……………..…………………………………….…………………………………………………………
17
Gestion des Processus
Les interruptions
 constituent un concept fondamental des systèmes d’exploitation.
Les interruptions peuvent être matérielles ou logicielles.
 Une interruption est signal produit par un périphérique et envoyé
vers le processeur pour l’informer de la fin d’une E/S, la
production d’une erreur …
18
Gestion des Processus
Processus Léger (Thread)
 Un processus contient au moins un thread de contrôle unique en plus
de l’espace d’adressage.
 Un thread est une unité d’exécution de code. il est issu d’un processus
mais ne contenant que la pile d’exécution.
Sous Unix
- Processus zombie est un processus qui s'est achevé, mais qui dispose
toujours d'un identifiant de processus (PID) et reste donc encore
visible dans la table des processus.
- Processus Orphelin est un processus dont le père s’est terminé avant
lui.
19
Gestion des Processus
20
Plan du Chapitre 1
Gestion des Processus
1. Notions de base sur les systèmes
2. Gestion de Processus
3. Ordonnancement des processus
3.1 Ordonnancement des processus : Définition
3.2 Types d’algorithmes d’ordonnancement
• Ordonnancement Monotâche
• Ordonnancement Multitâche
21
Ordonnancement des processus
Les concepts de base de l’ordonnancement :
 Un ordonnanceur (scheduler ou dispatcher): un programme qui
gère l’ordre de passage des processus dans le processeur (CPU).
 Une file d’attente qui va accueillir les processus prêts.
 Un algorithme d’ordonnancement (politique ou approche) se
traduit par un ensemble de règles pour organiser ou ordonner les
processus
• Le diagramme de GANTT: Représentation graphique de
l’ordonnancement relative à l’exécution d’un ensemble de
processus selon un algorithme d’ordonnancement.
Ordonnancement des processus
Ordonnancement des processus
 Étant donnée un ensemble de processus prêts, l’Ordonnanceur
(scheduler) du SE doit choisir quel processus élire en utilisant un
algorithme d’ordonnancement.
Un bon algorithme d’ordonnancement :
1. Chaque processus doit avoir sa part de temps CPU : Equité.
2. Utiliser le temps processeur à 100% : efficacité.
3. Minimiser le temps de réponse en Mode Interactif.
Ordonnancement des processus
Etats des processus
Au fur et a mesure qu’un processus s’exécute; il change d’état.
Il peut se trouver dans l’un des trois états principaux suivants:
• Nouveau : le processus nouvellement crée
• Prêt (Ready) : le processus………………………………………………
• Élu (Running) : le processus…………..……...............................
• Bloqué (Sleep) : le processus………………………………………….
• Terminé : le processus se termine
25
Ordonnancement des processus
Les Graphes des états d’un processus
1. Système Monotâche /Monoprogrammé
2. Système Monotâche /Multiprogrammé
3. Système Multitâche /Multiprogrammé
Ordonnancement des processus
 L’ordonnanceur choisit un processus parmi les processus prêts et lui
alloue le processeur (2)
 Chaque fois que le processus exécutant est
interrompu
◦ un processus élu ………………………..……( )
◦ un processus change d’élu ………………..( )
◦ un processus exécutant ……………………( )
 Chaque fois qu’un nouveau processus est prêt
◦ un processus se présente en tant que ………………… ( )
◦ un processus change de bloqué à……………………….. ( )
Ordonnancement des processus
Deux paramètres sont utilisés pour juger de la performance et de
l’efficacité d’un algorithme d’ordonnancement : Temps de rotation et
Temps d’attente.
Critères d'ordonnancement fréquemment utilisées
 Temps de rotation est le temps passé dans le système y compris dans
l’état prêt
Temps de rotation = Date de fin – Date d’arrivée
Temps rotation moyen = ∑ temps rotation / nbr processus
 Temps attente est le temps passé dans la file des processus (prêts).
Temps attente = Temps de rotation – Temps d’exécution (te)
Temps attente moyen = ∑ temps attente / nbr processus
Ordonnancement des processus
Deux paramètres sont utilisés pour juger de la performance et de
l’efficacité d’un algorithme d’ordonnancement :
Temps de rotation et Temps d’attente.
Ordonnancement des processus
Deux types d’algorithmes d’ordonnancement se distinguent :
- Algorithmes Monotâche
- Algorithmes Mutlitâche
1. Les algorithmes monotâche/non préemptif/ sans réquisition
Le SE exécute un processus ……………………………………………………..
RQ: Le processeur est réquisitionné :
- …………………………………………………………………………………………….…
- ………………………………………………………………………………………………..
Ordonnancement des processus
Deux types d’algorithmes d’ordonnancement se distinguent :
2. Les algorithmes multitâche/ préemptif/ avec réquisition
Le SE exécute le processus……………………………………………………
RQ: Le processeur est réquisitionné :
- ……..…………………………………………………………………………………………
- ……………………………………………………………………………………………..…
I. FCFS / FIFO (First comes First Served )
Critère de priorité : temps d’arrivée à la RAM (ta)
ta : Temps d’arrivée à la RAM (temps de création du processus)
Principe : Le premier arrivée est le premier servi.
II. SJF (Shortest Job First )
Critère de priorité : temps d’exécution(te)
te: Temps estimé d’exécution du processus (unités d’horloge /ns
demandés dans le CPU)
Principe : Le processus qui demande le moins de te est élu.
III. Priorité sans interruption
Critère de priorité : Priorité statique (Pr)
Pr : Priorité du processus selon sa classe (système, utilisateur) peut être
dynamique/statique.
Principe : Le processus le plus prioritaire est élu.
Ordonnancement monotâche
Ordonnancement monotâche
Application 1 : Dans un
système multiprogrammé et
monotâche, les processus P1,
P2, P3 et P4 ont les
caractéristiques données par le
tableau suivant :
Processus Ta Tex Pr croissante
P1 0 5 3
P2 1 3 2
P3 2 1 4
P4 4 2 1
Application 2 : Le même système
admet des entrées sorties sur le
même disque dur (les requêtes
ne peuvent pas être
interrompues et sont gérées
avec FIFO) :
Processus Ta Tex Pr
P1 0 2C, 2E/S, 1C 3
P2 1 1C,1 E/S, 1C 2
P3 2 1 4
P4 4 2 1
I. Tourniquet (RR)
Critère de priorité : temps d’arrivée à la RAM (ta)
Principe : Le premier arrivée est le premier servi. Le temps
processeur est divisé en intervalles de temps appelés Quantum Q,
chaque processus s’exécutera exactement pendant son quantum.
II. SRT (Shortest Remaining Time)
Critère de priorité : temps d’exécution(te)
Principe : Le processus qui demande le moins de te est élu. A
Chaque instant, l’ordonnanceur cherche parmi les processus prêts celui
ayant le plus petit temps d’exécution restant.
Ordonnancement multitâche
III. Priorité avec interruption
Critère de priorité : Priorité statique (définies par le système ou
l'utilisateur) ou dynamique (modifiées en cours d'exécution en
fonction de certains critères comme l'attente ou le temps
d'exécution).
Principe : Le processus le plus prioritaire est élu.
Le système d’exploitation ordonne les processus prêts selon l’ordre de
leurs priorités et le processus à élire est celui avec la plus haute priorité
Ordonnancement multitâche
Ordonnancement multitâche
Application 1 : Dans un
système multiprogrammé et
multitâche, les processus P1,
P2, P3 et P4 ont les
caractéristiques données par le
tableau suivant :
Processus Ta Tex Pr croissante
P1 0 5 3
P2 1 3 2
P3 2 1 4
P4 4 2 1
Application 2 : Le même système
admet des entrées sorties sur le
même disque dur (les requêtes
ne peuvent pas être
interrompues et sont gérées
avec FIFO) :
Processus Ta Tex Pr
P1 0 2C,2 E/S, 1C 3
P2 1 1C,1 E/S, 1C 2
P3 2 1 4
P4 4 2 1
37
Algorithmes d’ordonnancement
•Sous Windows:
- l’ordonnanceur est de type « Multilevel feedback queue» :
-Plusieurs queues (FIF0) classées selon la priorité des processus,
-Chaque processus s’execute pendant un Q,
-Si un processus consomme beaucoup de temps processeur, il
passe à la queue de priorité inférieure.
•Sous Linux : Politique du tourniquet modifié = Tourniquet avec
priorités dynamiques

chap1GestionProcessus2025 Traveaux Pratique

  • 1.
    Systèmes d’exploitation II cours ISI1CS/1IRS 2024/2025 Najar Yousra & olfa limam Email : yousra.najar@isi.utm.tn Olfa.limam@isi.utm.tn 1
  • 2.
    Objectifs du cours OBJECTIFS Cecours vise à vous familiariser avec les concepts et les techniques fondamentales des systèmes d'exploitation. Entre autres les éléments suivants: – Comprendre le fonctionnement d’un ordinateur en liaison avec le système d’exploitation. – Expliquer et analyser le fonctionnement des différents modules liés à la gestion de processus. – La compréhension du fonctionnement de la mémoire ainsi que sa gestion. – Comment assurer la synchronisation et la communication interprocessus – Ainsi que les solutions adoptées dans les systèmes modernes (UNIX, WINDOWS) 2
  • 3.
    Plan du cours Chapitre1 : Gestion des Processus Chapitre 2 : Gestion de la mémoire Chapitre 3 : Synchronisation des processus 3
  • 4.
    Plan du chapitre1 Gestion des processus 1. Notions de base sur les systèmes 2. Gestion de Processus 3. Ordonnancement des processus • Ordonnancement Monotâche • Ordonnancement Multitâche 4
  • 5.
    Notions de base Qu’estce qu’un système d’exploitation (SE)? • C’est le Premier programme exécuté lors du démarrage de l’ordinateur. • Un SE est une Couche de logiciel (ensemble de programmes) et un Gestionnaire de ressources, A quoi sert un système d'exploitation ? - A simplifier l’utilisation d’un ordinateur à travers différentes applications toute en cachant la complexité du matériel et de proposer des instructions plus simples à l’utilisateur.. - A contrôler l'accès à toutes les ressources de la machine. 5
  • 6.
    Notions de base Différentstypes des système d’exploitation 6
  • 7.
    Notions de base Types de système d’exploitation :  Monoutilisateur/Multiutilisateur: Plusieurs utilisateurs actifs en même temps en leur offrant des espaces de travail protégés avec des terminaux locaux ou distants (UNIX et Linux, Windows 2003 ).  Monoprocesseur/Multiprocesseurs: Système avec plusieurs processeurs (le vrai multitâche ) 7
  • 8.
    Notions de base Types de système d’exploitation :  Monotâche/Multitâche: Plusieurs taches peuvent être exécutés simultanément. Le SE peut interrompre l’exécution d’un processus pour exécuter un autre.  Monoprogrammé/Multiprogrammé: Plusieurs processus en Mémoire à la fois et permet au processeur d'être partager entre tous les processus actifs.  La plupart des ordinateurs personnels et portables modernes sont des systèmes d'exploitation multitâches mono-utilisateur. 8
  • 9.
    Gestion des Processus LeSE est responsable de la gestion des processus : - Création, terminaison des processus - Suspension, reprise des processus - Ordonnancement des processus - Allocation des ressources - Synchronisation, communication entre processus Mots clés: Etat, processus, commutation, PCB, ordonnancement, 9
  • 10.
    Gestion des Processus Processus est un concept fondamental de tout système d’exploitation.  Un processus est un programme en exécution. Il définit un objet dynamique tandis que le programme est un objet statique.  Exemple: Courrier électronique, la compression d’un fichier, le navigateur web. 10
  • 11.
    Gestion des Processus Créationd'un processus :  UNIX utilise un appel système fork() qui crée un clone du processus qui s'exécute après duplication de l'espace mémoire et du contexte.  WINDOWS utilise un appel système CreateProcess() qui crée un processus et y charge un programme. Terminaison d'un processus :  Sortie normale, lorsque le processus a terminé sa tâche (sous Unix par l’appel système exit)  Sortie suite à une erreur (e.g. division par 0, inexistence d’un fichier passé en paramètre)  Tué par un autre processus (sous Unix par l’appel système kill) 11
  • 12.
    Gestion des Processus Hiérarchiedes processus :  LINUX/ UNIX: Les processus sont organisés sous d’une arborescence ou chaque processus a un seul père et peut avoir plusieurs fils. Un processus est identifié par un PID (Process IDentifier) et un PPID (Parent Process IDentifier). Le premier processus init avec PID=1  WINDOWS : Chaque processus est crée par un père mais s'exécute Indépendamment de lui. 12 Processus père Processus fils
  • 13.
  • 14.
    Gestion des Processus L'espacemémoire utilisé par un processus est divisé en plusieurs zones. On trouve en particulier : Segment Pile : pour stocker les données obtenues en cours d'exécution. Segment code : représente le programme a exécuter placé dans des zones fixes de la mémoire. Segment de données :est composé d'un Segment de données initialisées (les variables globales et statiques) et Segment de données non initialisées (créé dynamiquement) 14
  • 15.
    Gestion des Processus Les systèmes d'exploitation manipulent deux structures de données principales pour gérer les processus créés sur une machine : la table des processus et le bloc de contexte d'un processus (PCB).  La table des processus comporte une entrée par processus qui rassemble toutes les informations concernant un processus 15
  • 16.
    Gestion des Processus Un processus est un programme en exécution + contexte d’exécution.  Un processus est caractérisé par un contexte d’un processus appelé bloc de contrôle (Process Control Bloc: PCB).  Attributs d’un PCB: ◦ PID et PPID, ◦ État, ◦ Priorité, ◦ Compteur ordinal, ◦ Fichiers ouverts, ◦ Pointeurs: seg. code, seg. données, seg. Pile, ◦ Temps d’exécution. 16
  • 17.
    Gestion des Processus Lacommutation de contexte  Sur un système multitâche, le SE doit redonner le contrôle du processeur d’un processus à un autre en effectuant des commutations de contexte.  La commutation de contexte consiste……………………………………………… ……………..…………………………………….………………………………………………………… 17
  • 18.
    Gestion des Processus Lesinterruptions  constituent un concept fondamental des systèmes d’exploitation. Les interruptions peuvent être matérielles ou logicielles.  Une interruption est signal produit par un périphérique et envoyé vers le processeur pour l’informer de la fin d’une E/S, la production d’une erreur … 18
  • 19.
    Gestion des Processus ProcessusLéger (Thread)  Un processus contient au moins un thread de contrôle unique en plus de l’espace d’adressage.  Un thread est une unité d’exécution de code. il est issu d’un processus mais ne contenant que la pile d’exécution. Sous Unix - Processus zombie est un processus qui s'est achevé, mais qui dispose toujours d'un identifiant de processus (PID) et reste donc encore visible dans la table des processus. - Processus Orphelin est un processus dont le père s’est terminé avant lui. 19
  • 20.
  • 21.
    Plan du Chapitre1 Gestion des Processus 1. Notions de base sur les systèmes 2. Gestion de Processus 3. Ordonnancement des processus 3.1 Ordonnancement des processus : Définition 3.2 Types d’algorithmes d’ordonnancement • Ordonnancement Monotâche • Ordonnancement Multitâche 21
  • 22.
    Ordonnancement des processus Lesconcepts de base de l’ordonnancement :  Un ordonnanceur (scheduler ou dispatcher): un programme qui gère l’ordre de passage des processus dans le processeur (CPU).  Une file d’attente qui va accueillir les processus prêts.  Un algorithme d’ordonnancement (politique ou approche) se traduit par un ensemble de règles pour organiser ou ordonner les processus • Le diagramme de GANTT: Représentation graphique de l’ordonnancement relative à l’exécution d’un ensemble de processus selon un algorithme d’ordonnancement.
  • 23.
  • 24.
    Ordonnancement des processus Étant donnée un ensemble de processus prêts, l’Ordonnanceur (scheduler) du SE doit choisir quel processus élire en utilisant un algorithme d’ordonnancement. Un bon algorithme d’ordonnancement : 1. Chaque processus doit avoir sa part de temps CPU : Equité. 2. Utiliser le temps processeur à 100% : efficacité. 3. Minimiser le temps de réponse en Mode Interactif.
  • 25.
    Ordonnancement des processus Etatsdes processus Au fur et a mesure qu’un processus s’exécute; il change d’état. Il peut se trouver dans l’un des trois états principaux suivants: • Nouveau : le processus nouvellement crée • Prêt (Ready) : le processus……………………………………………… • Élu (Running) : le processus…………..……............................... • Bloqué (Sleep) : le processus…………………………………………. • Terminé : le processus se termine 25
  • 26.
    Ordonnancement des processus LesGraphes des états d’un processus 1. Système Monotâche /Monoprogrammé 2. Système Monotâche /Multiprogrammé 3. Système Multitâche /Multiprogrammé
  • 27.
    Ordonnancement des processus L’ordonnanceur choisit un processus parmi les processus prêts et lui alloue le processeur (2)  Chaque fois que le processus exécutant est interrompu ◦ un processus élu ………………………..……( ) ◦ un processus change d’élu ………………..( ) ◦ un processus exécutant ……………………( )  Chaque fois qu’un nouveau processus est prêt ◦ un processus se présente en tant que ………………… ( ) ◦ un processus change de bloqué à……………………….. ( )
  • 28.
    Ordonnancement des processus Deuxparamètres sont utilisés pour juger de la performance et de l’efficacité d’un algorithme d’ordonnancement : Temps de rotation et Temps d’attente. Critères d'ordonnancement fréquemment utilisées  Temps de rotation est le temps passé dans le système y compris dans l’état prêt Temps de rotation = Date de fin – Date d’arrivée Temps rotation moyen = ∑ temps rotation / nbr processus  Temps attente est le temps passé dans la file des processus (prêts). Temps attente = Temps de rotation – Temps d’exécution (te) Temps attente moyen = ∑ temps attente / nbr processus
  • 29.
    Ordonnancement des processus Deuxparamètres sont utilisés pour juger de la performance et de l’efficacité d’un algorithme d’ordonnancement : Temps de rotation et Temps d’attente.
  • 30.
    Ordonnancement des processus Deuxtypes d’algorithmes d’ordonnancement se distinguent : - Algorithmes Monotâche - Algorithmes Mutlitâche 1. Les algorithmes monotâche/non préemptif/ sans réquisition Le SE exécute un processus …………………………………………………….. RQ: Le processeur est réquisitionné : - …………………………………………………………………………………………….… - ………………………………………………………………………………………………..
  • 31.
    Ordonnancement des processus Deuxtypes d’algorithmes d’ordonnancement se distinguent : 2. Les algorithmes multitâche/ préemptif/ avec réquisition Le SE exécute le processus…………………………………………………… RQ: Le processeur est réquisitionné : - ……..………………………………………………………………………………………… - ……………………………………………………………………………………………..…
  • 32.
    I. FCFS /FIFO (First comes First Served ) Critère de priorité : temps d’arrivée à la RAM (ta) ta : Temps d’arrivée à la RAM (temps de création du processus) Principe : Le premier arrivée est le premier servi. II. SJF (Shortest Job First ) Critère de priorité : temps d’exécution(te) te: Temps estimé d’exécution du processus (unités d’horloge /ns demandés dans le CPU) Principe : Le processus qui demande le moins de te est élu. III. Priorité sans interruption Critère de priorité : Priorité statique (Pr) Pr : Priorité du processus selon sa classe (système, utilisateur) peut être dynamique/statique. Principe : Le processus le plus prioritaire est élu. Ordonnancement monotâche
  • 33.
    Ordonnancement monotâche Application 1: Dans un système multiprogrammé et monotâche, les processus P1, P2, P3 et P4 ont les caractéristiques données par le tableau suivant : Processus Ta Tex Pr croissante P1 0 5 3 P2 1 3 2 P3 2 1 4 P4 4 2 1 Application 2 : Le même système admet des entrées sorties sur le même disque dur (les requêtes ne peuvent pas être interrompues et sont gérées avec FIFO) : Processus Ta Tex Pr P1 0 2C, 2E/S, 1C 3 P2 1 1C,1 E/S, 1C 2 P3 2 1 4 P4 4 2 1
  • 34.
    I. Tourniquet (RR) Critèrede priorité : temps d’arrivée à la RAM (ta) Principe : Le premier arrivée est le premier servi. Le temps processeur est divisé en intervalles de temps appelés Quantum Q, chaque processus s’exécutera exactement pendant son quantum. II. SRT (Shortest Remaining Time) Critère de priorité : temps d’exécution(te) Principe : Le processus qui demande le moins de te est élu. A Chaque instant, l’ordonnanceur cherche parmi les processus prêts celui ayant le plus petit temps d’exécution restant. Ordonnancement multitâche
  • 35.
    III. Priorité avecinterruption Critère de priorité : Priorité statique (définies par le système ou l'utilisateur) ou dynamique (modifiées en cours d'exécution en fonction de certains critères comme l'attente ou le temps d'exécution). Principe : Le processus le plus prioritaire est élu. Le système d’exploitation ordonne les processus prêts selon l’ordre de leurs priorités et le processus à élire est celui avec la plus haute priorité Ordonnancement multitâche
  • 36.
    Ordonnancement multitâche Application 1: Dans un système multiprogrammé et multitâche, les processus P1, P2, P3 et P4 ont les caractéristiques données par le tableau suivant : Processus Ta Tex Pr croissante P1 0 5 3 P2 1 3 2 P3 2 1 4 P4 4 2 1 Application 2 : Le même système admet des entrées sorties sur le même disque dur (les requêtes ne peuvent pas être interrompues et sont gérées avec FIFO) : Processus Ta Tex Pr P1 0 2C,2 E/S, 1C 3 P2 1 1C,1 E/S, 1C 2 P3 2 1 4 P4 4 2 1
  • 37.
    37 Algorithmes d’ordonnancement •Sous Windows: -l’ordonnanceur est de type « Multilevel feedback queue» : -Plusieurs queues (FIF0) classées selon la priorité des processus, -Chaque processus s’execute pendant un Q, -Si un processus consomme beaucoup de temps processeur, il passe à la queue de priorité inférieure. •Sous Linux : Politique du tourniquet modifié = Tourniquet avec priorités dynamiques