SlideShare une entreprise Scribd logo
Systèmes
d'exploitation
Planification
Margaret Hamilton
• Américaine
• MIT Instrumentation Lab
• Apollo Guidance
Computer
2
Contenu
• Planification
– Non-préemptif
– Préemptif
• IPC
– signal
– pipe
– socket
3
SYSTÈMES INTERACTIFS
4
Systèmes Interactifs
• Paramètres optimisé
– Wait Time
– Fairness
• Algorithmes
– Round Robin (RR)
– Classes des Priorisées
– Shortest Process Next (SPN)
5
Round Robin
• FCFS Préemptif
– Quantum de temps
• Grand Quantum de temps
– Grand throughput
– Grand Wait Time
• Pietit Quantum de temps
– Petit throughput
• Temps pur le changement
de contexte este grand
– Petit Wait Time
6
Classes des Priorisées
• Round Robin
– avec de processus plus important que autres
• Plusieurs files d'attente
7
Classes des Priorités
Windows
• Priority
– 0 Système
– 1 a 15 User
– 16 a 30 temps réel
Linux
8
• Priority
– 0 a 99 temps reel
– 100 a 139 user
• Nice
– -20 a 19
• Priority effective
– 100 + 20 + NI
Classes des Priorités (Linux)
9
Shortest Process Next
• SJF Préemptif
• Estimation basée sur le comportement
précédent
• T0 - quantum de temps estimée
• T1 - quantum de temps réel
• a - âgée
• Quantum de temps suivante
– a * T1 + (1-a) * T0
10
TEMPS RÉEL
11
Temps Reel
• Limite maximale
– Turnaround
– Wait Time
• Hardware
– ressources alloue
• Software
– Les processus de temps réel ont la priorité
maximale
– Les autres processus sont retardé
12
Priority Inversion
• Un processus avec un priorité petit (P1) prend
un ressource
• Un autre processus avec un priorité plus grand
(P2) a besoin de cette ressource
• Processus P2 a la même priorité avec le
processus P1
13
Priority Boosting
• Augmenter la priorité pendant un temps
limité
• À la réception des données d’E/S
– En dépendant de Wait Time
• Un autre processus avec un priorité plus
grande attend un ressource bloque par le
processus
14
Starvation
• Un processus ne prend pas le CPU pour un
long temps
15
FERMER UN PROCESSUS
16
Fermer un processus
• Terminer l’exécution
• Fermé par le SE
17
Terminer l'exécution d'un processus
• Le processus termine sa exécution
– arrivé la fin du programme
– appelé exit
• La décision c’est au processus
18
Fermé par le SE
• Le SE ferme le processus
– à la demande d'un autre processus (kill)
– le processus a effectué une erreur
• Envoyer un signal (Unix) ou une exception
(Windows)
19
Effacer le processus
• Le SE efface toute les informations du
processus
– PCB
– PID
– Tableau des descripteurs
– Mémoire alloue
– …
• Le SE envoie un signal (Unix) / message
(Windows) aux processus parent
20
Attendre le fin du processus
• Synchroniser l'action de certains processus
– tu fais X après Y
– le processus qui fait l'action X attend la fin de
l'exécution du processus qui fait l’action Y
• Cela s'appelle "attendre un processus"
• Informations utiles sur le fin du processus
– la valeur de retour
21
La valeur de retour
int main ()
{
// do some work ...
if (error)
{
// exit with an error code, here -120
exit (-120);
}
// exit without error, success
return 0;
}
22
Exemple
int fd, status;
pid_t pid = fork ();
if (pid == 0)
{
// child
if (!execl ("/bin/ls", "/bin/ls", "-l", NULL))
{
perror ("Error loading /bin/lsn");
abort ();
}
}
else if (pid > 0) {
// parent
waitpid (pid, &status, 0);
printf ("/bin/ls exited with %dn", WEXITSTATUS (status));
}
23
Processus orphelin
• Un processus dont le parent a terminé sa
exécution
• Il perd sa connexion dans la hiérarchie des
processus
• Il est adopté par un processus dédié (init sur
Unix)
24
Processus zombie
• Un processus qui s'est terminé mais n'était pas
attendu
– Les informations résiduelles restent (elles prouvent
être utilisé par le processus parent)
• Si un processus zombie reste orphelin, il est
adopté par init puis il est terminé
• Les processus zombies plus longs occupent (en
vain) les ressources de système
25
Le operateur shell &
• En règle générale, le shell attend le fin des
processus créés
• L'opérateur &: shell n'attend plus la fin du
processus
– le processus s'exécute en background
– le shell contrôle le stdin
26
Exemple
27
shell
parent
shell
child
fork()
child
exec(“/bin/ls”)
ls
shell
parent
COMPLETELY FAIR SCHEDULER
28
Completly Fair Scheduler
• Virtual Runtime (vruntime)
– Temp d’utilisation de CPU
• Arbre Rouge - Noir
– ordonné par la vruntime
• Processus nouveau
– vruntime = vruntime minimale
29
Completly Fair Scheduler
30
Mot clés
• Planification
• Procession en
background
• Job
• Systèmes interactifs
• Process
• Temps réel
• Shortest Job First
• Shortest Remaining Job
• First
• Round Robin
• Shortest Process Next
• Priorité
• Priority Inversion
• Priority Boosting
• Starvation
• Completly Fair
Scheduler
31
Questions
32

