rappel // basé sur le cours de dr. jaber jemai

26
Institut Supérieur d’Informatique Dr. Mohamed-Wassim YOUSSEF © 2010 [www.wassimyoussef.info] Systèmes d’exploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Rappel // Basé sur le cours de Dr. Jaber Jemai Chapitre 01

Upload: jamuna

Post on 23-Feb-2016

57 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 2: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 3: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 4: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 5: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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?

Page 6: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 7: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 8: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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.

Page 9: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 10: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 11: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 12: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 13: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 14: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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.

Page 15: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 16: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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.

Page 17: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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/

Page 18: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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/

Page 19: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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/

Page 20: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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/

Page 21: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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/

Page 22: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 23: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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.

Page 24: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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

Page 25: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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.

Page 26: Rappel // Basé sur  le cours  de  Dr.  Jaber Jemai

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