SlideShare une entreprise Scribd logo
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

Contenu connexe

Tendances

SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
Alexandru Radovici
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
Alexandru Radovici
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
Alexandru Radovici
 
SdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiersSdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiers
Alexandru Radovici
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire Virtuelle
Alexandru Radovici
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
Alexandru Radovici
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
Alexandru Radovici
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de Fichiers
Alexandru Radovici
 
SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
Alexandru Radovici
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
Alexandru Radovici
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de execution
Alexandru Radovici
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
Alexandru Radovici
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
embedded-linux-bdx
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
Alexandru Radovici
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
Alexandru Radovici
 
ALF - Introduction
ALF - IntroductionALF - Introduction
ALF - Introduction
Alexandru Radovici
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de execution
Alexandru Radovici
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
eurogicielgroup
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
Alexandru Radovici
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
Alexandru Radovici
 

Tendances (20)

SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
SdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiersSdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiers
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire Virtuelle
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de Fichiers
 
SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de execution
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
ALF - Introduction
ALF - IntroductionALF - Introduction
ALF - Introduction
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de execution
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
 

Similaire à SdE 5 - Planification

Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
MedBechir
 
gestion de processus
gestion de processusgestion de processus
gestion de processus
MoodyBop
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
MoodyBop
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
Selman Dridi
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
Abbas Ebrahimi
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
MbarkiIsraa
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
Malak Souf
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
Alexandru Radovici
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
Selman Dridi
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
Christian Charreyre
 
The supply chain is susceptible to market volatility, driven by changing cons...
The supply chain is susceptible to market volatility, driven by changing cons...The supply chain is susceptible to market volatility, driven by changing cons...
The supply chain is susceptible to market volatility, driven by changing cons...
DanielMohamed4
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?
Aurélie Henriot
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?
clevernetsystemsgeneva
 
Sysadmin Day #5
Sysadmin Day #5Sysadmin Day #5
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Pierre Ficheux
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
CHERIET Mohammed El Amine
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5
Microsoft
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
nautilebleu
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
webreaker
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
DenisKouakou1
 

Similaire à SdE 5 - Planification (20)

Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
 
gestion de processus
gestion de processusgestion de processus
gestion de processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
 
The supply chain is susceptible to market volatility, driven by changing cons...
The supply chain is susceptible to market volatility, driven by changing cons...The supply chain is susceptible to market volatility, driven by changing cons...
The supply chain is susceptible to market volatility, driven by changing cons...
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?
 
Sysadmin Day #5
Sysadmin Day #5Sysadmin Day #5
Sysadmin Day #5
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 

Plus de Alexandru Radovici

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
Alexandru Radovici
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
Alexandru Radovici
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
Alexandru Radovici
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
Alexandru Radovici
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
Alexandru Radovici
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
Alexandru Radovici
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
Alexandru Radovici
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
Alexandru Radovici
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
Alexandru Radovici
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
Alexandru Radovici
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
Alexandru Radovici
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
Alexandru Radovici
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
Alexandru Radovici
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
Alexandru Radovici
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
Alexandru Radovici
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
Alexandru Radovici
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
Alexandru Radovici
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
Alexandru Radovici
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
Alexandru Radovici
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
Alexandru Radovici
 

Plus de Alexandru Radovici (20)

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
 

Dernier

1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
TimogoTRAORE
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 

Dernier (7)

1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 

SdE 5 - Planification

  • 2. Ingo Molnar • Hongrois • RedHat • Completly Fair Scheduler 2
  • 4. Bibliographie pour aujourd'hui • Modern Operating Systems – Chapitre 2 • 2.3 • 2.5 • Operating Systems Concepts – Chapitre 6 4
  • 6. API utilisée par les processus 6
  • 8. 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
  • 9. 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
  • 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
  • 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 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
  • 17. 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
  • 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
  • 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 First Served • 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 J1 24 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 J1 12 J2 9 J3 5 J4 20 • Calculez – TT – MTT • FCFS – J1, J2, J3, J4 • SJF – J3, J2, J1, J4 24
  • 25. 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
  • 26. 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
  • 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