Contenu connexe

Tendances

SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
Alexandru Radovici
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
Alexandru Radovici
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
Alexandru Radovici
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de execution
Alexandru Radovici
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
Alexandru Radovici
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
Alexandru Radovici
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire Virtuelle
Alexandru Radovici
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
Alexandru Radovici
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de execution
Alexandru Radovici
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
Alexandru Radovici
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de Fichiers
Alexandru Radovici
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
Alexandru Radovici
 
SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
Alexandru Radovici
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
webreaker
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
embedded-linux-bdx
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
Alexandru Radovici
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
eurogicielgroup
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
Alexandru Radovici
 
Boot
BootBoot
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
Lilia Sfaxi
 

Tendances (20)

SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
 
Systemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de executionSystemes d'explotation: Synchronization de execution
Systemes d'explotation: Synchronization de execution
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
Systemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire VirtuelleSystemes d'explotation: Mémoire Virtuelle
Systemes d'explotation: Mémoire Virtuelle
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
SdE 8 - Synchronization de execution
SdE 8 - Synchronization de executionSdE 8 - Synchronization de execution
SdE 8 - Synchronization de execution
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
SdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de FichiersSdE 11: Implémentation de Système de Fichiers
SdE 11: Implémentation de Système de Fichiers
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
 
SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
 
Boot
BootBoot
Boot
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 

Similaire à SdE 6 - Planification

Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
MedBechir
 
gestion de processus
gestion de processusgestion de processus
gestion de processus
MoodyBop
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
MoodyBop
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processus
Lilia Sfaxi
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
Fatima Zahra Fagroud
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
guebba sara
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
MbarkiIsraa
 
SYSTèmes d'exploitation
SYSTèmes d'exploitationSYSTèmes d'exploitation
SYSTèmes d'exploitation
sarah Benmerzouk
 

Similaire à SdE 6 - Planification (8)

Cours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
 
gestion de processus
gestion de processusgestion de processus
gestion de processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processus
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
 
SYSTèmes d'exploitation
SYSTèmes d'exploitationSYSTèmes d'exploitation
SYSTèmes d'exploitation
 

Plus de Alexandru Radovici

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

Plus de Alexandru Radovici (20)

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

Dernier

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

Dernier (7)

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

