Upload
jamuna
View
57
Download
0
Embed Size (px)
DESCRIPTION
Chapitre 01. Rappel // Basé sur le cours de Dr. Jaber Jemai. Rappel. Systèmes d’exploitation Avancées. Définitions Processus / Threads Intérruption / Préemption / Déroutement Le modèle des processus L’arborescence Le PCB Les états d’un processus Commutation de contexte - PowerPoint PPT Presentation
Citation preview
Institut Supérieur d’Informatique
Dr. Mohamed-Wassim YOUSSEF © 2010[www.wassimyoussef.info]
Systèmes d’exploitation EvoluésM1 - ISI
1ére année Mastere en Informatique
Rappel// Basé sur le cours de Dr. Jaber Jemai
Chapitre 01
2
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
RappelSystèmes d’exploitation Avancées
1. Définitionsa. Processus / Threadsb. Intérruption / Préemption / Déroutement
2. Le modèle des processusa. L’arborescenceb. Le PCB c. Les états d’un processusd. Commutation de contexte
3. Ordonnancement des processus
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
3
Définition: Processus
Le processus est un concept fondamental de tout système d’exploitation. Un processus est l’unité système qui permet l’exécution d’un programme.
Un processus est un programme en exécution. Il définit un objet dynamique tandis que le programme est un objet statique.
Un processus est caractérisé par son pointeur de pile, ses instructions et ses données, … Ces attributs définissent le contexte d’un processus.
Pile d’exécution(fonctions)
Segment de code(instructions en langage
machine)
Segment de données(les variables)
Composantes d’un processus
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
4
Définition: Thread
Un thread ou encore processus léger (lightweight process) est une unité d’exécution de code. il est issu d’un processus mais ne contenant que la pile d’exécution.
Un processus contient donc au moins un thread de contrôle unique en plus de l’espace d’adressage (segments code et données).
Thread 1: remet en forme le document Thread 2: interaction avec l’utilisateur Thread 3: écrit périodiquement le contenu de
la RAM sur le disque
Exemple: traitement de texte multi-threaded:Disque
AbsbjshdDnddjkjdqHqdjlqdjlJddmkmDjdlqjdjdqdjdqkmkd
AbsbjshdDnddjkjdqHqdjlqdjlJddmkmDjdlqjdjdqdjdqkmkd
AbsbjshdDnddjkjdqHqdjlqdjlJddmkmDjdlqjdjdqdjdqkmkd clavier
t1
t2
t3
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
5
Aspects matériels: Interruptions
Les interruptions constituent une concept fondamental des systèmes d’exploitation. Une interruption est signal produit par un périphérique et envoyé vers le processeur pour l’informer de la fin d’une E/S, la production d’une erreur …
Processeur Contrôleur d’interruptions
Disque
Horloge
Clavier
1. Le périphérique a terminé son E/S
4. Le processeur acquite l’interrupt.
2. Interruption
3. Description de l’interruption
Comment se produit une interruption?
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Intérruption / Préemption / Déroutement Une interruption est signal produit par un
périphériques et envoyé vers le processeur pour l’informer de la fin d’une E/S, la production d’une erreur …
La préemption est la capacité d’un système d’exploitation multitâche à exécuter ou stopper une tache planifié en cours d’exécution en faveur d’une autre tache
Déroutement : produit par une erreur interne au processus (prévisible , ex division par zéro)
6
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
7
Modèle des processus: Arborescence
Les processus sont organisés sous forme d’une arborescence ou chaque processus a un seul père et peut avoir plusieurs fils.
Un processus est identifié par un PID (Process IDentifier) et un PPID (Parent Process IDentifier).
Exemple: L’arborescence des processus sous Linux
init
Login:Mot de passe:
Terminal 1
Login:Mot de passe:
Login:Mot de passe:
…Term
inal 2
Terminal n
shell
ls
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
8
Modèle des processus: PCB
Chaque processus est représenté dans le système d’exploitation par une structure de données contenant toute information décrivant le contexte du processus appelé bloc de contrôle (Process Control Bloc: PCB).
Attributs d’un PCB: PID et PPID, État, Priorité, Compteur ordinal, Fichiers ouverts, Pointeurs: seg. code, seg. données, seg. Pile, Temps d’exécution.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
9
Modèle des processus: États
Lorsqu’un processus s’exécute; il change d’état. Il peut se trouver dans l’un des trois états principaux suivants:
• Prêt (Ready) : le processus attend son tour pour s’exécuter
• Élu (Running) : les instructions sont en cours d’exécution.
• Bloqué (Sleep) : le processus bloqué en attente d’événement: signal, E/S, …
Nouveau Terminé
Bloqué
Prêt Élu
Graphe des états d’un processus
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
10
Modèle des processus: Transitions
1. Création du processus
2. Allocation du processeur
3. Fin du temps alloué sur le processeur, l’exécution du processus n’est pas terminée
4. Opération E/S
5. Fin opération E/S
6. Exécution terminée
Nouveau Terminé
Bloqué
Prêt Élu
Graphe des états d’un processus
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
11
Modèle des processus: Commutation de contexte Sur un système multiprogrammé, le SE doit
redonner le contrôle du processeur d’un processus à un autre en effectuant des commutations de contexte.
La commutation de contexte consiste a mémoriser le PCB du processus courant et charger le PCB du processus a élire.
Sauvegarde PCB0
Sauvegarde PCB1
Recharge PCB1
Recharge PCB0
P0 P1
Élu
Élu
ÉluInactif
Inactif
Inactif
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
12
Ordonnancement des processus
Étant donnée un ensemble de processus prêts, l’Ordonnanceur (scheduler) du SE doit choisir quel processus élire en utilisant un algorithme d’ordonnancement.
P1
P2
P3
Pn
…
PiCPU
Algo. d’ordonnancement
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
13
Quand invoquer l’ordonnanceur
Chaque fois que le processus exécutant est interrompu un processus exécutant devient bloqué (4) un processus change d’élu à prêt (3) un processus exécutant se termine (6)
Chaque fois qu’un nouveau processus est prêt un processus se présente en tant que nouveau (1) un processus change de bloqué à prêt (5)
L’ordonnanceur choisi un processus parmi les processus prêts et lui alloue le processeur
Nouveau Terminé
Bloqué
Prêt Élu
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
14
Ordonnancement des processus
Un bon algorithme d’ordonnancement : 1. Chaque processus doit avoir sa part de temps CPU:
équité.2. Utiliser le temps processeur a 100%: efficacité.3. Minimiser le temps de réponse en mode interactif.
Il existe deux types d’algorithmes d’ordonnancement:1. Ordonnancement sans réquisition (sans
préemption): exécution d’un processus jusqu’à sa terminaison.
2. Ordonnancement avec réquisition (avec préemption): suspension possible d’un processus élu même s’il n’a pas terminé son exécution.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
15
Caractéristiques des algorithmes d’ordonnancement Temps de rotation = date de fin – date d’arrivée
Temps rotation moyen = ∑ temps rotation / nbr processus
Temps attente = temps de rotation – temps d’exécution
Temps attente moyen = ∑ temps attente / nbr processus
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
16
Algorithmes Ordonnancement
1. Premier Arrivée Premier Servi (First Come First Served FCFS) Exécution des processus dans leur ordre d’arrivée
chronologique.
2. Plus Court d’Abord (Short Job First SJF): SJF sans réquisition: Le scheduler choisi le processus prêt ayant le plus petit
temps d’exécution. Une fois un processus est élu, il n’est jamais suspendu jusqu’à la fin de son exécution.
SJF avec réquisition (Short Next Remaining Time SNRT)A chaque instant, le scheduler cherche parmi les processus prêts celui ayant le plus petit temps d’exécution restant.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
17
Premier arrivé, premier servi (First come, first serve, FCFS)
Exemple: Processus Temps de cycle P1 24 P2 3 P3 3
Si les processus arrivent au temps 0 dans l’ordre: P1 , P2 , P3 Le diagramme Gantt est:
Temps de rotation pour P1=(24-0), P2=(27-0), P3=(30-0)Temps de rotation moyen : (24+27+30)/3=17
Temps d’attente pour P1= 24-0-24; P2= 27-0-3; P3= 30-0-3Temps attente moyen: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 300
http://w3.uqo.ca/luigi/
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
18
Tenir compte du temps d’arrivée!
Dans le cas où les processus arrivent à moment différents, il faut soustraire les temps d’arrivée
Exercice: répéter les calculs si: P1 arrive à temps 0 et dure 24 P2 arrive à temps 2 et dure 3 P3 arrive à temps 7 et dure 3
Donc P1 attend 0 comme avant Mais P2 attend 24-2, etc.
P1 P2 P3
24 27 300arrivée P2 arrivée P3
http://w3.uqo.ca/luigi/
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
19
Tenir compte du temps d’arrivée!
Exercice: répéter les calculs si: P1 arrive à temps 0 et dure 24 P2 arrive à temps 2 et dure 3 P3 arrive à temps 7 et dure 3
FCFS Temps de rotation moyen = (24-0)+(27-2)+(30-7) /3= 24 Temps d’attente moyen = ((24-0-24)+(27-2-3)+(30-7-3)/3
= (0 + 22 + 20 )/3 = 14
P1 P2 P3
24 27 300arrivée P2 arrivée P3
http://w3.uqo.ca/luigi/
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
20
Exemple de SJF sans préemptionProcessus Arrivée CycleP1 0 7 P2 2 4 P3 4 1 P4 5 4
SJF (sans préemption)
Temps de rotation moyen = (7-0)+(12-2)+(8-4)+(16-5) /4= 8Temps d’attente moyen = ((7-0-7)+(12-2-4)+(8-4-1)+(16-5-4))/4 =
(0 + 6 + 3 + 7)/4 = 4
P1 P3 P2
7 160
P4
8 12
P2 arr. P3 arr. P4 arr
http://w3.uqo.ca/luigi/
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
21
Exemple de SJF avec préemption
Processus Arrivée CycleP1 0 7 P2 2 4 P3 4 1 P4 5 4
SJF (préemptive)
Temps de rotation moyen = (16-0)+(7-2) + (5-4) + (11-7) /4 = 7Temps moyen d`attente = (16-0-7)+(7-2-4)+(5-4-1)+(11-7-4)/4
= (9 + 1 + 0 + 2) /4= 3
P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7
P1 P3P2
42 110
P4
5 7
P2 P1
16
P2 arr. P3 arr. P4 arr
http://w3.uqo.ca/luigi/
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
22
Difficultés majeures avec les méthodes discutées Premier arrivé, premier servi, FCFS:
Temps moyen d’attente non-optimal Mauvaise utilisation des ressources s’il y a apport continu de processus
aux cycles longs (v. effet d’accumulation)
Plus court servi, SJF: Difficulté de prévoir la durée du prochain cycle Famine possible des processus ‘longs’ s’il y a apport continu de
processus aux cycles courts
Donc besoin d’une méthode systématiquement préemptive Le tourniquet
▪ si vous faites toujours les devoirs les plus courts en premier, vous pourriez avoir l’impression de faire beaucoup mais vous pourriez ne jamais arriver aux plus longs…
▪ si vous faites les devoirs dans l’ordre d’arrivée, les longs pourraient vous bloquer pour longtemps…
▪ donc votre solution est de donner un peu de temps à chacun, cycliquement
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
23
Algorithmes Ordonnancement
3. Tourniquet (Round Robin RR, l’algorithme circulaire) Le temps processeur est diviser en intervalles de temps
appelés Quantum Q, chaque processus s’exécutera exactement pendant son quantum.
Le processeur sera réquisitionner:a. Le processus élu a épuisé son quantum,b. Le processus élu a fini son exécution avant la fin de son
quantum,c. Le processus élu demande une entrée/sortie.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
24
Exemple: Tourniquet tranche = 20
Processus CycleP1 53 P2 17 P3 68 P4 24
Temps de rotation ? Temps attente moyen ? Observez
temps de rotation et temps d’attente moyens beaucoup plus élevés que SJF
mais aucun processus n’est favorisé
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
25
Algorithmes Ordonnancement
4. Ordonnancement avec priorité Le système d’exploitation ordonne les processus prêts
selon l’ordre décroissant de leurs priorités et le processus a élire est celui avec la plus haute priorité.
Les priorités utilisées peuvent être statiques ou dynamiques.
▪ Les priorités statiques ne changent pas au cours de l’ordonnancement.
▪ Les priorités dynamiques seront recalculées périodiquement après un intervalle de temps bien défini.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
26
A retenir
Notions de processus et thread PCB
Notions d’intéruption de préemption et de déroutement
Etats d’un processus Graphe d’états & transitions
Algorithmes d’ordonnacement FCFS, SJF, SNRT, RR, avec Priorités