SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Gestion des Processus
Processus, Contexte, Algorithmes d’ordonnancement
Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 1
Systèmes d’Exploitation
2ème Année (GL-RT-IIA-IMI)
PROCESSUS ET RESSOURCES
Gestion des Processus
Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 2
Ressource
• Elément physique ou logique
§ CPU, MC, Variable, Fichier, …
• Nécessaire à l’évolution d’un processus
• Demandée explicitement ou non
§ Processeur, Canal, Mot mémoire, Fichier
o Explicitement par une fonction de l’OS
‣ Demande mémoire (fonction malloc de C)
o Implicitement : selon l’état du processus
‣ En attente d’une fin d’E/S, Attente processeur
3
Processus et Ressources
Ressource
• Réutilisable ou consommable
§ Mot mémoire, Ligne écran
o Allouée puis Consommée (non réutilisable)
o Allouée puis Utilisée puis Restituée, Réallouée, …
• Partagée ou non
§ Accès exclusif ou non
• Possède un un état dynamique
§ Occupée, Libre
4
Processus et Ressources
Ressource
• Contraintes d’évolution
§ Evolue selon certaines contraintes
o Exemple: Domaine de variation d’une variable
• Utilisée selon des règles précises
§ Accès à la ressource peut être soumis à certaines conditions
o Exemple: Droits d’accès à un fichier
5
Processus et Ressources
Processus
• Plusieurs définitions
§ Programme en exécution
o Programme lancé mais non terminé
‣ Encore présent dans le système
‣ Peut être dans un état quelconque
§ Entité dynamique
o Programme
‣ Entité statique
‣ Texte interprétable
o Processus
‣ Entité dynamique
‣ Abstraction de l’exécution d’un programme
§ Suite d’états
o E0 → E1 → … → Ek → …
‣ Etat initial puis convergence vers un état final
6
Processus et Ressources
Processus
• Activité asynchrone
§ Pas de connaissance sur
o La date de lancement d’un processus sauf si elle programmée
o La date de fin d’un processus
o Le nombre de processus qui seront lancés
• Représentation dans le système
§ Structure de données (Table)
o PCB (Process Control Block)
7
Processus et Ressources
Processus
pointer
process state
process number
program counter
registers
memory limits
list of open files
.
.
.
Process control block
8
Processus et Ressources
Processus
Cycle de vie
§ 3 phases
o Création (génération du PCB)
‣ Lancement d’un programme
• Commande ou à travers le bureau
‣ Création dynamique de processus
• Fonction fork() sous Unix
o Vie du processus
‣ Existe dans le système (dispose d’un PCB)
‣ Géré par le système
o Fin du processus (destruction du PCB)
‣ Fin normale
• Le processus est arrivé logiquement à sa dernière instruction
‣ Fin anormale
• Erreur d’exécution, Arrêt par l’utilisateur
‣ Cas particulier
• Ne s’arrête jamais à cause d’une anomalie telle que Boucle Infinie
9
Processus et Ressources
Processus
• Etats d’un processus
§ Suivi de son évolution
o Depuis sa création jusqu’à sa fin normale ou anormale
§ Passe par différents états
o Tout au long de son existence, un processus passe par différents états
‣ Existence de plusieurs états
‣ Existence de règles de transitions entre états
10
Processus et Ressources
Processus
11
Processus et Ressources
Nouveau
Ready / Prêt
Terminé
Running /
Exécution
Wait/
Attente
Chargement Préemption
Fin
Allocation
Début d’E/S ou
d’unÉvènement X
Fin d’E/S
Processus
• Types de processus
§ Processus en avant plan
o Foreground (visible)
o Processus avec lequel on dialogue
‣ Dialogue à travers le clavier et l’écran
§ Processus en arrière plan
o Background
o S’exécute sans dialogue avec l’utilisateur
‣ Tâche de fond (Job)
12
Processus et Ressources
Threads
• Concept moderne des OS
• Subdivision d’un processus
§ Processus = { Threads }
§ Threads partagent l’espace du processus auquel ils appartiennent
o Espace d’adressage, Ressources, …
• Processus léger
§ Lightweight process, Flot ou fil d’exécution
§ Gestion plus simple qu’un processus
13
Processus et Ressources
Threads
14
Processus et Ressources
Threads
• Intérêts
§ Applications plus performantes
o Exécuter des tâches en parallèle
‣ La notion de processus n’autorise qu’une exécution purement séquentielle
‣ La subdivision en threads donne la possibilité d’exécuter plusieurs threads en
parallèle
§ Très adapté pour des architectures multiprocesseurs et multicoeurs
o Exécution de plusieurs threads à la fois
§ Contribue à la structuration d’un programme et d’un processus
o Décomposition en threads et non en une seule unité (processus)
§ Utiliser moins de ressources système
o Beaucoup d’éléments sont partagés entre threads d’un même processus
‣ Evite la duplication inutile de ressources
15
Processus et Ressources
Processus vs Thread
• Processus
§ Environnement propre
o Mémoire, Fichiers, Ressources
o Contexte volumineux
§ Accès aux ressources d’autres processus
o Possible selon des règles d’accès bien précises (Protection)
§ Contient au moins un thread
• Thread
§ Possède
o Un état d’exécution (prêt, bloqué, …)
o Sa propre pile d’exécution
o Espace privé pour ses variables locales
o Un contexte plus léger
§ Accès aux ressources du processus père
§ Peut créer d’autres threads
16
Processus et Ressources
GESTION DES RESSOURCES
Gestion des Processus
Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 17
Gestion des Ressources
• Fonction fondamentale des OS
§ Objectifs
o Utiliser les ressources physiques et logiques d’une machine
o Gérer le partage des ressources
o Assurer la protection des ressources
§ Eléments fondamentaux pour la gestion
o Files d’attente
o Ordonnanceurs
18
Gestion des Ressources
Files d’attente
• Terme générique
§ File d’attente devant un guichet
§ File d’attente d’entrée à un stade
§ File d’attente de voitures
• Définition
§ Ensemble d’éléments
o Organisés d’une certaine manière et qui attendent d’être servis
o Servis dans un certain ordre
19
Gestion des Ressources
Files d’attente
• FA en informatique
§ Structure de données fondamentale en informatique
o Stockage d’informations
o Règle d’entrée
‣ Généralement par la Queue –Queue- de la file
o Règle de sortie
‣ Généralement par la Tête –Head- de la file
20
Gestion des Ressources
Ê … Ì
Entrée Sortie
Files d’attente
• Capacité
§ Taille finie
o Insertion d’un nombre fini d’éléments
§ Politiques de gestion
§ Plusieurs politiques possibles
o LIFO, FIFO, Priorité, Random, etc.
• Pourquoi des files d’attente dans un OS ?
§ Ressources d’un système : { R }
§ Processus : { P }
§ | P | >> | R |
§ Comment partager { R } entre { P } ?
o Définir une politique de gestion de { R }
o Distinguer entre processus qui utilisent une ressource A et ceux qui attendent
de l’utiliser (File d’attente)
21
Gestion des Ressources
Files d’attente
• File d’attente de gestion des ressources
§ Une par ressource
o Contient les processus en attente de cette ressource
§ Instant t
o Processus Pi dans une seule file d’attente
§ Passage d’une file à une autre
o Changement d’état du processus
o Changement de l’état des ressources
22
Gestion des Ressources
ORDONNANCEURS
Gestion des Processus
Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 23
Ordonnanceurs
• Gestionnaires de ressources
§ Scheduler en anglais
• Types
§ Ordonnanceurs à court terme
§ Ordonnanceurs à moyen terme
§ Ordonnanceurs à long terme
24
Ordonnanceurs
Types d'Ordonnanceurs
• Ordonnanceurs à court terme (CPU Scheduler)
§ Gèrent des processus (états prêts)
§ Sélectionnent le processus à exécuter
o A qui allouer le processeur
§ Sollicités très souvent (ms)
§ Combinés avec un Dispatcheur
o Dispatcheur donne le contrôle au processus choisi par le scheduler
• Ordonnanceurs à moyen terme
§ Moins sollicités que ceux à court terme
§ Chargent ou déchargent des processus (swap in et swap out)
o Charger un processus en mémoire centrale
o Décharger un processus sur disque
• Ordonnanceurs à long terme (Job Scheduler)
§ Accepter ou non des processus utilisateurs dans le système
o Capacité dynamique du système à accepter les travaux des utilisateurs
25
Ordonnanceurs
Préemption
• Allocation d’une ressource
§ Mise à la disposition d’un processus
§ Doit en principe la restituer
o Pour être utilisée par d’autres
§ Instant de libération
o Fin de l’utilisation de la ressource
§ Problèmes
o Un processus risque de ne pas la restituer
o Que faire en cas de besoin urgent
• Technique de préemption ou de réquisition
§ Retirer une ressource à un processus alors qu’il en a encore besoin
o Retrait forcé
‣ Pour l’allouer à un autre processus
o Re-allocation après un certain temps
26
Ordonnanceurs
Ordonnanceurs et préemption
• Combinaison
§ Ordonnanceurs préemptifs
o Utilisent la réquisition
o Peuvent récupérer une ressource allouée à un processus à tout moment
§ Ordonnanceurs non préemptifs
o N’utilisent pas la réquisition
o Récupèrent la ressource une fois que le processus l’aura libéré
27
Ordonnanceurs
ALGORITHMES D’ORDONNANCEMENT
Gestion des Processus
Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 28
Problématique
• 1 Processeur
§ Exécution d’un seul processus à la fois
• Système
§ Ensemble (éventuellement vide) de processus qui sont dans l’état Prêt
• Allocation du processeur
§ Quel processus choisir parmi ceux qui sont dans l’état prêt ?
29
Algorithmes d’ordonnancement
Problématique
• Critères relatifs à l’allocateur
§ Point de vue utilisateur
o Temps de réponse
§ Point de vue système
o Nombre de processus exécutés
o Rentabilité du processeur
o Equité
o Garantir les priorités
o …
30
Algorithmes d’ordonnancement
Critères d’évaluation
• Pourcentage d’utilisation du processeur
§ Différencier entre périodes d’activité et périodes d’inactivité du processeur
o Maximiser l’une et minimiser l’autre
• Débit ou Throughput
§ Nombre de processus exécutés
pendant une durée bien déterminée
• Temps de traitement (Turnaround
ou temps de rotation)
• Temps d’attente (Waiting time)
• Temps de réponse
31
Algorithmes d’ordonnancement
Processus A
arrivée fin
temps d'attente
temps de traitement
A
arrivée fin
temps d'attente
temps de traitement
AAA
Allocation Processeur
• Modèle
§ Phases d’un processus
o Succession de cycles
‣ Calcul, E/S, Calcul, E/S, …, Calcul
o On s’intéresse uniquement aux phases de calcul et non aux phases d’E/S
‣ Phase de calcul ou Burst Time
• Phase d’exécution d’instructions arithmétiques ou logiques
§ Temps d’exécution peut être connu a priori si:
o Fourni par l’utilisateur (estimation)
o Calculé par méthodes d’estimation
§ File d’attente des processus prêts
§ Diagramme de Gantt
o Représentation graphique de l’ordonnancement de l’exécution d’un ensemble de
processus selon un algorithme d’ordonnancement
32
Algorithmes d’ordonnancement
Allocation Processeur
33
Algorithmes d’ordonnancement
Processus Tempsde Traitement
TempsCPU
(Burst Time)
Temps
d‘Attente
P1 12 - 12 = 0
P2 17 - 5 = 12
P3 19 - 2 = 17
Total 48 - 19 = 29
Moyenne(/3) 16 - 6,.. = 9,..
P1 P2 P3
0 12 17 19
Algorithmes
• FCFS
§ First Come First Served (FIFO)
§ Critère
o Ordre d’arrivée des processus
‣ Classer les processus par date d’arrivée
§ Caractéristiques
o Le plus simple à mettre en œuvre
o Le plus mauvais
‣ Donne de mauvaises performances
34
Algorithmes d’ordonnancement
Algorithmes
• SJF
§ Shortest Job First ou Le plus court d’abord
§ Critère
o Plus petit temps d’exécution
§ Caractéristiques
o Privilégie les petits processus
o Risque d’attente infinie pour les processus longs (problème de famine ou
starvation)
§ Avec ou sans préemption
o Sans préemption
‣ Sélection du prochain processus à la fin du courant, même s’il y a arrivée de nouveaux
processus avec un temps plus petit que celui du courant
o Avec préemption (SNRT: Shortest Next Remaining Time)
‣ Vérifier le critère d’allocation à chaque arrivée de nouveaux processus
• Comparer le temps restant du processus courant avec le temps du ou des
nouveaux processus
• Selon le cas, utilisation ou non de la préemption
35
Algorithmes d’ordonnancement
Algorithmes
• Priorité
§ Priorité
o Urgence d’utilisation du processeur
o Définie par un nombre ou une lettre
‣ Exemples
• 0..F, A..Z
• 0..39 (Cas du système Unix)
o Statique ou dynamique
‣ Commande nice sous Unix
§ Critère
o Processus le plus prioritaire
§ Caractéristiques
o Répond à la notion d’urgence
o Risque de famine
‣ Privilégie les processus prioritaires
§ Plusieurs types:
o Avec ou sans préemption
o Dynamique ou statique
o À une file ou à plusieurs files d’attente
36
Algorithmes d’ordonnancement
Algorithmes
• Round Robin ou Tourniquet
§ Introduit avec les systèmes temps-partagé (Time Sharing)
§ Eléments de base
o File d’attente des processus
‣ Ordonnés selon leur ordre d’arrivée
o Utilisation de la notion de QUANTUM
‣ Unité de temps d’utilisation du processeur
‣ Unité de temps ininterruptible (pas de préemption durant un quantum)
§ Principe
o Allocation par multiple de Quantums
o Allocation du processeur au processus Pi
o Fin du quantum
‣ Pi terminé → Quitte la file d’attente
‣ Pi non terminé → Revient à la fin de la file (queue)
‣ Allocation du processeur au processus Pi+1
o Fin processus Pi < Fin Quantum
‣ Assimilée à une fin de Quantum
• Allocation du processeur au processus Pi+1
37
Algorithmes d’ordonnancement
Algorithmes: Files Multi-Niveaux
• Files multi-niveaux
§ 1 seule file (1 niveau)
o Mélange de processus de différentes natures
‣ Système, Utilisateurs, …
§ Idée
o Utiliser plusieurs files
‣ File contient des classes de processus
• Type (utilisateur, système, …)
• Catégorie (étudiant, enseignants, administration, …)
• Principe général
§ Fixer le nombre de files
o Nombre fixe
§ Hiérarchiser les files
o Définir un ordre entre files
‣ Priorité d’allocation (F1 > F2 > … > Fn)
o Allocation selon le niveau d’une file dans la hiérarchie
38
Algorithmes d’ordonnancement
Algorithmes: Files Multi-Niveaux
• Politique de gestion de chaque file
§ Définir un ordonnanceur par file
o Peut être le même pour toutes les files
o Diversifier les ordonnanceurs
§ Définir une stratégie pour les nouveaux processus
o Entrée dans une file bien déterminée fixée à l’avance
o Sinon définir un critère d’entrée
• Principe d’allocation
§ Allocation
o Commencer par la file la plus prioritaire
‣ File de plus haut niveau non vide
o Ne passer à la file (i+1) que si tous les processus de la file i ont été satisfaits
‣ File i plus prioritaire que la file (i+1)
§ Préemption entre files
o Revenir à une file prioritaire en cas d’arrivée de nouveaux processus dans cette
file
39
Algorithmes d’ordonnancement
Algorithmes: Files Multi-Niveaux
• Types de files
§ Simples
o Pas de liens entre files
o Problème de famine (Starvation)
§ Avec liens
o Unidirectionnel
‣ Définir un critère de passage d’une file à une autre
• F1 → F2 → … → Fn
o Bidirectionnel
• F1 ↔ F2 ↔ … ↔ Fn
40
Algorithmes d’ordonnancement
Algorithmes: Files Multi-Niveaux
41
Algorithmes d’ordonnancement
PRIO = 0
la+ élevée
PRIO = 1
PRIO = 2
laplus faible
Algorithmes: Files Multi-Niveaux
42
Algorithmes d’ordonnancement
PRIO = 0
la+ élevée
PRIO = 1
PRIO = 2
laplus faible
Algorithmes à privilège
•
• Problématique
§ Privilégient certains processus par rapport à d’autres
o SJF avec préemption, Priorité, …
§ Risque majeur
o Famine ou starvation
‣ Attente infinie
• L’allocation du processeur ne sera pas refusée mais sera toujours différée
dans le temps
43
Algorithmes d’ordonnancement
Exemples (1)
• Windows 2000
§ Priorité et préemption
o Nombre de niveaux de priorité: 32
o 1 seule file gérée par RR avec priorité
o Priorité dynamique (+/-)
o Quantum plus grand pour les processus en avant plan
• Unix
§ RR évolué
o Technique du RR + Priorité dynamique
o Plusieurs files d’attente
‣ Priorité entre files
o Un algorithme RR par file
44
Algorithmes d’ordonnancement
Exemples (2)
• Linux
§ Classes d’ordonnancement
o Processus temps-partagé
o Processus temps-réel
§ Cas temps-réel
o Ordonnancement basé sur la priorité
§ Cas temps-partagé
o Utilisation de la priorité avec crédit
o Fin du quantum et processus non terminé
‣ Perte d’un crédit
o Suspension du processus qui n’a plus de crédit
o Tous les processus prêts suspendus
‣ Récupèrent tous des crédits
o Processus en background
‣ Priorité faible et moins de crédit
45
Algorithmes d’ordonnancement

