Systèmes
d'exploitation
Planification
Ingo Molnar
• Hongrois
• RedHat
• Completly Fair Scheduler
2
Contenu
• Planification
– Non-préemptif
– Préemptif
3
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 2
• 2.3
• 2.5
• Operating Systems Concepts
– Chapitre 6
4
Abstractions - Idée General
5
API utilisée par les processus
6
PLANIFICATION
7
Multitasking
• SE traite rapidement les processus sur les
processeurs
• Après un certain temps (quantum, time slice), un
processus est supprimé du processeur et mis en
place un autre.
– on dit que "le quantum expire"
– l'action s'appelle "changement de contexte"
• Le quantum est millisecondes
– les processus changent très rapidement
– l'impression de courir simultanément
8
Le statut d'un processus
• exécution (RUNNING)
– Le processus s'exécute sur un processeur
• attendre (WAITING)
– le processus a exécuté une action bloquante (par exemple, lecture
d'E/S) et attend l'arrivée des données; ne peut pas s’exécuter
• prêt d’exécution (READY)
– le processus peut s'exécuter sur le processeur
• Combien de processus peuvent être trouvés dans les
chaque état?
• Comment assureriez-vous la gestion des processus dans les
trois états?
9
Transitions entre les états
10
Transitions entre les états
• RUNNING -> READY
– le quantum de processus a expiré
– il y a un autre processus dans l'état
READY avec une priorité supérieure
• RUNNING -> WAITING
– le processus a exécuté une opération
bloquante
• WAITING -> READY
– l'événement de processus attendu
s'est produit
• READY -> RUNNING
– un processeur a été libéré
– le processus est le premier dans la
file d'attente des processus READY
11
Fonctionnement d’un processus
12
Changement de contexte
13
Types de processus (CPU)
• CPU bound (CPU intensive)
– utilise beaucoup le processeur
• I/O bound (I/O intensive)
– utilise rarement le processeur
– faire des opérations d'E / S -> se bloque
14
Types de SE (dpdv. planificateur)
• Préemptive
– les processus sont arrêtés à l'expiration de la
quantum de temps
• Windows, macOS, Linux, UNIX, Minix etc.
• Non-préemptive (coopératif)
– les processus doivent s'arrêter (s'ils le souhaitent)
à l'expiration de la quantum de temps
• mac OS <= 9
15
Definition
Definition Description
WT Wait Time Temps d'attente pour recevoir le CPU
MWT Mean Wait Time Temps d'attente moyen pour la réception du CPU
TT Turnaround Time Temps d'exécution total du processus
MTT Mean Turnaround Time Le temps total moyen d'exécution du processus
J Job Processus en background
P Process Processus interactif
16
Systeme ideal
• Wait Time Minimale
– les processus attendent le moins possible en READY
– interactif
• Turnaround Minimale
– processus à s’exécuter le plus rapidement possible
– productif
• Fairness
– toutes le processus doit avoir accès aux CPU
17
Types de systemes
• Procession en background
– Batch Job
– N’a pas d’interaction avec l’utilisateur
• Interactif
– Process
– Interaction avec l’utilisateur
• Temps réel
18
PROCESSION EN BACKGROUND
19
Procession en background
• Paramètres optimisé
– Throughput
• Numéro de processus fini / unité de temps
– Turnaround time
– Utilisation de CPU
• Algorithmes
– First Come First Served (FCFS)
– Shortest Job First (SJF)
– Shortest Remaining Time First (SRTF)
20
First Come First Served
• Simple d’implémenter
• Les processus CPU Bound ralentissent les
processus I/O Bound
• Grand MWT et TT
21
Exemple
Job Temp d’execution
J1 24
J2 3
J3 3
J4 5
• Calculez
– TT
– MTT
• J1, J2, J3, J4
• J2, J1, J4, J3
22
Shortest Job First
• Simple d’implémenter
• Le temps d'exécution de chaque processus
doit être connu
23
Exemple
Job Temp d’execution
J1 12
J2 9
J3 5
J4 20
• Calculez
– TT
– MTT
• FCFS
– J1, J2, J3, J4
• SJF
– J3, J2, J1, J4
24
Shortest Remaining Time First
• Version préemptif pour SJF
• Simple d’implémenter
• Le temps d'exécution de chaque processus
doit être connu
25
Exemple
Job Temp d’execution Temp d’arrive
J1 8 0
J2 4 1
J3 9 2
J4 4 3
• Calculez
– TT
– MTT
• FCFS
– J1, J2, J3, J4
• SJF
– J3, J2, J1, J4
• SRTF
26
Mot clés
• Planification
• Procession en background
• Job
• Systèmes interactifs
• Processus
• Orphelin
• Zombie
• Temps réel
• Shortest Job First
• Shortest Remaining Job
• First
• Round Robin
• Shortest Process Next
• Priorité
• Priority Inversion
• Priority Boosting
• Starvation
• Completly Fair Scheduler
27
Questions
28

