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

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

Présentations similaires


Présentation au sujet: "Rappel // Basé sur le cours de Dr. Jaber Jemai"— Transcription de la présentation:

1 Rappel // Basé sur le cours de Dr. Jaber Jemai
Chapitre 01 Rappel // Basé sur le cours de Dr. Jaber Jemai

2 Rappel Définitions Le modèle des processus
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 Ordonnancement des processus

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

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). Exemple: traitement de texte multi-threaded: Disque Absbjshd Dnddjkjdq Hqdjlqdjl Jddmkm Djdlqjdjdq djdqkmkd clavier t1 t2 t3 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

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?

6 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)

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 Terminal 2 Terminal n shell ls

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.

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

10 Modèle des processus: Transitions
Création du processus Allocation du processeur Fin du temps alloué sur le processeur, l’exécution du processus n’est pas terminée Opération E/S Fin opération E/S Exécution terminée Nouveau Terminé Bloqué Prêt Élu Graphe des états d’un processus

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 Inactif

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 Algo. d’ordonnancement Pi CPU

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

14 Ordonnancement des processus
Un bon algorithme d’ordonnancement : Chaque processus doit avoir sa part de temps CPU: équité. Utiliser le temps processeur a 100%: efficacité. Minimiser le temps de réponse en mode interactif. Il existe deux types d’algorithmes d’ordonnancement: Ordonnancement sans réquisition (sans préemption): exécution d’un processus jusqu’à sa terminaison. Ordonnancement avec réquisition (avec préemption): suspension possible d’un processus élu même s’il n’a pas terminé son exécution.

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

16 Algorithmes Ordonnancement
Premier Arrivée Premier Servi (First Come First Served FCFS) Exécution des processus dans leur ordre d’arrivée chronologique. 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.

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 : ( )/3=17 Temps d’attente pour P1= ; P2= ; P3= Temps attente moyen: ( )/3 = 17 P1 P2 P3 24 27 30

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 30 arrivée P2 arrivée P3

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 = (( )+(27-2-3)+(30-7-3)/3 = ( )/3 = 14 P1 P2 P3 24 27 30 arrivée P2 arrivée P3

20 Exemple de SJF sans préemption
Processus Arrivée Cycle P1 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= 8 Temps d’attente moyen = ((7-0-7)+(12-2-4)+(8-4-1)+(16-5-4))/4 = ( )/4 = 4 P1 P3 P2 7 16 P4 8 12 P2 arr. P3 arr. P4 arr

21 Exemple de SJF avec préemption
Processus Arrivée Cycle P1 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 = 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 P1 P3 P2 4 2 11 P4 5 7 16 P2 arr. P3 arr. P4 arr

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

23 Algorithmes Ordonnancement
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: Le processus élu a épuisé son quantum, Le processus élu a fini son exécution avant la fin de son quantum, Le processus élu demande une entrée/sortie.

24 Exemple: Tourniquet tranche = 20
Processus Cycle P1 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 20 37 57 77 97 117 121 134 154 162

25 Algorithmes Ordonnancement
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.

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


Télécharger ppt "Rappel // Basé sur le cours de Dr. Jaber Jemai"

Présentations similaires


Annonces Google