Mais conteúdo relacionado

Mais procurados

BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linuxFadwa Gmiden
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresAbdoulaye Dieng
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et VirtualisationMarc Jouve
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: PrincipeSouhaib El
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBFerjani Bassem
 

Mais procurados (20)

BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linux
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoires
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
 

Semelhante a Systèmes d'Exploitation - chp2-gestion des processus

gestion de processus
gestion de processusgestion de processus
gestion de processusMoodyBop
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processusMoodyBop
 
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
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfRihabBENLAMINE
 
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
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processusSelman Dridi
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en JavaFlorian Beaufumé
 

Semelhante a Systèmes d'Exploitation - chp2-gestion des processus (20)

SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
 
gestion de processus
gestion de processusgestion de processus
gestion de processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
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
 
SdE2 4 - Processus
SdE2 4 - ProcessusSdE2 4 - Processus
SdE2 4 - Processus
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
 
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
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
1488135632336.pdf
1488135632336.pdf1488135632336.pdf
1488135632336.pdf
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en Java
 
SdE 4: Processus
SdE 4: ProcessusSdE 4: Processus
SdE 4: Processus
 
Cours_OS 1.pptx
Cours_OS 1.pptxCours_OS 1.pptx
Cours_OS 1.pptx
 
Scheduler & SLA
Scheduler & SLAScheduler & SLA
Scheduler & SLA
 