SdE 5 - Planification

  • 1.
  • 2.
    Ingo Molnar • Hongrois •RedHat • Completly Fair Scheduler 2
  • 3.
  • 4.
    Bibliographie pour aujourd'hui •Modern Operating Systems – Chapitre 2 • 2.3 • 2.5 • Operating Systems Concepts – Chapitre 6 4
  • 5.
  • 6.
    API utilisée parles processus 6
  • 7.
  • 8.
    Multitasking • SE traiterapidement les processus sur les processeurs • Après un certain temps (quantum, time slice), un processus est supprimé du processeur et mis en place un autre. – on dit que "le quantum expire" – l'action s'appelle "changement de contexte" • Le quantum est millisecondes – les processus changent très rapidement – l'impression de courir simultanément 8
  • 9.
    Le statut d'unprocessus • exécution (RUNNING) – Le processus s'exécute sur un processeur • attendre (WAITING) – le processus a exécuté une action bloquante (par exemple, lecture d'E/S) et attend l'arrivée des données; ne peut pas s’exécuter • prêt d’exécution (READY) – le processus peut s'exécuter sur le processeur • Combien de processus peuvent être trouvés dans les chaque état? • Comment assureriez-vous la gestion des processus dans les trois états? 9
  • 10.
  • 11.
    Transitions entre lesétats • RUNNING -> READY – le quantum de processus a expiré – il y a un autre processus dans l'état READY avec une priorité supérieure • RUNNING -> WAITING – le processus a exécuté une opération bloquante • WAITING -> READY – l'événement de processus attendu s'est produit • READY -> RUNNING – un processeur a été libéré – le processus est le premier dans la file d'attente des processus READY 11
  • 12.
  • 13.
  • 14.
    Types de processus(CPU) • CPU bound (CPU intensive) – utilise beaucoup le processeur • I/O bound (I/O intensive) – utilise rarement le processeur – faire des opérations d'E / S -> se bloque 14
  • 15.
    Types de SE(dpdv. planificateur) • Préemptive – les processus sont arrêtés à l'expiration de la quantum de temps • Windows, macOS, Linux, UNIX, Minix etc. • Non-préemptive (coopératif) – les processus doivent s'arrêter (s'ils le souhaitent) à l'expiration de la quantum de temps • mac OS <= 9 15
  • 16.
    Definition Definition Description WT WaitTime Temps d'attente pour recevoir le CPU MWT Mean Wait Time Temps d'attente moyen pour la réception du CPU TT Turnaround Time Temps d'exécution total du processus MTT Mean Turnaround Time Le temps total moyen d'exécution du processus J Job Processus en background P Process Processus interactif 16
  • 17.
    Systeme ideal • WaitTime Minimale – les processus attendent le moins possible en READY – interactif • Turnaround Minimale – processus à s’exécuter le plus rapidement possible – productif • Fairness – toutes le processus doit avoir accès aux CPU 17
  • 18.
    Types de systemes •Procession en background – Batch Job – N’a pas d’interaction avec l’utilisateur • Interactif – Process – Interaction avec l’utilisateur • Temps réel 18
  • 19.
  • 20.
    Procession en background •Paramètres optimisé – Throughput • Numéro de processus fini / unité de temps – Turnaround time – Utilisation de CPU • Algorithmes – First Come First Served (FCFS) – Shortest Job First (SJF) – Shortest Remaining Time First (SRTF) 20
  • 21.
    First Come FirstServed • Simple d’implémenter • Les processus CPU Bound ralentissent les processus I/O Bound • Grand MWT et TT 21
  • 22.
    Exemple Job Temp d’execution J124 J2 3 J3 3 J4 5 • Calculez – TT – MTT • J1, J2, J3, J4 • J2, J1, J4, J3 22
  • 23.
    Shortest Job First •Simple d’implémenter • Le temps d'exécution de chaque processus doit être connu 23
  • 24.
    Exemple Job Temp d’execution J112 J2 9 J3 5 J4 20 • Calculez – TT – MTT • FCFS – J1, J2, J3, J4 • SJF – J3, J2, J1, J4 24
  • 25.
    Shortest Remaining TimeFirst • Version préemptif pour SJF • Simple d’implémenter • Le temps d'exécution de chaque processus doit être connu 25
  • 26.
    Exemple Job Temp d’executionTemp d’arrive J1 8 0 J2 4 1 J3 9 2 J4 4 3 • Calculez – TT – MTT • FCFS – J1, J2, J3, J4 • SJF – J3, J2, J1, J4 • SRTF 26
  • 27.
    Mot clés • Planification •Procession en background • Job • Systèmes interactifs • Processus • Orphelin • Zombie • Temps réel • Shortest Job First • Shortest Remaining Job • First • Round Robin • Shortest Process Next • Priorité • Priority Inversion • Priority Boosting • Starvation • Completly Fair Scheduler 27
  • 28.