La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Dr. Mohamed-Wassim YOUSSEF © 2010 [www.wassimyoussef.info] Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Rappel // Basé sur.

Présentations similaires


Présentation au sujet: "Dr. Mohamed-Wassim YOUSSEF © 2010 [www.wassimyoussef.info] Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Rappel // Basé sur."— Transcription de la présentation:

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

2 2 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Rappel Systèmes dexploitation Avancées 1. Définitions a. Processus / Threads b. Intérruption / Préemption / Déroutement 2. Le modèle des processus a. Larborescence b. Le PCB c. Les états dun processus d. Commutation de contexte 3. Ordonnancement des processus

3 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Définition: Processus Le processus est un concept fondamental de tout système dexploitation. Un processus est lunité système qui permet lexécution dun 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 dun processus. 3 Pile dexécution (fonctions) Segment de code (instructions en langage machine) Segment de données (les variables) Composantes dun processus

4 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Définition: Thread Un thread ou encore processus léger (lightweight process) est une unité dexécution de code. il est issu dun processus mais ne contenant que la pile dexécution. Un processus contient donc au moins un thread de contrôle unique en plus de lespace dadressage (segments code et données). 4 Thread 1: remet en forme le document Thread 2: interaction avec lutilisateur Thread 3: écrit périodiquement le contenu de la RAM sur le disque Exemple: traitement de texte multi-threaded: Disque Absbjshd Dnddjkjdq Hqdjlqdjl Jddmkm Djdlqjdjdq djdqkmkd Absbjshd Dnddjkjdq Hqdjlqdjl Jddmkm Djdlqjdjdq djdqkmkd Absbjshd Dnddjkjdq Hqdjlqdjl Jddmkm Djdlqjdjdq djdqkmkd clavier t1t1 t2t2 t3t3

5 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Aspects matériels: Interruptions Les interruptions constituent une concept fondamental des systèmes dexploitation. Une interruption est signal produit par un périphérique et envoyé vers le processeur pour linformer de la fin dune E/S, la production dune erreur … 5 ProcesseurContrôleur dinterruptions Disque Horloge Clavier 1. Le périphérique a terminé son E/S 4. Le processeur acquite linterrupt. 2. Interruption 3. Description de linterruption Comment se produit une interruption?

6 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Intérruption / Préemption / Déroutement Une interruption est signal produit par un périphériques et envoyé vers le processeur pour linformer de la fin dune E/S, la production dune erreur … La préemption est la capacité dun système dexploitation multitâche à exécuter ou stopper une tache planifié en cours dexécution en faveur dune autre tache Déroutement : produit par une erreur interne au processus (prévisible, ex division par zéro) 6

7 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Modèle des processus: Arborescence Les processus sont organisés sous forme dune 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: Larborescence des processus sous Linux 7 init Login: Mot de passe: Login: Mot de passe: Terminal 1 Login: Mot de passe: Login: Mot de passe: Login: Mot de passe: Login: Mot de passe: … Terminal 2Terminal n shell ls

8 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Modèle des processus: PCB Chaque processus est représenté dans le système dexploitation 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 dun PCB: PID et PPID, État, Priorité, Compteur ordinal, Fichiers ouverts, Pointeurs: seg. code, seg. données, seg. Pile, Temps dexécution. 8

9 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Modèle des processus: États Lorsquun processus sexécute; il change détat. Il peut se trouver dans lun des trois états principaux suivants: Prêt (Ready) : le processus attend son tour pour sexécuter Élu (Running) : les instructions sont en cours dexécution. Bloqué (Sleep) : le processus bloqué en attente dévénement: signal, E/S, … 9 Nouveau Terminé Bloqué Prêt Élu Graphe des états dun processus

10 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Modèle des processus: Transitions 1. Création du processus 2. Allocation du processeur 3. Fin du temps alloué sur le processeur, lexécution du processus nest pas terminée 4. Opération E/S 5. Fin opération E/S 6. Exécution terminée 10 Nouveau Terminé Bloqué Prêt Élu Graphe des états dun processus

11 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Modèle des processus: Commutation de contexte Sur un système multiprogrammé, le SE doit redonner le contrôle du processeur dun 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. 11 Sauvegarde PCB 0 Sauvegarde PCB 1 Recharge PCB 1 Recharge PCB 0 P0P1 Élu Inactif

12 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Ordonnancement des processus Étant donnée un ensemble de processus prêts, lOrdonnanceur (scheduler) du SE doit choisir quel processus élire en utilisant un algorithme dordonnancement. 12 P1 P2 P3 Pn … Pi CPU Algo. dordonnancement

13 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Quand invoquer lordonnanceur 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 quun nouveau processus est prêt un processus se présente en tant que nouveau (1) un processus change de bloqué à prêt (5) Lordonnanceur choisi un processus parmi les processus prêts et lui alloue le processeur 13 Nouveau Terminé Bloqué Prêt Élu

14 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Ordonnancement des processus Un bon algorithme dordonnancement : 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 dalgorithmes dordonnancement: 1. Ordonnancement sans réquisition (sans préemption): exécution dun processus jusquà sa terminaison. 2. Ordonnancement avec réquisition (avec préemption): suspension possible dun processus élu même sil na pas terminé son exécution. 14