SdE 6 - Planification

  • 2. Margaret Hamilton • Américaine • MIT Instrumentation Lab • Apollo Guidance Computer 2
  • 3. Contenu • Planification – Non-préemptif – Préemptif • IPC – signal – pipe – socket 3
  • 5. Systèmes Interactifs • Paramètres optimisé – Wait Time – Fairness • Algorithmes – Round Robin (RR) – Classes des Priorisées – Shortest Process Next (SPN) 5
  • 6. Round Robin • FCFS Préemptif – Quantum de temps • Grand Quantum de temps – Grand throughput – Grand Wait Time • Pietit Quantum de temps – Petit throughput • Temps pur le changement de contexte este grand – Petit Wait Time 6
  • 7. Classes des Priorisées • Round Robin – avec de processus plus important que autres • Plusieurs files d'attente 7
  • 8. Classes des Priorités Windows • Priority – 0 Système – 1 a 15 User – 16 a 30 temps réel Linux 8 • Priority – 0 a 99 temps reel – 100 a 139 user • Nice – -20 a 19 • Priority effective – 100 + 20 + NI
  • 10. Shortest Process Next • SJF Préemptif • Estimation basée sur le comportement précédent • T0 - quantum de temps estimée • T1 - quantum de temps réel • a - âgée • Quantum de temps suivante – a * T1 + (1-a) * T0 10
  • 12. Temps Reel • Limite maximale – Turnaround – Wait Time • Hardware – ressources alloue • Software – Les processus de temps réel ont la priorité maximale – Les autres processus sont retardé 12
  • 13. Priority Inversion • Un processus avec un priorité petit (P1) prend un ressource • Un autre processus avec un priorité plus grand (P2) a besoin de cette ressource • Processus P2 a la même priorité avec le processus P1 13
  • 14. Priority Boosting • Augmenter la priorité pendant un temps limité • À la réception des données d’E/S – En dépendant de Wait Time • Un autre processus avec un priorité plus grande attend un ressource bloque par le processus 14
  • 15. Starvation • Un processus ne prend pas le CPU pour un long temps 15
  • 17. Fermer un processus • Terminer l’exécution • Fermé par le SE 17
  • 18. Terminer l'exécution d'un processus • Le processus termine sa exécution – arrivé la fin du programme – appelé exit • La décision c’est au processus 18
  • 19. Fermé par le SE • Le SE ferme le processus – à la demande d'un autre processus (kill) – le processus a effectué une erreur • Envoyer un signal (Unix) ou une exception (Windows) 19
  • 20. Effacer le processus • Le SE efface toute les informations du processus – PCB – PID – Tableau des descripteurs – Mémoire alloue – … • Le SE envoie un signal (Unix) / message (Windows) aux processus parent 20
  • 21. Attendre le fin du processus • Synchroniser l'action de certains processus – tu fais X après Y – le processus qui fait l'action X attend la fin de l'exécution du processus qui fait l’action Y • Cela s'appelle "attendre un processus" • Informations utiles sur le fin du processus – la valeur de retour 21
  • 22. La valeur de retour int main () { // do some work ... if (error) { // exit with an error code, here -120 exit (-120); } // exit without error, success return 0; } 22
  • 23. Exemple int fd, status; pid_t pid = fork (); if (pid == 0) { // child if (!execl ("/bin/ls", "/bin/ls", "-l", NULL)) { perror ("Error loading /bin/lsn"); abort (); } } else if (pid > 0) { // parent waitpid (pid, &status, 0); printf ("/bin/ls exited with %dn", WEXITSTATUS (status)); } 23
  • 24. Processus orphelin • Un processus dont le parent a terminé sa exécution • Il perd sa connexion dans la hiérarchie des processus • Il est adopté par un processus dédié (init sur Unix) 24
  • 25. Processus zombie • Un processus qui s'est terminé mais n'était pas attendu – Les informations résiduelles restent (elles prouvent être utilisé par le processus parent) • Si un processus zombie reste orphelin, il est adopté par init puis il est terminé • Les processus zombies plus longs occupent (en vain) les ressources de système 25
  • 26. Le operateur shell & • En règle générale, le shell attend le fin des processus créés • L'opérateur &: shell n'attend plus la fin du processus – le processus s'exécute en background – le shell contrôle le stdin 26
  • 29. Completly Fair Scheduler • Virtual Runtime (vruntime) – Temp d’utilisation de CPU • Arbre Rouge - Noir – ordonné par la vruntime • Processus nouveau – vruntime = vruntime minimale 29
  • 31. Mot clés • Planification • Procession en background • Job • Systèmes interactifs • Process • Temps réel • Shortest Job First • Shortest Remaining Job • First • Round Robin • Shortest Process Next • Priorité • Priority Inversion • Priority Boosting • Starvation • Completly Fair Scheduler 31