SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Chap. III. ORDONNANCEMENT des Processus
ENSI -- II2
1. Introduction
2. Types d’ordonnancement
3. Modèle simple d'ordonnancement
4. Politiques d’ordonnancement
 Organisations des files d’attente
 Ordonnancement FCFS / SJF/ priorité/RR/ SRTF/ Multi-
niveaux
5. Hiérarchie d’ordonnancement
6. Ordonnancement des threads
FN
ENSI -- F. Najjar Ordonnancement des Processus 2
Généralités
✓ Qu’est ce que l’ordonnancement?
 Commuter dès qu’un processus se bloque ou se termine
ENSI -- F. Najjar Ordonnancement des Processus 3
Généralités (suite)
✓ Le SE contient deux modules gérant le processeur :
 Ordonnanceur (scheduler): choisir le processus qui doit s’exécuter
 Problème: Dans quel ordre les processus sont servis?
 Allocateur (dispatcher): lancer l’exécution du processus choisi par le scheduler
✓ Scheduler (SCHED_FIFO, SCHED_RR, …)
 Politique d’ordonnancement?
✓ Dispatcher
 Mécanisme d’allocation et contrôle de la CPU?
 Commutation de contexte
ENSI -- F. Najjar Ordonnancement des Processus 4
Introduction -- Généralités
✓ Ordonnanceur -- Scheduler
 Objectif : Sur un intervalle de temps assez grand, faire progresser tous
les processus, tout en ayant, à un instant donné, un seul processus actif
(dans le processeur).
 Rôle: se charge de la commutation de processus, qui règle les transitions
d’un état à un autre des différents processus.
Multi-programmation: réalisée par l’ordonnanceur, et est activée par
des interruptions d’horloge, de disque et de terminaux.
ENSI -- F. Najjar Ordonnancement des Processus 5
Introduction -- Objectifs de la Multiprogrammation
✓ Maximiser le taux d’utilisation de l’unité centrale (efficacité) :
 Durée(UC_active)/Durée_totale.
 En pratique, valeurs comprises entre 40% et 90% (très mauvais - très bon)
✓ Maximiser le débit (nombre de processus utilisateurs traités en moyenne par
unité de temps).
✓ Minimiser le temps de traitement moyen
 Moyenne des intervalles de temps entre la soumission d’une tâche de sa fin
d’exécution.
✓ Minimiser le temps de traitement total (temps de vie d’un processus)
 Temps(Résidence_FA_process_Prêts) + Temps(Occup_UC)
+Temps(At_FA_E/S) + Temps( Résidence_MS)
✓ Minimiser le temps d’attente
ENSI -- F. Najjar Ordonnancement des Processus 6
Critères d’Ordonnancement des Processus
✓ Plusieurs processus sont prêts à être exécutés (queue en RAM).
✓ Le SE doit faire un choix --Algorithme d’ordonnancement:
 Equité : chaque processus doit recevoir sa part du temps processeur
 Efficacité : le processeur doit être utilisé à 100%
 Temps de réponse: l’utilisateur devant sa machine ne doit pas trop
attendre (mode interactif)
 Temps d’exécution: une séquence d’instructions ne doit pas trop durer
(minimiser le temps d’attente en traitement par lots)
 Rendement (’’throughput’’): il faut faire le plus de choses en une unité
de temps
ENSI -- F. Najjar Ordonnancement des Processus 7
Types d’ Ordonnancement des Processus
❑ Les types d’ordonnancements: distingués suivant les transitions permises
dans le graphe d'état d’un processus
 Ordonnancement sans réquisition –(Preemptive sched.): Pas de Transition