La gestion des processus
La gestion des processusLa gestion des processus
La gestion des processus
 
Formation kanban
Formation kanbanFormation kanban
Formation kanban
 

Mais de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Mais de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Systèmes d'Exploitation - chp2-gestion des processus

  • 1. Gestion des Processus Processus, Contexte, Algorithmes d’ordonnancement Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 1 Systèmes d’Exploitation 2ème Année (GL-RT-IIA-IMI)
  • 2. PROCESSUS ET RESSOURCES Gestion des Processus Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 2
  • 3. Ressource • Elément physique ou logique § CPU, MC, Variable, Fichier, … • Nécessaire à l’évolution d’un processus • Demandée explicitement ou non § Processeur, Canal, Mot mémoire, Fichier o Explicitement par une fonction de l’OS ‣ Demande mémoire (fonction malloc de C) o Implicitement : selon l’état du processus ‣ En attente d’une fin d’E/S, Attente processeur 3 Processus et Ressources
  • 4. Ressource • Réutilisable ou consommable § Mot mémoire, Ligne écran o Allouée puis Consommée (non réutilisable) o Allouée puis Utilisée puis Restituée, Réallouée, … • Partagée ou non § Accès exclusif ou non • Possède un un état dynamique § Occupée, Libre 4 Processus et Ressources
  • 5. Ressource • Contraintes d’évolution § Evolue selon certaines contraintes o Exemple: Domaine de variation d’une variable • Utilisée selon des règles précises § Accès à la ressource peut être soumis à certaines conditions o Exemple: Droits d’accès à un fichier 5 Processus et Ressources
  • 6. Processus • Plusieurs définitions § Programme en exécution o Programme lancé mais non terminé ‣ Encore présent dans le système ‣ Peut être dans un état quelconque § Entité dynamique o Programme ‣ Entité statique ‣ Texte interprétable o Processus ‣ Entité dynamique ‣ Abstraction de l’exécution d’un programme § Suite d’états o E0 → E1 → … → Ek → … ‣ Etat initial puis convergence vers un état final 6 Processus et Ressources
  • 7. Processus • Activité asynchrone § Pas de connaissance sur o La date de lancement d’un processus sauf si elle programmée o La date de fin d’un processus o Le nombre de processus qui seront lancés • Représentation dans le système § Structure de données (Table) o PCB (Process Control Block) 7 Processus et Ressources
  • 8. Processus pointer process state process number program counter registers memory limits list of open files . . . Process control block 8 Processus et Ressources
  • 9. Processus Cycle de vie § 3 phases o Création (génération du PCB) ‣ Lancement d’un programme • Commande ou à travers le bureau ‣ Création dynamique de processus • Fonction fork() sous Unix o Vie du processus ‣ Existe dans le système (dispose d’un PCB) ‣ Géré par le système o Fin du processus (destruction du PCB) ‣ Fin normale • Le processus est arrivé logiquement à sa dernière instruction ‣ Fin anormale • Erreur d’exécution, Arrêt par l’utilisateur ‣ Cas particulier • Ne s’arrête jamais à cause d’une anomalie telle que Boucle Infinie 9 Processus et Ressources
  • 10. Processus • Etats d’un processus § Suivi de son évolution o Depuis sa création jusqu’à sa fin normale ou anormale § Passe par différents états o Tout au long de son existence, un processus passe par différents états ‣ Existence de plusieurs états ‣ Existence de règles de transitions entre états 10 Processus et Ressources
  • 11. Processus 11 Processus et Ressources Nouveau Ready / Prêt Terminé Running / Exécution Wait/ Attente Chargement Préemption Fin Allocation Début d’E/S ou d’unÉvènement X Fin d’E/S
  • 12. Processus • Types de processus § Processus en avant plan o Foreground (visible) o Processus avec lequel on dialogue ‣ Dialogue à travers le clavier et l’écran § Processus en arrière plan o Background o S’exécute sans dialogue avec l’utilisateur ‣ Tâche de fond (Job) 12 Processus et Ressources
  • 13. Threads • Concept moderne des OS • Subdivision d’un processus § Processus = { Threads } § Threads partagent l’espace du processus auquel ils appartiennent o Espace d’adressage, Ressources, … • Processus léger § Lightweight process, Flot ou fil d’exécution § Gestion plus simple qu’un processus 13 Processus et Ressources
  • 15. Threads • Intérêts § Applications plus performantes o Exécuter des tâches en parallèle ‣ La notion de processus n’autorise qu’une exécution purement séquentielle ‣ La subdivision en threads donne la possibilité d’exécuter plusieurs threads en parallèle § Très adapté pour des architectures multiprocesseurs et multicoeurs o Exécution de plusieurs threads à la fois § Contribue à la structuration d’un programme et d’un processus o Décomposition en threads et non en une seule unité (processus) § Utiliser moins de ressources système o Beaucoup d’éléments sont partagés entre threads d’un même processus ‣ Evite la duplication inutile de ressources 15 Processus et Ressources
  • 16. Processus vs Thread • Processus § Environnement propre o Mémoire, Fichiers, Ressources o Contexte volumineux § Accès aux ressources d’autres processus o Possible selon des règles d’accès bien précises (Protection) § Contient au moins un thread • Thread § Possède o Un état d’exécution (prêt, bloqué, …) o Sa propre pile d’exécution o Espace privé pour ses variables locales o Un contexte plus léger § Accès aux ressources du processus père § Peut créer d’autres threads 16 Processus et Ressources
  • 17. GESTION DES RESSOURCES Gestion des Processus Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 17
  • 18. Gestion des Ressources • Fonction fondamentale des OS § Objectifs o Utiliser les ressources physiques et logiques d’une machine o Gérer le partage des ressources o Assurer la protection des ressources § Eléments fondamentaux pour la gestion o Files d’attente o Ordonnanceurs 18 Gestion des Ressources
  • 19. Files d’attente • Terme générique § File d’attente devant un guichet § File d’attente d’entrée à un stade § File d’attente de voitures • Définition § Ensemble d’éléments o Organisés d’une certaine manière et qui attendent d’être servis o Servis dans un certain ordre 19 Gestion des Ressources
  • 20. Files d’attente • FA en informatique § Structure de données fondamentale en informatique o Stockage d’informations o Règle d’entrée ‣ Généralement par la Queue –Queue- de la file o Règle de sortie ‣ Généralement par la Tête –Head- de la file 20 Gestion des Ressources Ê … Ì Entrée Sortie
  • 21. Files d’attente • Capacité § Taille finie o Insertion d’un nombre fini d’éléments § Politiques de gestion § Plusieurs politiques possibles o LIFO, FIFO, Priorité, Random, etc. • Pourquoi des files d’attente dans un OS ? § Ressources d’un système : { R } § Processus : { P } § | P | >> | R | § Comment partager { R } entre { P } ? o Définir une politique de gestion de { R } o Distinguer entre processus qui utilisent une ressource A et ceux qui attendent de l’utiliser (File d’attente) 21 Gestion des Ressources
  • 22. Files d’attente • File d’attente de gestion des ressources § Une par ressource o Contient les processus en attente de cette ressource § Instant t o Processus Pi dans une seule file d’attente § Passage d’une file à une autre o Changement d’état du processus o Changement de l’état des ressources 22 Gestion des Ressources
  • 23. ORDONNANCEURS Gestion des Processus Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 23
  • 24. Ordonnanceurs • Gestionnaires de ressources § Scheduler en anglais • Types § Ordonnanceurs à court terme § Ordonnanceurs à moyen terme § Ordonnanceurs à long terme 24 Ordonnanceurs
  • 25. Types d'Ordonnanceurs • Ordonnanceurs à court terme (CPU Scheduler) § Gèrent des processus (états prêts) § Sélectionnent le processus à exécuter o A qui allouer le processeur § Sollicités très souvent (ms) § Combinés avec un Dispatcheur o Dispatcheur donne le contrôle au processus choisi par le scheduler • Ordonnanceurs à moyen terme § Moins sollicités que ceux à court terme § Chargent ou déchargent des processus (swap in et swap out) o Charger un processus en mémoire centrale o Décharger un processus sur disque • Ordonnanceurs à long terme (Job Scheduler) § Accepter ou non des processus utilisateurs dans le système o Capacité dynamique du système à accepter les travaux des utilisateurs 25 Ordonnanceurs
  • 26. Préemption • Allocation d’une ressource § Mise à la disposition d’un processus § Doit en principe la restituer o Pour être utilisée par d’autres § Instant de libération o Fin de l’utilisation de la ressource § Problèmes o Un processus risque de ne pas la restituer o Que faire en cas de besoin urgent • Technique de préemption ou de réquisition § Retirer une ressource à un processus alors qu’il en a encore besoin o Retrait forcé ‣ Pour l’allouer à un autre processus o Re-allocation après un certain temps 26 Ordonnanceurs
  • 27. Ordonnanceurs et préemption • Combinaison § Ordonnanceurs préemptifs o Utilisent la réquisition o Peuvent récupérer une ressource allouée à un processus à tout moment § Ordonnanceurs non préemptifs o N’utilisent pas la réquisition o Récupèrent la ressource une fois que le processus l’aura libéré 27 Ordonnanceurs
  • 28. ALGORITHMES D’ORDONNANCEMENT Gestion des Processus Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 28
  • 29. Problématique • 1 Processeur § Exécution d’un seul processus à la fois • Système § Ensemble (éventuellement vide) de processus qui sont dans l’état Prêt • Allocation du processeur § Quel processus choisir parmi ceux qui sont dans l’état prêt ? 29 Algorithmes d’ordonnancement
  • 30. Problématique • Critères relatifs à l’allocateur § Point de vue utilisateur o Temps de réponse § Point de vue système o Nombre de processus exécutés o Rentabilité du processeur o Equité o Garantir les priorités o … 30 Algorithmes d’ordonnancement
  • 31. Critères d’évaluation • Pourcentage d’utilisation du processeur § Différencier entre périodes d’activité et périodes d’inactivité du processeur o Maximiser l’une et minimiser l’autre • Débit ou Throughput § Nombre de processus exécutés pendant une durée bien déterminée • Temps de traitement (Turnaround ou temps de rotation) • Temps d’attente (Waiting time) • Temps de réponse 31 Algorithmes d’ordonnancement Processus A arrivée fin temps d'attente temps de traitement A arrivée fin temps d'attente temps de traitement AAA
  • 32. Allocation Processeur • Modèle § Phases d’un processus o Succession de cycles ‣ Calcul, E/S, Calcul, E/S, …, Calcul o On s’intéresse uniquement aux phases de calcul et non aux phases d’E/S ‣ Phase de calcul ou Burst Time • Phase d’exécution d’instructions arithmétiques ou logiques § Temps d’exécution peut être connu a priori si: o Fourni par l’utilisateur (estimation) o Calculé par méthodes d’estimation § File d’attente des processus prêts § Diagramme de Gantt o Représentation graphique de l’ordonnancement de l’exécution d’un ensemble de processus selon un algorithme d’ordonnancement 32 Algorithmes d’ordonnancement
  • 33. Allocation Processeur 33 Algorithmes d’ordonnancement Processus Tempsde Traitement TempsCPU (Burst Time) Temps d‘Attente P1 12 - 12 = 0 P2 17 - 5 = 12 P3 19 - 2 = 17 Total 48 - 19 = 29 Moyenne(/3) 16 - 6,.. = 9,.. P1 P2 P3 0 12 17 19
  • 34. Algorithmes • FCFS § First Come First Served (FIFO) § Critère o Ordre d’arrivée des processus ‣ Classer les processus par date d’arrivée § Caractéristiques o Le plus simple à mettre en œuvre o Le plus mauvais ‣ Donne de mauvaises performances 34 Algorithmes d’ordonnancement
  • 35. Algorithmes • SJF § Shortest Job First ou Le plus court d’abord § Critère o Plus petit temps d’exécution § Caractéristiques o Privilégie les petits processus o Risque d’attente infinie pour les processus longs (problème de famine ou starvation) § Avec ou sans préemption o Sans préemption ‣ Sélection du prochain processus à la fin du courant, même s’il y a arrivée de nouveaux processus avec un temps plus petit que celui du courant o Avec préemption (SNRT: Shortest Next Remaining Time) ‣ Vérifier le critère d’allocation à chaque arrivée de nouveaux processus • Comparer le temps restant du processus courant avec le temps du ou des nouveaux processus • Selon le cas, utilisation ou non de la préemption 35 Algorithmes d’ordonnancement
  • 36. Algorithmes • Priorité § Priorité o Urgence d’utilisation du processeur o Définie par un nombre ou une lettre ‣ Exemples • 0..F, A..Z • 0..39 (Cas du système Unix) o Statique ou dynamique ‣ Commande nice sous Unix § Critère o Processus le plus prioritaire § Caractéristiques o Répond à la notion d’urgence o Risque de famine ‣ Privilégie les processus prioritaires § Plusieurs types: o Avec ou sans préemption o Dynamique ou statique o À une file ou à plusieurs files d’attente 36 Algorithmes d’ordonnancement
  • 37. Algorithmes • Round Robin ou Tourniquet § Introduit avec les systèmes temps-partagé (Time Sharing) § Eléments de base o File d’attente des processus ‣ Ordonnés selon leur ordre d’arrivée o Utilisation de la notion de QUANTUM ‣ Unité de temps d’utilisation du processeur ‣ Unité de temps ininterruptible (pas de préemption durant un quantum) § Principe o Allocation par multiple de Quantums o Allocation du processeur au processus Pi o Fin du quantum ‣ Pi terminé → Quitte la file d’attente ‣ Pi non terminé → Revient à la fin de la file (queue) ‣ Allocation du processeur au processus Pi+1 o Fin processus Pi < Fin Quantum ‣ Assimilée à une fin de Quantum • Allocation du processeur au processus Pi+1 37 Algorithmes d’ordonnancement
  • 38. Algorithmes: Files Multi-Niveaux • Files multi-niveaux § 1 seule file (1 niveau) o Mélange de processus de différentes natures ‣ Système, Utilisateurs, … § Idée o Utiliser plusieurs files ‣ File contient des classes de processus • Type (utilisateur, système, …) • Catégorie (étudiant, enseignants, administration, …) • Principe général § Fixer le nombre de files o Nombre fixe § Hiérarchiser les files o Définir un ordre entre files ‣ Priorité d’allocation (F1 > F2 > … > Fn) o Allocation selon le niveau d’une file dans la hiérarchie 38 Algorithmes d’ordonnancement
  • 39. Algorithmes: Files Multi-Niveaux • Politique de gestion de chaque file § Définir un ordonnanceur par file o Peut être le même pour toutes les files o Diversifier les ordonnanceurs § Définir une stratégie pour les nouveaux processus o Entrée dans une file bien déterminée fixée à l’avance o Sinon définir un critère d’entrée • Principe d’allocation § Allocation o Commencer par la file la plus prioritaire ‣ File de plus haut niveau non vide o Ne passer à la file (i+1) que si tous les processus de la file i ont été satisfaits ‣ File i plus prioritaire que la file (i+1) § Préemption entre files o Revenir à une file prioritaire en cas d’arrivée de nouveaux processus dans cette file 39 Algorithmes d’ordonnancement
  • 40. Algorithmes: Files Multi-Niveaux • Types de files § Simples o Pas de liens entre files o Problème de famine (Starvation) § Avec liens o Unidirectionnel ‣ Définir un critère de passage d’une file à une autre • F1 → F2 → … → Fn o Bidirectionnel • F1 ↔ F2 ↔ … ↔ Fn 40 Algorithmes d’ordonnancement
  • 41. Algorithmes: Files Multi-Niveaux 41 Algorithmes d’ordonnancement PRIO = 0 la+ élevée PRIO = 1 PRIO = 2 laplus faible
  • 42. Algorithmes: Files Multi-Niveaux 42 Algorithmes d’ordonnancement PRIO = 0 la+ élevée PRIO = 1 PRIO = 2 laplus faible
  • 43. Algorithmes à privilège • • Problématique § Privilégient certains processus par rapport à d’autres o SJF avec préemption, Priorité, … § Risque majeur o Famine ou starvation ‣ Attente infinie • L’allocation du processeur ne sera pas refusée mais sera toujours différée dans le temps 43 Algorithmes d’ordonnancement
  • 44. Exemples (1) • Windows 2000 § Priorité et préemption o Nombre de niveaux de priorité: 32 o 1 seule file gérée par RR avec priorité o Priorité dynamique (+/-) o Quantum plus grand pour les processus en avant plan • Unix § RR évolué o Technique du RR + Priorité dynamique o Plusieurs files d’attente ‣ Priorité entre files o Un algorithme RR par file 44 Algorithmes d’ordonnancement
  • 45. Exemples (2) • Linux § Classes d’ordonnancement o Processus temps-partagé o Processus temps-réel § Cas temps-réel o Ordonnancement basé sur la priorité § Cas temps-partagé o Utilisation de la priorité avec crédit o Fin du quantum et processus non terminé ‣ Perte d’un crédit o Suspension du processus qui n’a plus de crédit o Tous les processus prêts suspendus ‣ Récupèrent tous des crédits o Processus en background ‣ Priorité faible et moins de crédit 45 Algorithmes d’ordonnancement