15 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Caractéristiques des algorithmes dordonnancement Temps de rotation = date de fin – date darrivée Temps rotation moyen = temps rotation / nbr processus Temps attente = temps de rotation – temps dexécution Temps attente moyen = temps attente / nbr processus 15

16 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Algorithmes Ordonnancement 1. Premier Arrivée Premier Servi (First Come First Served FCFS) Exécution des processus dans leur ordre darrivée chronologique. 2. Plus Court dAbord (Short Job First SJF): SJF sans réquisition: Le scheduler choisi le processus prêt ayant le plus petit temps dexécution. Une fois un processus est élu, il nest 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 dexécution restant. 16

17 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Premier arrivé, premier servi (First come, first serve, FCFS) 17 Exemple:Processus Temps de cycle P124 P2 3 P3 3 Si les processus arrivent au temps 0 dans lordre: P1, P2, P3 Le diagramme Gantt est: Temps de rotation pour P1=(24-0), P2=(27-0), P3=(30-0) Temps de rotation moyen : ( )/3=17 Temps dattente pour P1= ; P2= ; P3= Temps attente moyen: ( )/3 = 17 P1P1 P2P2 P3P http://w3.uqo.ca/luigi/

18 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Tenir compte du temps darrivée! Dans le cas où les processus arrivent à moment différents, il faut soustraire les temps darrivé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. 18 P1P1 P2P2 P3P arrivée P2arrivée P3http://w3.uqo.ca/luigi/

19 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Tenir compte du temps darrivé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 dattente moyen = (( )+(27-2-3)+(30-7-3)/3 = ( )/3 = P1P1 P2P2 P3P arrivée P2arrivée P3http://w3.uqo.ca/luigi/

20 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Exemple de SJF sans préemption Exemple de SJF sans préemption 20 ProcessusArrivéeCycle P107P107 P224 P224 P341 P341 P454 P454 SJF (sans préemption) Temps de rotation moyen = (7-0)+(12-2)+(8-4)+(16-5) /4= 8 Temps dattente moyen = ((7-0-7)+(12-2-4)+(8-4-1)+(16-5-4))/4 = ( )/4 = 4 P1P1 P3P3 P2P P4P4 812 P 2 arr. P 3 arr. P 4 arrhttp://w3.uqo.ca/luigi/

21 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Exemple de SJF avec préemption 21 ProcessusArrivéeCycle P107P107 P224 P224 P341 P341 P454 P454 SJF (préemptive) Temps de rotation moyen = (16-0)+(7-2) + (5-4) + (11-7) /4 = 7 Temps moyen d`attente = (16-0-7)+(7-2-4)+(5-4-1)+(11-7-4)/4 = ( ) /4= 3 P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16 P 2 arr.P 3 arr. P 4 arrhttp://w3.uqo.ca/luigi/

22 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Difficultés majeures avec les méthodes discutées Premier arrivé, premier servi, FCFS: Temps moyen dattente non-optimal Mauvaise utilisation des ressources sil y a apport continu de processus aux cycles longs (v. effet daccumulation) Plus court servi, SJF: Difficulté de prévoir la durée du prochain cycle Famine possible des processus longs sil y a apport continu de processus aux cycles courts Donc besoin dune méthode systématiquement préemptive Le tourniquet si vous faites toujours les devoirs les plus courts en premier, vous pourriez avoir limpression de faire beaucoup mais vous pourriez ne jamais arriver aux plus longs… si vous faites les devoirs dans lordre darrivée, les longs pourraient vous bloquer pour longtemps… donc votre solution est de donner un peu de temps à chacun, cycliquement 22

23 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Algorithmes Ordonnancement 3. Tourniquet (Round Robin RR, lalgorithme circulaire) Quantum Q Le temps processeur est diviser en intervalles de temps appelés Quantum Q, chaque processus sexé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. 23

24 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Exemple: Tourniquet tranche = ProcessusCycle P 1 53 P 2 17 P 3 68 P 4 24 n Temps de rotation ? Temps attente moyen ? n Observez u temps de rotation et temps dattente moyens beaucoup plus élevés que SJF u mais aucun processus nest favorisé P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P

25 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 Algorithmes Ordonnancement 4. Ordonnancement avec priorité Le système dexploitation ordonne les processus prêts selon lordre 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 lordonnancement. Les priorités dynamiques seront recalculées périodiquement après un intervalle de temps bien défini. 25

26 Dr. Mohamed Wassim Youssef – Systèmes dexploitation évoluésM1- ISI 2010 A retenir Notions de processus et thread PCB Notions dintéruption de préemption et de déroutement Etats dun processus Graphe détats & transitions Algorithmes dordonnacement FCFS, SJF, SNRT, RR, avec Priorités 26


Télécharger ppt "Dr. Mohamed-Wassim YOUSSEF © 2010 [www.wassimyoussef.info] Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Rappel // Basé sur."

Présentations similaires


Annonces Google