actif-prêt:
un processus est exécuté jusqu’à la fin : inefficace :-(!
 Ordonnancement avec réquisition --(Non Preemptive sched.): Transition
actif-prêt:
 Temps partagé
 à chaque signal d’horloge, le SE reprend la main, décide si le processus
courant a consommé son quantum de temps et alloue éventuellement
le processeur à un autre processus
 Il existe de nombreux algorithmes d’ordonnancement
ENSI -- F. Najjar Ordonnancement des Processus 8
Modèle Simple d’Ordonnancement
❑ Représentation de l’ordonnancement des processus –PROCESS QUEUES
FA/Queue des prêts
UC
DISPATCHER
Terminaison
Demande E/S
Queue des E/S
E/S
Tranche de temps expirée
Fork un fils
Fils s’exécute
exit
Attente It
Interruption
SCHEDULER
ENSI -- F. Najjar Ordonnancement des Processus 9
Process scheduling –Process Queues
Source: Silberschatz & al., Operating Systems Concepts, 9th Edition, 2013
ENSI -- F. Najjar Ordonnancement des Processus 10
Politique d’Ordonnancement – Organisations des FAs
✓ Hypothèse : Un seul processeur + plusieurs processus
✓ Une file d’attente, soit FA (Queue), des processus prêts: Espace réservé dans
la mémoire centrale, contenant les informations relatives aux entités que gère
la FA (pointer sur les BCPi).
✓ Principe de chaînage d’une FA : avant/ arrière/ mixte
✓ Plusieurs processus sont mis dans une FA, et le service demandé leur est fourni
tour à tour, en fonction de critères de gestion spécifiques à la FA.
✓ Plusieurs situations peuvent se produire
FA des prêts
UC
Dispatcher
Scheduler
Arrivée
Réquisition
Gère l’allocation du processeur,
il peut réquisitionner
Service
satisfait Sortie
Gère la FA : entrée des processus et
leur placement
ENSI -- F. Najjar Ordonnancement des Processus 11
Algorithmes sans préemption (FIFO, SJF, Priorité) (1)
❑ Algorithme FIFO (First In First Out) -- Premier Arrivé Premier Servi
 Un processus s'exécute jusqu'à sa terminaison, sans retrait forcé de la ressource --SCHED_FIFO
 Même priorité pour les processus (aucun privilège entre les processus)
 Facile à implanter, mais peu efficace (le choix n’est pas lié à l’utilisation de l’UC)
ENSI -- F. Najjar Ordonnancement des Processus 12
Algorithmes sans préemption (FIFO, SJF, Priorité) (2)
Processus Durée estimée Date d’arrivée
P1 24 0
P2 8 1
P3 12 2
P4 3 3
❑ Hypothèse: Temps de commutation négligeable pour la suite des transparents
❑ Exemple:
❑ Schématiser l’exécution des processus selon leur ordre d'arrivée. Pour cela, on utilise le
DIAGRAMME DE GANTT
P1 P2 P3 P4
Temps de vie des processus
0 24 32 44 47
❑ Temps de traitement moyen = [(24 - 0) + (32 - 1) + (44 -2) + (47 -3)]/4 = 35,25
ENSI -- F. Najjar Ordonnancement des Processus 13
Algorithmes sans préemption (FIFO, SJF, Priorité) (3)
✓ Algorithme SJF -- Shortest Job First (STCF -- Shortest Time to Completion First) :
Algorithme du ’’Plus Court d’Abord ’’ :
 Suppose la connaissance des temps d'exécution : estimation de la durée de chaque processus
en attente
 Les processus sont disponibles simultanément → Algorithme optimal (sans préemption)
 Exécuter le processus le plus court → Minimise le temps moyen d'exécution
 Analogie avec la FA à une caisse de grande surface, où une règle de politesse est de laisser
passer quelqu’un qui a peu de choses si l’on a plein dans le caddie
ENSI -- F. Najjar Ordonnancement des Processus 14
Algorithmes avec préemption (Priorité, RR, SRTF) (1)
✓ A chaque processus est assignée (automatiquement par le SE /externe) une priorité
 Assignation statique -- priorités fixes → facile à implanter
 Assignation dynamique : la priorité initiale assignée à un processus peut être ajustée à d ’autres
valeurs → difficile à implanter
 Pb. de famine (Starvation): un processus de faible priorité peut ne jamais s'exécuter si
des processus plus prioritaires se présentent constamment
 Recalculer périodiquement le numéro de priorité des processus (plusieurs FA) → la
priorité d’un processus décroît (croit) au cours du temps pour ne pas bloquer les autres FA
✓ Principe : On lance le processus ayant la plus grande priorité
Algorithme d’ordonnancement à classes de priorité
ENSI -- F. Najjar Ordonnancement des Processus 15
Algorithmes avec préemption (Round Robin, Priorité, SRTF) (2)
✓ ROUND ROBIN (SCHED_RR) : algorithme tourniquet, l’un des plus utilisés et des plus
fiables
 Ordonnancement selon l’ordre FIFO + préemption (Equitable)
 Chaque processus possède un quantum de temps pendant lequel il s’exécute
 Lorsqu’un processus épuise son quantum de temps : au suivant !
 S’il n’a pas fini : le processus passe en queue du tourniquet et au suivant !
✓ Exemple : Le quantum de temps, Q, est égale à 2 unités; quel est le temps de traitement moyen?
Exécution
CPU
P1
(3 unités)
P2
(4 unités)
P3
(2 unités)
P4
(3 unités)
P8
(2 unités)
P7
(4 unités)
P6
(5 unités)
P5
(3 unités)
Q
Q Q
Q
Q Q
Q
Q
ENSI -- F. Najjar Ordonnancement des Processus 16
✓ Temps de traitement moyen =
[(17-0) + (19-1) + (6-2) + (20-3) + (21-4) + (26-5) + (25-6) + (16-7)] /8 = 15,25
✓ Problème = réglage du quantum (petit/grand; fixe/variable;est-il le même pour tous les processus ?)
 Les quanta égaux rendent les différents processus égaux
 Quantum trop petit provoque trop de commutations de processus
 Le changement de contexte devient coûteux (perte de temps CPU)
 Quantum trop grand : augmentation du temps de réponse d’une commande (même simple)
 RR dégénère vers FIFO
 Réglage correct : varie d’un système (resp. d’une charge) à un autre et d’un processus à un autre
✓ Il existe d ’autres variantes de RR, telle que RR avec priorités
Algorithme Tourniquet -- Round Robin (suite)
P1
0 2
P2 P3 P4 P5 P6 P7 P8 P1 P2 P4 P5 P6
4 6 8 10 12 14 16 17 19 20 21 23
P7 P6
25 26 Temps de vie
Diagramme de Gantt (Q=2 unités)
ENSI -- F. Najjar Ordonnancement des Processus 17
Algorithme Tourniquet avec priorités
✓ Le système de gestion possède n FA à différents niveaux de priorités (+
différents quanta)
FA n-1 (Q n-1)
FA1 (Q1)
FA 0 (Q 0) CPU
Réquisition
Arrivée
+
-
Priorité Scheduler Dispatcher
Terminaison
Q 0  Q 1  Q 2  ...  Q n-1
✓ A son arrivée, le processus est rangé dans la FA la plus prioritaire FA0
✓ Si un processus dans FAi épuise son quantum de temps Qi (0 i n-2), il sera placé dans la FAi+1
(moins prioritaire)
 Une FAi (0  i n-1 ) ne peut être servie que si toutes les FAj (0  j< i) sont vides
 un processus qui a traversé toutes les FA sans épuiser son temps de traitement reste dans la FA la moins prioritaire.
ENSI -- F. Najjar Ordonnancement des Processus 18
❑ Algorithme SRTF (Shortest Remaining Time First) -- SJF avec réquisition
 Choisir le processus dont le temps d'exécution restant est le plus court
 Il y a réquisition selon le critère de temps d'exécution restant et l'arrivée d’un processus
 Possibilité de morcellement d’un processus
 Nécessité de sauvegarder le temps restant
❑ Exemple :
Algorithmes avec préemption (RR, Priorité, SRTF) (3)
Processus Durée estimée Date d’arrivée
P1 8 0
P2 5 2
P3 5 3
P4 2 4
P1
0 2
P2 P4 P1
4 6 9 14 20
Temps de vie
Diagramme de Gantt
P2 P3 P1
❑ Temps de traitement moyen = [(20 - 0) + (9 -2) + (14 -3) + (6-4)]/4 = 9,5
❑ Théoriquement, + SRTF offre un minimum de temps d’attente; - difficile de prédire le futur
ENSI -- F. Najjar Ordonnancement des Processus 19
Hiérarchie d’Ordonnancement (1)
❑ 2 types différents:
 Ordonnancement à court terme (short term scheduling or CPU scheduling ):
 Seulement les processus prêts en mémoire centrale sont considérés
 rapide (de l’ordre de millisecondes)
 Ordonnancement à long terme (long term scheduling or job scheduling):
 consiste à utiliser un deuxième algorithme d’ordonnancement pour gérer
les ‘’swapping ’’ des processus prêts entre le disque et la RAM
 plus lent (de l’ordre de seconde/mn)
FA des E/S
’’Swap out’’ Processus
FA des Prêts
UC
Sortie
E/S
Arrivée
ENSI -- F. Najjar Ordonnancement des Processus 20
Hiérarchie d’Ordonnancement (2)
✓ Ordonnancement multi-niveaux permet de satisfaire :
 Favoriser les processus courts
 Favoriser les processus ‘’I/O Bound’’, qui ne demandent pas trop l ’UC
 Déterminer la nature de chaque processus le plutôt possible et effectuer
l’ordonnancement correspondant
✓ Files d’attente sans liens : un processus se trouvant dans dans FAi ne peut se
trouver dans FAj (ji); il reste dans FAi jusqu’à ce qu’il se termine
FA n-1
FA1
FA 0
CPU
Réquisition
+
-
Priorité fixe
Terminaison
Processus Système
Processus Interactifs
(RR)
(FCFS/SJF)
ENSI -- F. Najjar Ordonnancement des Processus 21
Hiérarchie d’Ordonnancement (3)
✓ Files d’attente avec liens : hiérarchiser les FAs
FA n-1
FA1
FA 0
CPU
Réquisition
Terminaison
(RR)
(FCFS)
Arrivée niveau 0
(FCFS)
Arrivée niveau 1
Arrivée niveau n-1
✓ Un processus dans FAi ne peut être sélectionné que si toutes les FAj (j<i) sont toutes vides
✓ Permettre aux processus de se déplacer d’une FA à une autre
 Hiérarchie descendante/ascendante/bidirectionnelle
✓ Changement dynamique dans le comportement des processus
✓ Chaque FA a son propre algorithme d’ordonnancement
 Descendante FA0 est gérée avec FCFS
 Ascendante Fn_1 est gérée avec FCFS
ENSI -- F. Najjar Ordonnancement des Processus
Autres Scheduling ….
25
ENSI -- F. Najjar Ordonnancement des Processus
Multiple-Processor Scheduling
❑ CPU scheduling becomes more complex when multiple CPUs are available.
 Have one ready queue accessed by each CPU.
 Self scheduled - each CPU dispatches a job from ready Q
 Manager-worker - one CPU schedules the other CPUs
❑ Homogeneous processors within multiprocessor.
 Permits Load Sharing
❑ Asymmetric multiprocessing
 Only 1 CPU runs kernel, others run user programs
25
ENSI -- F. Najjar Ordonnancement des Processus
Real-Time Scheduling
❑ Hard Real-time Computing:
 required to complete a critical task within a guaranteed amount of time.
❑ Soft Real-time Computing:
 requires that critical processes receive priority over less important
ones.
❑ Types of real-time Schedulers:
 Periodic Schedulers - Fixed Arrival Rate
 Demand-Driven Schedulers - Variable Arrival Rate
 Deadline Schedulers - Priority determined by deadline
 …
25
ENSI -- F. Najjar Ordonnancement des Processus 25
Thread Scheduling
❑ Local Scheduling:
How the threads library decides which user thread to run
next within the process
❑ Global Scheduling:
How the kernel decides which kernel thread to run next
ENSI -- F. Najjar Ordonnancement des Processus 26
Exemples d’ordonnancement
❑ Unix: multi-niveaux, plusieurs politiques, qui peuvent changer dans le temps
❑ Linux – multi-niveaux avec 3 niveaux les plus importants
 Realtime FIFO
 Realtime round robin
 Timesharing
❑ Windows Vista – politique avec priorité à deux dimensions:
 Classe des processus prioritaires
Real-time, high, above normal, normal, below normal, idle
 Les priorités des threads sont relatives dela la classe des priorités.
Time-critical, highest, …, idle
ENSI -- F. Najjar Ordonnancement des Processus 27
Exemples d’ordonnancement POSIX
ENSI -- F. Najjar Ordonnancement des Processus 28
Threads scheduling
Annexes
ENSI -- F. Najjar Ordonnancement des Processus 29
Multicore Programming
❑ Multicore or multiprocessor systems putting pressure on programmers,
challenges include: Dividing activities, Balance, Data splitting, Data
dependency, Testing and debugging•
❑ Parallelism implies a system can perform more than one task simultaneously
❑ Concurrency supports more than one task making progress
 Single processor/core, scheduler providing concurrency•
❑ Types of parallelism:
 Data parallelism: distributes subsets of the same data across multiple
cores, same operation on each
 Task parallelism: distributing threads across cores, each thread
performing unique operation
(source: https://www.ida.liu.se/~TDIU11/current/info/II.Processes.pdf)
ENSI -- F. Najjar Ordonnancement des Processus 30
Threads scheduling
❑ Distinction between user-level and kernel-level threads
❑ When threads supported, threads scheduled, not processes
❑ Many-to-one and many-to-many models, thread library schedules user-level
threads to run on LWP
 Known as process-contention scope (PCS) since SCHEDULING
COMPETITION IS WITHIN THE PROCESS
Typically done via priority set by programmer
❑ Kernel thread scheduled onto available CPU is system-contention scope
(SCS) – competition among all threads in system
(source: Silberschatz, Galvin and Gagne. “Operating System Concepts”, 9th edition, 2013)
ENSI -- F. Najjar Ordonnancement des Processus 31
Threads scheduling (1/4)
❑ Mixed
 Mach:
 user-level code to provide scheduling hints to the kernel
 Solaris:
 assign each user-level thread to a kernel-level thread (multiple
user threads can be in one kernel thread)
 creation/switching at the user level
 scheduling at the kernel level
ENSI -- F. Najjar Ordonnancement des Processus 32
Threads Scheduling (2/4)
❑ FastThread package
 hierarchical, event-based scheduling
 each process has a user-level thread scheduler
 virtual processors are allocated to processes
 the # of virtual processors depends on a process's needs
 physical processors are assigned to virtual processors
 virtual processors can be dynamically allocated and deallocated to a
process according to its needs.
 Scheduler Activation (SA)
 event/call from kernel to user-level scheduler
 represents a time slice on a virtual processor (# of SA's < # of
virtual processors)
 user-level scheduler can assign threads to SA's (time slices).
ENSI -- F. Najjar Ordonnancement des Processus
Threads Scheduling (3/4)
❑ Events from user-level scheduler to kernel
 P idle: virtual processor is idle
 P needed: new virtual processor needed
❑ Events from kernel to user-level scheduler
 Virtual processor allocated (P added):
– User-level: scheduler can choose a ready thread to run
 SA blocked (in kernel):
– Kernel: sends a new SA
– User-level: a ready thread is assigned to the new SA to run
 SA unblocked (in kernel):
– user-level: thread is back on the ready queue
– kernel: allocate new virtual processor to process or preempt
another SA
 SA preempted (in kernel):
– user-level: puts the thread back to the ready queue
25
ENSI -- F. Najjar Ordonnancement des Processus
34
Threads Scheduling (4/4) --Scheduler activations
Process
A
Process
B
Virtual processors Kernel
Process
Kernel
P idle
P needed
P added
SA blocked
SA unblocked
SA preempted
A. Assignment of virtual processors
to processes
B. Events between user-level scheduler & kernel
Key: P = processor; SA = scheduler activation

Contenu connexe

Tendances

Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationTunisie collège
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 
Ordinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfOrdinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfs12ber
 
Réseaux informatiques: Reseau Local LAN
Réseaux informatiques: Reseau Local  LANRéseaux informatiques: Reseau Local  LAN
Réseaux informatiques: Reseau Local LANTunisie collège
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.pptPROFPROF11
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: PrincipeSouhaib El
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1manou2008
 
Cours Réseaux et Protocoles_Part1.pptx
Cours Réseaux et Protocoles_Part1.pptxCours Réseaux et Protocoles_Part1.pptx
Cours Réseaux et Protocoles_Part1.pptxNissrineNiss1
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices sarah Benmerzouk
 

Tendances (20)

Ordonnancement SJF
Ordonnancement SJFOrdonnancement SJF
Ordonnancement SJF
 
STR-2.pdf
STR-2.pdfSTR-2.pdf
STR-2.pdf
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitation
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
Ordinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfOrdinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdf
 
Réseaux informatiques: Reseau Local LAN
Réseaux informatiques: Reseau Local  LANRéseaux informatiques: Reseau Local  LAN
Réseaux informatiques: Reseau Local LAN
 
Supports de stockage
Supports de stockageSupports de stockage
Supports de stockage
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1
 
Cours Réseaux et Protocoles_Part1.pptx
Cours Réseaux et Protocoles_Part1.pptxCours Réseaux et Protocoles_Part1.pptx
Cours Réseaux et Protocoles_Part1.pptx
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices
 

Similaire à Ordonnanc-Proc_Threads (1).pdf

gestion de processus
gestion de processusgestion de processus
gestion de processusMoodyBop
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processusMoodyBop
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processusSelman Dridi
 
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
 
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.pdfMedBechir
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationAlexandru Radovici
 
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 2015Christian Charreyre
 
Guss webcasts Query Memory Grants - june 2013
Guss webcasts   Query Memory Grants - june 2013Guss webcasts   Query Memory Grants - june 2013
Guss webcasts Query Memory Grants - june 2013David BAFFALEUF
 
Scheduling et gestion des ressources CPU sous Solaris
Scheduling et gestion des ressources CPU sous SolarisScheduling et gestion des ressources CPU sous Solaris
Scheduling et gestion des ressources CPU sous Solarisgloumps
 
Fr linux job_scheduling
Fr linux job_schedulingFr linux job_scheduling
Fr linux job_schedulingORSYP France
 

Similaire à Ordonnanc-Proc_Threads (1).pdf (20)

gestion de processus
gestion de processusgestion de processus
gestion de processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
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...
 
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
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et Planification
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
 
Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
 
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
 
Guss webcasts Query Memory Grants - june 2013
Guss webcasts   Query Memory Grants - june 2013Guss webcasts   Query Memory Grants - june 2013
Guss webcasts Query Memory Grants - june 2013
 
ex6_solution.pdf
ex6_solution.pdfex6_solution.pdf
ex6_solution.pdf
 
Scheduling et gestion des ressources CPU sous Solaris
Scheduling et gestion des ressources CPU sous SolarisScheduling et gestion des ressources CPU sous Solaris
Scheduling et gestion des ressources CPU sous Solaris
 
Fr linux job_scheduling
Fr linux job_schedulingFr linux job_scheduling
Fr linux job_scheduling
 
Scheduler & SLA
Scheduler & SLAScheduler & SLA
Scheduler & SLA
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 
SYSTèmes d'exploitation
SYSTèmes d'exploitationSYSTèmes d'exploitation
SYSTèmes d'exploitation
 
ordon.ppt
ordon.pptordon.ppt
ordon.ppt
 

Plus de MbarkiIsraa

correctionTD2JAVA.pdf
correctionTD2JAVA.pdfcorrectionTD2JAVA.pdf
correctionTD2JAVA.pdfMbarkiIsraa
 
correctionTD-1-vhdl2947.pptx
correctionTD-1-vhdl2947.pptxcorrectionTD-1-vhdl2947.pptx
correctionTD-1-vhdl2947.pptxMbarkiIsraa
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdfMbarkiIsraa
 
Chapitre2_Partie1.pdf
Chapitre2_Partie1.pdfChapitre2_Partie1.pdf
Chapitre2_Partie1.pdfMbarkiIsraa
 
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdfMbarkiIsraa
 
support_cours.pdf
support_cours.pdfsupport_cours.pdf
support_cours.pdfMbarkiIsraa
 
c h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfc h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfMbarkiIsraa
 
correctionTD-2-vhdl2949.pptx
correctionTD-2-vhdl2949.pptxcorrectionTD-2-vhdl2949.pptx
correctionTD-2-vhdl2949.pptxMbarkiIsraa
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfMbarkiIsraa
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptMbarkiIsraa
 
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfDiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfMbarkiIsraa
 
Correction-TD1.pdf
Correction-TD1.pdfCorrection-TD1.pdf
Correction-TD1.pdfMbarkiIsraa
 
UML.Objet.4pp.pdf
UML.Objet.4pp.pdfUML.Objet.4pp.pdf
UML.Objet.4pp.pdfMbarkiIsraa
 

Plus de MbarkiIsraa (19)

NP-complet.ppt
NP-complet.pptNP-complet.ppt
NP-complet.ppt
 
Format.pptx
Format.pptxFormat.pptx
Format.pptx
 
correctionTD2JAVA.pdf
correctionTD2JAVA.pdfcorrectionTD2JAVA.pdf
correctionTD2JAVA.pdf
 
correctionTD-1-vhdl2947.pptx
correctionTD-1-vhdl2947.pptxcorrectionTD-1-vhdl2947.pptx
correctionTD-1-vhdl2947.pptx
 
PCD YasBas.pptx
PCD YasBas.pptxPCD YasBas.pptx
PCD YasBas.pptx
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdf
 
Chapitre2_Partie1.pdf
Chapitre2_Partie1.pdfChapitre2_Partie1.pdf
Chapitre2_Partie1.pdf
 
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf
(GLII-Spécification, vérification et qualité-chapitres 1 et 2-2013-2014.pdf
 
support_cours.pdf
support_cours.pdfsupport_cours.pdf
support_cours.pdf
 
c h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfc h02EspaceProbTr.pdf
c h02EspaceProbTr.pdf
 
prog_reg.pptx
prog_reg.pptxprog_reg.pptx
prog_reg.pptx
 
correctionTD-2-vhdl2949.pptx
correctionTD-2-vhdl2949.pptxcorrectionTD-2-vhdl2949.pptx
correctionTD-2-vhdl2949.pptx
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.ppt
 
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfDiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
 
Correction-TD1.pdf
Correction-TD1.pdfCorrection-TD1.pdf
Correction-TD1.pdf
 
UML.Objet.4pp.pdf
UML.Objet.4pp.pdfUML.Objet.4pp.pdf
UML.Objet.4pp.pdf
 

Dernier

Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 

Dernier (20)

Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 

Ordonnanc-Proc_Threads (1).pdf

  • 1. Chap. III. ORDONNANCEMENT des Processus ENSI -- II2 1. Introduction 2. Types d’ordonnancement 3. Modèle simple d'ordonnancement 4. Politiques d’ordonnancement  Organisations des files d’attente  Ordonnancement FCFS / SJF/ priorité/RR/ SRTF/ Multi- niveaux 5. Hiérarchie d’ordonnancement 6. Ordonnancement des threads FN
  • 2. ENSI -- F. Najjar Ordonnancement des Processus 2 Généralités ✓ Qu’est ce que l’ordonnancement?  Commuter dès qu’un processus se bloque ou se termine
  • 3. ENSI -- F. Najjar Ordonnancement des Processus 3 Généralités (suite) ✓ Le SE contient deux modules gérant le processeur :  Ordonnanceur (scheduler): choisir le processus qui doit s’exécuter  Problème: Dans quel ordre les processus sont servis?  Allocateur (dispatcher): lancer l’exécution du processus choisi par le scheduler ✓ Scheduler (SCHED_FIFO, SCHED_RR, …)  Politique d’ordonnancement? ✓ Dispatcher  Mécanisme d’allocation et contrôle de la CPU?  Commutation de contexte
  • 4. ENSI -- F. Najjar Ordonnancement des Processus 4 Introduction -- Généralités ✓ Ordonnanceur -- Scheduler  Objectif : Sur un intervalle de temps assez grand, faire progresser tous les processus, tout en ayant, à un instant donné, un seul processus actif (dans le processeur).  Rôle: se charge de la commutation de processus, qui règle les transitions d’un état à un autre des différents processus. Multi-programmation: réalisée par l’ordonnanceur, et est activée par des interruptions d’horloge, de disque et de terminaux.
  • 5. ENSI -- F. Najjar Ordonnancement des Processus 5 Introduction -- Objectifs de la Multiprogrammation ✓ Maximiser le taux d’utilisation de l’unité centrale (efficacité) :  Durée(UC_active)/Durée_totale.  En pratique, valeurs comprises entre 40% et 90% (très mauvais - très bon) ✓ Maximiser le débit (nombre de processus utilisateurs traités en moyenne par unité de temps). ✓ Minimiser le temps de traitement moyen  Moyenne des intervalles de temps entre la soumission d’une tâche de sa fin d’exécution. ✓ Minimiser le temps de traitement total (temps de vie d’un processus)  Temps(Résidence_FA_process_Prêts) + Temps(Occup_UC) +Temps(At_FA_E/S) + Temps( Résidence_MS) ✓ Minimiser le temps d’attente
  • 6. ENSI -- F. Najjar Ordonnancement des Processus 6 Critères d’Ordonnancement des Processus ✓ Plusieurs processus sont prêts à être exécutés (queue en RAM). ✓ Le SE doit faire un choix --Algorithme d’ordonnancement:  Equité : chaque processus doit recevoir sa part du temps processeur  Efficacité : le processeur doit être utilisé à 100%  Temps de réponse: l’utilisateur devant sa machine ne doit pas trop attendre (mode interactif)  Temps d’exécution: une séquence d’instructions ne doit pas trop durer (minimiser le temps d’attente en traitement par lots)  Rendement (’’throughput’’): il faut faire le plus de choses en une unité de temps
  • 7. ENSI -- F. Najjar Ordonnancement des Processus 7 Types d’ Ordonnancement des Processus ❑ Les types d’ordonnancements: distingués suivant les transitions permises dans le graphe d'état d’un processus  Ordonnancement sans réquisition –(Preemptive sched.): Pas de Transition actif-prêt: un processus est exécuté jusqu’à la fin : inefficace :-(!  Ordonnancement avec réquisition --(Non Preemptive sched.): Transition actif-prêt:  Temps partagé  à chaque signal d’horloge, le SE reprend la main, décide si le processus courant a consommé son quantum de temps et alloue éventuellement le processeur à un autre processus  Il existe de nombreux algorithmes d’ordonnancement
  • 8. ENSI -- F. Najjar Ordonnancement des Processus 8 Modèle Simple d’Ordonnancement ❑ Représentation de l’ordonnancement des processus –PROCESS QUEUES FA/Queue des prêts UC DISPATCHER Terminaison Demande E/S Queue des E/S E/S Tranche de temps expirée Fork un fils Fils s’exécute exit Attente It Interruption SCHEDULER
  • 9. ENSI -- F. Najjar Ordonnancement des Processus 9 Process scheduling –Process Queues Source: Silberschatz & al., Operating Systems Concepts, 9th Edition, 2013
  • 10. ENSI -- F. Najjar Ordonnancement des Processus 10 Politique d’Ordonnancement – Organisations des FAs ✓ Hypothèse : Un seul processeur + plusieurs processus ✓ Une file d’attente, soit FA (Queue), des processus prêts: Espace réservé dans la mémoire centrale, contenant les informations relatives aux entités que gère la FA (pointer sur les BCPi). ✓ Principe de chaînage d’une FA : avant/ arrière/ mixte ✓ Plusieurs processus sont mis dans une FA, et le service demandé leur est fourni tour à tour, en fonction de critères de gestion spécifiques à la FA. ✓ Plusieurs situations peuvent se produire FA des prêts UC Dispatcher Scheduler Arrivée Réquisition Gère l’allocation du processeur, il peut réquisitionner Service satisfait Sortie Gère la FA : entrée des processus et leur placement
  • 11. ENSI -- F. Najjar Ordonnancement des Processus 11 Algorithmes sans préemption (FIFO, SJF, Priorité) (1) ❑ Algorithme FIFO (First In First Out) -- Premier Arrivé Premier Servi  Un processus s'exécute jusqu'à sa terminaison, sans retrait forcé de la ressource --SCHED_FIFO  Même priorité pour les processus (aucun privilège entre les processus)  Facile à implanter, mais peu efficace (le choix n’est pas lié à l’utilisation de l’UC)
  • 12. ENSI -- F. Najjar Ordonnancement des Processus 12 Algorithmes sans préemption (FIFO, SJF, Priorité) (2) Processus Durée estimée Date d’arrivée P1 24 0 P2 8 1 P3 12 2 P4 3 3 ❑ Hypothèse: Temps de commutation négligeable pour la suite des transparents ❑ Exemple: ❑ Schématiser l’exécution des processus selon leur ordre d'arrivée. Pour cela, on utilise le DIAGRAMME DE GANTT P1 P2 P3 P4 Temps de vie des processus 0 24 32 44 47 ❑ Temps de traitement moyen = [(24 - 0) + (32 - 1) + (44 -2) + (47 -3)]/4 = 35,25
  • 13. ENSI -- F. Najjar Ordonnancement des Processus 13 Algorithmes sans préemption (FIFO, SJF, Priorité) (3) ✓ Algorithme SJF -- Shortest Job First (STCF -- Shortest Time to Completion First) : Algorithme du ’’Plus Court d’Abord ’’ :  Suppose la connaissance des temps d'exécution : estimation de la durée de chaque processus en attente  Les processus sont disponibles simultanément → Algorithme optimal (sans préemption)  Exécuter le processus le plus court → Minimise le temps moyen d'exécution  Analogie avec la FA à une caisse de grande surface, où une règle de politesse est de laisser passer quelqu’un qui a peu de choses si l’on a plein dans le caddie
  • 14. ENSI -- F. Najjar Ordonnancement des Processus 14 Algorithmes avec préemption (Priorité, RR, SRTF) (1) ✓ A chaque processus est assignée (automatiquement par le SE /externe) une priorité  Assignation statique -- priorités fixes → facile à implanter  Assignation dynamique : la priorité initiale assignée à un processus peut être ajustée à d ’autres valeurs → difficile à implanter  Pb. de famine (Starvation): un processus de faible priorité peut ne jamais s'exécuter si des processus plus prioritaires se présentent constamment  Recalculer périodiquement le numéro de priorité des processus (plusieurs FA) → la priorité d’un processus décroît (croit) au cours du temps pour ne pas bloquer les autres FA ✓ Principe : On lance le processus ayant la plus grande priorité Algorithme d’ordonnancement à classes de priorité
  • 15. ENSI -- F. Najjar Ordonnancement des Processus 15 Algorithmes avec préemption (Round Robin, Priorité, SRTF) (2) ✓ ROUND ROBIN (SCHED_RR) : algorithme tourniquet, l’un des plus utilisés et des plus fiables  Ordonnancement selon l’ordre FIFO + préemption (Equitable)  Chaque processus possède un quantum de temps pendant lequel il s’exécute  Lorsqu’un processus épuise son quantum de temps : au suivant !  S’il n’a pas fini : le processus passe en queue du tourniquet et au suivant ! ✓ Exemple : Le quantum de temps, Q, est égale à 2 unités; quel est le temps de traitement moyen? Exécution CPU P1 (3 unités) P2 (4 unités) P3 (2 unités) P4 (3 unités) P8 (2 unités) P7 (4 unités) P6 (5 unités) P5 (3 unités) Q Q Q Q Q Q Q Q
  • 16. ENSI -- F. Najjar Ordonnancement des Processus 16 ✓ Temps de traitement moyen = [(17-0) + (19-1) + (6-2) + (20-3) + (21-4) + (26-5) + (25-6) + (16-7)] /8 = 15,25 ✓ Problème = réglage du quantum (petit/grand; fixe/variable;est-il le même pour tous les processus ?)  Les quanta égaux rendent les différents processus égaux  Quantum trop petit provoque trop de commutations de processus  Le changement de contexte devient coûteux (perte de temps CPU)  Quantum trop grand : augmentation du temps de réponse d’une commande (même simple)  RR dégénère vers FIFO  Réglage correct : varie d’un système (resp. d’une charge) à un autre et d’un processus à un autre ✓ Il existe d ’autres variantes de RR, telle que RR avec priorités Algorithme Tourniquet -- Round Robin (suite) P1 0 2 P2 P3 P4 P5 P6 P7 P8 P1 P2 P4 P5 P6 4 6 8 10 12 14 16 17 19 20 21 23 P7 P6 25 26 Temps de vie Diagramme de Gantt (Q=2 unités)
  • 17. ENSI -- F. Najjar Ordonnancement des Processus 17 Algorithme Tourniquet avec priorités ✓ Le système de gestion possède n FA à différents niveaux de priorités (+ différents quanta) FA n-1 (Q n-1) FA1 (Q1) FA 0 (Q 0) CPU Réquisition Arrivée + - Priorité Scheduler Dispatcher Terminaison Q 0  Q 1  Q 2  ...  Q n-1 ✓ A son arrivée, le processus est rangé dans la FA la plus prioritaire FA0 ✓ Si un processus dans FAi épuise son quantum de temps Qi (0 i n-2), il sera placé dans la FAi+1 (moins prioritaire)  Une FAi (0  i n-1 ) ne peut être servie que si toutes les FAj (0  j< i) sont vides  un processus qui a traversé toutes les FA sans épuiser son temps de traitement reste dans la FA la moins prioritaire.
  • 18. ENSI -- F. Najjar Ordonnancement des Processus 18 ❑ Algorithme SRTF (Shortest Remaining Time First) -- SJF avec réquisition  Choisir le processus dont le temps d'exécution restant est le plus court  Il y a réquisition selon le critère de temps d'exécution restant et l'arrivée d’un processus  Possibilité de morcellement d’un processus  Nécessité de sauvegarder le temps restant ❑ Exemple : Algorithmes avec préemption (RR, Priorité, SRTF) (3) Processus Durée estimée Date d’arrivée P1 8 0 P2 5 2 P3 5 3 P4 2 4 P1 0 2 P2 P4 P1 4 6 9 14 20 Temps de vie Diagramme de Gantt P2 P3 P1 ❑ Temps de traitement moyen = [(20 - 0) + (9 -2) + (14 -3) + (6-4)]/4 = 9,5 ❑ Théoriquement, + SRTF offre un minimum de temps d’attente; - difficile de prédire le futur
  • 19. ENSI -- F. Najjar Ordonnancement des Processus 19 Hiérarchie d’Ordonnancement (1) ❑ 2 types différents:  Ordonnancement à court terme (short term scheduling or CPU scheduling ):  Seulement les processus prêts en mémoire centrale sont considérés  rapide (de l’ordre de millisecondes)  Ordonnancement à long terme (long term scheduling or job scheduling):  consiste à utiliser un deuxième algorithme d’ordonnancement pour gérer les ‘’swapping ’’ des processus prêts entre le disque et la RAM  plus lent (de l’ordre de seconde/mn) FA des E/S ’’Swap out’’ Processus FA des Prêts UC Sortie E/S Arrivée
  • 20. ENSI -- F. Najjar Ordonnancement des Processus 20 Hiérarchie d’Ordonnancement (2) ✓ Ordonnancement multi-niveaux permet de satisfaire :  Favoriser les processus courts  Favoriser les processus ‘’I/O Bound’’, qui ne demandent pas trop l ’UC  Déterminer la nature de chaque processus le plutôt possible et effectuer l’ordonnancement correspondant ✓ Files d’attente sans liens : un processus se trouvant dans dans FAi ne peut se trouver dans FAj (ji); il reste dans FAi jusqu’à ce qu’il se termine FA n-1 FA1 FA 0 CPU Réquisition + - Priorité fixe Terminaison Processus Système Processus Interactifs (RR) (FCFS/SJF)
  • 21. ENSI -- F. Najjar Ordonnancement des Processus 21 Hiérarchie d’Ordonnancement (3) ✓ Files d’attente avec liens : hiérarchiser les FAs FA n-1 FA1 FA 0 CPU Réquisition Terminaison (RR) (FCFS) Arrivée niveau 0 (FCFS) Arrivée niveau 1 Arrivée niveau n-1 ✓ Un processus dans FAi ne peut être sélectionné que si toutes les FAj (j<i) sont toutes vides ✓ Permettre aux processus de se déplacer d’une FA à une autre  Hiérarchie descendante/ascendante/bidirectionnelle ✓ Changement dynamique dans le comportement des processus ✓ Chaque FA a son propre algorithme d’ordonnancement  Descendante FA0 est gérée avec FCFS  Ascendante Fn_1 est gérée avec FCFS
  • 22. ENSI -- F. Najjar Ordonnancement des Processus Autres Scheduling …. 25
  • 23. ENSI -- F. Najjar Ordonnancement des Processus Multiple-Processor Scheduling ❑ CPU scheduling becomes more complex when multiple CPUs are available.  Have one ready queue accessed by each CPU.  Self scheduled - each CPU dispatches a job from ready Q  Manager-worker - one CPU schedules the other CPUs ❑ Homogeneous processors within multiprocessor.  Permits Load Sharing ❑ Asymmetric multiprocessing  Only 1 CPU runs kernel, others run user programs 25
  • 24. ENSI -- F. Najjar Ordonnancement des Processus Real-Time Scheduling ❑ Hard Real-time Computing:  required to complete a critical task within a guaranteed amount of time. ❑ Soft Real-time Computing:  requires that critical processes receive priority over less important ones. ❑ Types of real-time Schedulers:  Periodic Schedulers - Fixed Arrival Rate  Demand-Driven Schedulers - Variable Arrival Rate  Deadline Schedulers - Priority determined by deadline  … 25
  • 25. ENSI -- F. Najjar Ordonnancement des Processus 25 Thread Scheduling ❑ Local Scheduling: How the threads library decides which user thread to run next within the process ❑ Global Scheduling: How the kernel decides which kernel thread to run next
  • 26. ENSI -- F. Najjar Ordonnancement des Processus 26 Exemples d’ordonnancement ❑ Unix: multi-niveaux, plusieurs politiques, qui peuvent changer dans le temps ❑ Linux – multi-niveaux avec 3 niveaux les plus importants  Realtime FIFO  Realtime round robin  Timesharing ❑ Windows Vista – politique avec priorité à deux dimensions:  Classe des processus prioritaires Real-time, high, above normal, normal, below normal, idle  Les priorités des threads sont relatives dela la classe des priorités. Time-critical, highest, …, idle
  • 27. ENSI -- F. Najjar Ordonnancement des Processus 27 Exemples d’ordonnancement POSIX
  • 28. ENSI -- F. Najjar Ordonnancement des Processus 28 Threads scheduling Annexes
  • 29. ENSI -- F. Najjar Ordonnancement des Processus 29 Multicore Programming ❑ Multicore or multiprocessor systems putting pressure on programmers, challenges include: Dividing activities, Balance, Data splitting, Data dependency, Testing and debugging• ❑ Parallelism implies a system can perform more than one task simultaneously ❑ Concurrency supports more than one task making progress  Single processor/core, scheduler providing concurrency• ❑ Types of parallelism:  Data parallelism: distributes subsets of the same data across multiple cores, same operation on each  Task parallelism: distributing threads across cores, each thread performing unique operation (source: https://www.ida.liu.se/~TDIU11/current/info/II.Processes.pdf)
  • 30. ENSI -- F. Najjar Ordonnancement des Processus 30 Threads scheduling ❑ Distinction between user-level and kernel-level threads ❑ When threads supported, threads scheduled, not processes ❑ Many-to-one and many-to-many models, thread library schedules user-level threads to run on LWP  Known as process-contention scope (PCS) since SCHEDULING COMPETITION IS WITHIN THE PROCESS Typically done via priority set by programmer ❑ Kernel thread scheduled onto available CPU is system-contention scope (SCS) – competition among all threads in system (source: Silberschatz, Galvin and Gagne. “Operating System Concepts”, 9th edition, 2013)
  • 31. ENSI -- F. Najjar Ordonnancement des Processus 31 Threads scheduling (1/4) ❑ Mixed  Mach:  user-level code to provide scheduling hints to the kernel  Solaris:  assign each user-level thread to a kernel-level thread (multiple user threads can be in one kernel thread)  creation/switching at the user level  scheduling at the kernel level
  • 32. ENSI -- F. Najjar Ordonnancement des Processus 32 Threads Scheduling (2/4) ❑ FastThread package  hierarchical, event-based scheduling  each process has a user-level thread scheduler  virtual processors are allocated to processes  the # of virtual processors depends on a process's needs  physical processors are assigned to virtual processors  virtual processors can be dynamically allocated and deallocated to a process according to its needs.  Scheduler Activation (SA)  event/call from kernel to user-level scheduler  represents a time slice on a virtual processor (# of SA's < # of virtual processors)  user-level scheduler can assign threads to SA's (time slices).
  • 33. ENSI -- F. Najjar Ordonnancement des Processus Threads Scheduling (3/4) ❑ Events from user-level scheduler to kernel  P idle: virtual processor is idle  P needed: new virtual processor needed ❑ Events from kernel to user-level scheduler  Virtual processor allocated (P added): – User-level: scheduler can choose a ready thread to run  SA blocked (in kernel): – Kernel: sends a new SA – User-level: a ready thread is assigned to the new SA to run  SA unblocked (in kernel): – user-level: thread is back on the ready queue – kernel: allocate new virtual processor to process or preempt another SA  SA preempted (in kernel): – user-level: puts the thread back to the ready queue 25
  • 34. ENSI -- F. Najjar Ordonnancement des Processus 34 Threads Scheduling (4/4) --Scheduler activations Process A Process B Virtual processors Kernel Process Kernel P idle P needed P added SA blocked SA unblocked SA preempted A. Assignment of virtual processors to processes B. Events between user-level scheduler & kernel Key: P = processor; SA = scheduler activation