Gestion de Processus Chapitre 4 http w 3

  • Slides: 74
Download presentation
Gestion de Processus Chapitre 4 http: //w 3. uqo. ca/luigi/ 1

Gestion de Processus Chapitre 4 http: //w 3. uqo. ca/luigi/ 1

Concepts importants du Chapitre 4 n Processus u n n n États et transitions

Concepts importants du Chapitre 4 n Processus u n n n États et transitions d’état des processus Process Control Block Commutation de processus u n n n Sauvegarde, rechargement de PCB Files d’attente de processus et PCB Ordonnanceurs à court, moyen, long terme Processus communicants u Ch. 4 Création, terminaison, hiérarchie Producteurs et consommateurs 2

Processus et terminologie (aussi appelé job, task, travail) n Concept de processus: un programme

Processus et terminologie (aussi appelé job, task, travail) n Concept de processus: un programme en exécution u Ch. 4 Possède des ressources de mémoire, périphériques, etc n Ordonnancement de processus n Opérations sur les processus n Processus coopérants n Processus communicants 3

Création de processus n Les processus peuvent créer d’autres processus, formant une hiérarchie (instruction

Création de processus n Les processus peuvent créer d’autres processus, formant une hiérarchie (instruction fork ou semblables) u V, Sessions Travaux Dirigés Ch. 4 4

Création et synchronisation de processus En UNIX-Linux, le fork créé un processus identique au

Création et synchronisation de processus En UNIX-Linux, le fork créé un processus identique au père, e exec peut être utilisé pour exécuter un nouveau programme Ch. 4 5

Arbre de processus en UNIX (pères et descendants) Ch. 4 6

Arbre de processus en UNIX (pères et descendants) Ch. 4 6

Arbres de processus en Windows n Un programme qui permet d’afficher l’arbre de processus

Arbres de processus en Windows n Un programme qui permet d’afficher l’arbre de processus en Windows peut être trouvé dans: u sysinternals. com F affichage plus clair de ce qu’on voit dans le Gestionnaire de tâches officiel Ch. 4 7

États et transitions d’états d’un processus Ch. 4 8

États et transitions d’états d’un processus Ch. 4 8

Problème n n Comment gérer l’exécution de plusieurs processus sur beaucoup moins d’UCT Chaque

Problème n n Comment gérer l’exécution de plusieurs processus sur beaucoup moins d’UCT Chaque processus sera u parfois en exécution sur une UCT u parfois en attente d’une UCT (prêt) u parfois en attente d’un événement F normalement, le résultat d’une requête au SE, comme une E/S Ch. 4 9

État de processus IMPORTANT n Au fur et a mesure qu’un processus exécute, il

État de processus IMPORTANT n Au fur et a mesure qu’un processus exécute, il change d’état u nouveau: le processus vient d’être créé u exécutant-running: le processus est en train d ’être exécuté par une UCT u attente-waiting: le processus est en train d ’attendre un événement (p. ex. la fin d’une opération d’E/S) u prêt-ready: le processus est en attente d’être exécuté par une UCT u terminated: fin d’exécution Ch. 4 10

Ordonnanceur UCT n n Une UCT dans un ordi est une ressource qui peut

Ordonnanceur UCT n n Une UCT dans un ordi est une ressource qui peut être affectée parfois à un processus, parfois à un autre Quand une UCT se libère, un programme est invoqué qui décide quel processus lui sera affecté u Ce programme est parfois appelé gestionnaire de tâches, task manager, etc. u Nous l’appellerons ordonnanceur UCT Ch. 4 11

Diagramme de transition d`états d`un processus Ch. 4 Ordonnanceur = angl. 12

Diagramme de transition d`états d`un processus Ch. 4 Ordonnanceur = angl. 12

États Nouveau, Terminé: n Nouveau u Le SE a créé le processus a construit

États Nouveau, Terminé: n Nouveau u Le SE a créé le processus a construit un identificateur pour le processus F a construit les tableaux pour gérer le processus F u mais ne s’est pas encore engagé à exécuter le processus (pas encore admis) F u n La file des nouveaux travaux est souvent appelée spoule travaux (job spooler) Terminé: u Le processus n’est plus exécutable, mais le SE est encore en train de nettoyer ses données F Ch. 4 pas encore alloué des ressources ‘zombie’ en Unix-Linux 13

Transitions de processus n Prêt Exécution u Les processus prêts attendent dans une file

Transitions de processus n Prêt Exécution u Les processus prêts attendent dans une file F Ils sont prêts à exécuter sur une UCT u Quand une UCT se libère, l’ordonnanceur UCT choisit un processus pour exécution sur l’UCT F Ch. 4 Chapitre 6 14

Transitions de processus n n Ch. 4 Exécution Attente u Le processus a demandé

Transitions de processus n n Ch. 4 Exécution Attente u Le processus a demandé un service du SE, tel que F une E/S F une instruction d’attente pour un temps F une demande de ressources F une demande de communication avec un autre processus Attente Prêt u l’événement attendu s’est produit F fin d’E/S F le temps d’attente est passé F la ressource demandée a été octroyée F la communication avec l’autre proc est complétée 15

Transitions de processus n Exécution Prêt u Préemption: Résultat d’une interruption causée par un

Transitions de processus n Exécution Prêt u Préemption: Résultat d’une interruption causée par un événement indépendant du processus F le processus exécutant perd l’UCT car il faut traiter une interruption quelconque, p. ex. : • Terminaison d’E/S (probabl. pour un autre processus) • Le processus à épuisé son temps d’UCT (minuterietemporisation) • Un autre processus prêt devient urgent et doit être exécuté • Une action quelconque d’un usager ou d’une périphérique Ch. 4 16

Différence importante n n Ch. 4 Les transitions exécution attente sont causées par une

Différence importante n n Ch. 4 Les transitions exécution attente sont causées par une requête du processus lui-même u Le processus perd l’UCT et doit attendre pour sa propre décision Les transitions exécution prêt sont causées par des interruptions indépendantes du processus u Le processus perd l’UCT pour décision d’autres 17

Transitions d’états et interruptions n n Ch. 4 Toutes les transitions d’états de processus

Transitions d’états et interruptions n n Ch. 4 Toutes les transitions d’états de processus causent, ou sont causées par, des interruptions Exercice: réfléchissez sur ce point pour chaque transition d’état 18

Effets pour autres processus n n Ch. 4 Dans un système dans lequel plusieurs

Effets pour autres processus n n Ch. 4 Dans un système dans lequel plusieurs processus sont actifs, le fait qu’un processus exécute une transition peut causer une autre transition dans un autre processus Exercice: déterminer quelles transitions d’un processus peuvent causer une autre transition dans un autre processus 19

Point de réflexion n Le diagramme de transition d’états suivant serait approprié dans certaines

Point de réflexion n Le diagramme de transition d’états suivant serait approprié dans certaines situations – Lesquelles? Nouveau Ch. 4 Exécutio n Attente Terminé 20

Commutation de processus et Process Control Block Ch. 4 21

Commutation de processus et Process Control Block Ch. 4 21

Sauvegarde d’informations de processus n n n Ch. 4 Un processus exécute sur une

Sauvegarde d’informations de processus n n n Ch. 4 Un processus exécute sur une UCT de façon intermittente Chaque fois qu’un processus reprend l’UCT (transition prêt exécution) il doit la reprendre dans la même situation où il l’a laissée (même contenu de registres UCT, etc. ) Donc au moment où un processus sort de l’état exécution il est nécessaire de sauvegarder ses informations essentielles, qu’il faudra récupérer quand il retourne à cet état 22

PCB = Process Control Block: Représente la situation actuelle d’un processus, pour le reprendre

PCB = Process Control Block: Représente la situation actuelle d’un processus, pour le reprendre plus tard Registres UCT Ch. 4 23

Process Control Block (PCB) IMPORTANT u pointeur: les PCBs sont rangés dans des listes

Process Control Block (PCB) IMPORTANT u pointeur: les PCBs sont rangés dans des listes enchaînées (à voir) u état de processus: prêt, exec, attente… u compteur programme: le processus doit reprendre à l’instruction suivante u autres registres UCT F registres d’adresses etc. u bornes de mémoire u fichiers qu’il a ouvert u Etc. Ch. 4 24

Commutation de processeur Aussi appélé commutation de contexte ou context switching n Ch. 4

Commutation de processeur Aussi appélé commutation de contexte ou context switching n Ch. 4 Quand une UCT passe de l’exécution d’un processus 0 à l’exécution d`un proc 1, il faut u mettre à jour et sauvegarder le PCB de 0 u reprendre le PCB de 1, qui avait été sauvegardé avant u remettre les registres d’UCT tels que le compteur d’instructions etc. dans la même situation qui est décrite dans le PCB de 1 25

Commutation de processeur (context switching) Quel peut être l’état de P 0 dans cet

Commutation de processeur (context switching) Quel peut être l’état de P 0 dans cet intervalle? Ch. 4 On reviendra enfin à P 0 26

Rôle du matériel et du logiciel dans la commutation de contexte MATÉRIEL Signal d’interruption

Rôle du matériel et du logiciel dans la commutation de contexte MATÉRIEL Signal d’interruption généré UCT termine l’instruction courante et détecte interruption Registres d’UCT sont sauvegardés dans la pile des interr. UCT saute à l’adresse trouvée dans le vecteur d’interruption LOGICIEL Infos sauvegardées dans PCB * Le code de traitement de l’interruption est exécuté L’ordonnanceur choisit un processus P 1 qui est prêt Les infos relatives à P 1 sont rétablies à partir de son PCB Les registres d’UCT sont rechargés dispatcher avec ces infos * L’UCT reprend l’exec de P 1 * Ch. 4 Cette opération peut être aidée par du matériel 27

Files d’attentes de processus Ch. 4 28

Files d’attentes de processus Ch. 4 28

Files d’attente IMPORTANT n n Les ressources d’ordi sont souvent limitées par rapport aux

Files d’attente IMPORTANT n n Les ressources d’ordi sont souvent limitées par rapport aux processus qui en demandent Chaque ressource a sa propre file de processus en attente Quand il y a interruption sur une ressource (pex fin d’E/S) les files permettent aussi de déterminer quel processus doit être notifié En changeant d’état, les processus se déplacent d ’une file à l`autre File prêt: les processus en état prêt=ready u Files associés à chaque unité E/S u etc. u Ch. 4 29

Ce sont les PCBs qui sont dans les files d’attente (dont le besoin d’un

Ce sont les PCBs qui sont dans les files d’attente (dont le besoin d’un pointeur dans le PCB) file prêt Nous ferons l’hypothèse que le premier processus dans une file est celui qui utilise la ressource: ici, proc 7 exécute, proc 3 Ch. 4 utilise disque 0, etc. 30

Une façon plus synthétique de décrire la même situation (pour les devoirs et les

Une façon plus synthétique de décrire la même situation (pour les devoirs et les examens) prêt 7 2 bandmag 0 bandmag 1 disq 0 3 14 6 term 0 5 Ch. 4 31

Les PCBs ne sont pas déplacés en mémoire pour être mis dans les différentes

Les PCBs ne sont pas déplacés en mémoire pour être mis dans les différentes files: ce sont les pointeurs qui changent. term. unit 0 prêt . . . PCB 2 PCB 3 PCB 5 PCB 6 PCB 7. . . PCB 14 4 Ch. 4 disque 0 32

Exercice n Ch. 4 Par rapport à chaque processus dans l’exemple précédent, déterminer quel

Exercice n Ch. 4 Par rapport à chaque processus dans l’exemple précédent, déterminer quel est son état à l’instant 33

Exercice n Comment est modifiée cette structure de données si: u Le proc 7

Exercice n Comment est modifiée cette structure de données si: u Le proc 7 subit une interruption u Le proc 7 demande une écriture sur disque 0 u L’unité disque 0 termine la lecture ou écriture qu’il était en train de faire pour le processus 3 u Etc. , considérez d’autres cas Ch. 4 34

Ordonnanceurs (schedulers) Ch. 4 35

Ordonnanceurs (schedulers) Ch. 4 35

Ordonnanceurs (schedulers) n Programmes qui gèrent l’utilisation de ressources de l`ordinateur u Nous parlerons

Ordonnanceurs (schedulers) n Programmes qui gèrent l’utilisation de ressources de l`ordinateur u Nous parlerons surtout de l’ordonnanceur UCT mais chaque ressource en a un n Trois types d`ordonnanceurs : u À court terme = ordonnanceur processus: sélectionne quel processus doit exécuter la transition prêt exécution u À long terme = ordonnanceur travaux: sélectionne quels processus peuvent exécuter la transition nouveau prêt (événement admitted) (de spoule travaux à file prêt) u À moyen terme: nous verrons Ch. 4 36

Dispatcheur n Programme qui, faisant suite à la décision de l’ordonnanceur, effectue la commutation

Dispatcheur n Programme qui, faisant suite à la décision de l’ordonnanceur, effectue la commutation de contexte u Parfois considéré partie de l’ordonnanceur Ch. 4 37

Ordonnanceur travaux = long terme et ordonnanceur processus = court terme Ordonnanceur travaux Ordonnanceur

Ordonnanceur travaux = long terme et ordonnanceur processus = court terme Ordonnanceur travaux Ordonnanceur processus Ch. 4 38

Ordonnanceurs n n Ch. 4 L`ordonnanceur processus, à court terme, est exécuté très souvent

Ordonnanceurs n n Ch. 4 L`ordonnanceur processus, à court terme, est exécuté très souvent (milli ou nanosecondes) u chaque fois qu’il y a une interruption u doit être très efficace L`ordonnanceur travaux, à long terme doit être exécuté beaucoup plus rarement: il contrôle le niveau de multiprogrammation u Un des ses critères pourrait être la bonne utilisation des ressources de l’ordinateur u P. ex. établir une balance entre travaux liés à l’UCT et ceux liés à l ’E/S 39

Ordonnanceur à moyen terme n Le manque de ressources peut parfois forcer le SE

Ordonnanceur à moyen terme n Le manque de ressources peut parfois forcer le SE à suspendre des processus u ils ne seront plus en concurrence avec les autres pour des ressources u ils seront repris plus tard quand les ressources deviendront disponibles n Ces processus sont enlevés de mémoire centrale et mis en mémoire secondaire, pour être repris plus tard u `swap out`, `swap in` , va-et-vien Ch. 4 40

Swap out, swap in - pour alléger le système Swap in Ch. 4 Swap

Swap out, swap in - pour alléger le système Swap in Ch. 4 Swap suspen out du

Ordonnanceurs à long, court et moyen terme moyen long court Ch. 4 42

Ordonnanceurs à long, court et moyen terme moyen long court Ch. 4 42

Processus coopérants et le tampon borné Ch. 4 43

Processus coopérants et le tampon borné Ch. 4 43

Processus coopérants n n Les processus coopérants peuvent affecter mutuellement leur exécution Avantages de

Processus coopérants n n Les processus coopérants peuvent affecter mutuellement leur exécution Avantages de la coopération entre processus: u partage de l’information u efficacité en faisant des tâches en parallèle u modularité u la nature du problème pourrait le demander F P. ex. gestion d’événements indépendants • Un proc traite le clavier, un autre traite le modem Ch. 4 44

Le pb du producteur - consommateur n Un problème classique dans l’étude des processus

Le pb du producteur - consommateur n Un problème classique dans l’étude des processus communicants u un processus producteur produit des données (p. ex. des enregistrements d ’un fichier) pour un processus consommateur u un pgm d’impression produit des pages -- consommés par une imprimante u un assembleur produit des modules objet qui seront consommés par le chargeur n Ch. 4 Nécessité d’un tampon pour stocker les items produits (attendant d’être consommés 45

Tampons de communication (sections 4. 4 et 4. 5 à voir dans le lab)

Tampons de communication (sections 4. 4 et 4. 5 à voir dans le lab) Prod 1 donn Cons Si le tampon est de longueur 1, le producteur et consommateur doivent forcement aller à la même vitesse Ch. 4 46

Tampons de communication Prod 1 donn Cons Des tampons de longueur plus grande permettent

Tampons de communication Prod 1 donn Cons Des tampons de longueur plus grande permettent une certaine indépendance. P. ex. à droite le consommateur a été plus lent Ch. 4 47

Laisse courte: peu d’indépendance entre homme et chien Laisse longue: plus d’indépendance (Mais à

Laisse courte: peu d’indépendance entre homme et chien Laisse longue: plus d’indépendance (Mais à longue échéance les vitesses sont les mêmes) Ch. 4 48

Le tampon borné (bounded buffer) une structure de données fondamentale dans les SE bleu:

Le tampon borné (bounded buffer) une structure de données fondamentale dans les SE bleu: plein, blanc: libre in: 1ère pos. libre b[0] b[1] b[7] b[2] b[6] b[3] ou b[5] b[4] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] in: 1ère pos. libre out: 1ère pos. pleine Le tampon borné se trouve dans la mémoire partagée entre producteur et consommateur À l’écriture d’une info dans le tampon, le producteur met à jour le pointeur in À la lecture d’une info dans le tampon, le consommateur mette à jour out Si le tampon est plein, le prod devra s’endormir, il sera plus tard réveillé par le consommateur Le rôle du consommateur est symétrique Notez que dans cette simple gestion, in=out peut vouloir dire tampon plein ou tampon vide V. solution plus sophistiquée plus tard Ch. 4 49

Utilisation du concept du tampon borné n n Les tampons bornés sont partout en

Utilisation du concept du tampon borné n n Les tampons bornés sont partout en informatique, et partout dans les SE Les files utilisées dans un SE sont des tampons bornés: ‘pipes’ dans Unix u files d’attente pour ressources: file prêt, files pour imprimante, pour disque, etc. u n n Ch. 4 Les protocoles de communications utilisent des tampons bornés: TCP, et autres Un client communique avec un serveur par des tampons bornés, etc. 50

Difficulté concernant les tampons n n n Ch. 4 Un tampon est partagé entre

Difficulté concernant les tampons n n n Ch. 4 Un tampon est partagé entre deux ou plusieurs processus Il faut s’assurer de synchroniser ces processus par rapport aux processus qui s’en servent, sinon on aura facilement des problèmes u Supposons qu’un processus consommateur cherche à lire des données qu’un producteur n’a pas encore fini d’écrire u Ou que deux processus cherchent à mettre à jour simultanément les indices … Nous verrons une solution dans le chapitre 7 51

Concepts importants du Chapitre 4 n Processus u Création, terminaison, hiérarchie n n n

Concepts importants du Chapitre 4 n Processus u Création, terminaison, hiérarchie n n n États et transitions d’état des processus Process Control Block PCB Commutation de processus u Sauvegarde, rechargement de PCB n n n Files d’attente de processus et PCB Ordonnanceurs à court, moyen, long terme Processus communicants u Producteurs et consommateurs Ch. 4 52

Par rapport au manuel… n n Ch. 4 Tout à étudier à l’exception des

Par rapport au manuel… n n Ch. 4 Tout à étudier à l’exception des sections 4. 5. 6, 4. 5. 7, 4. 6 (tout) Les exemples contenant du code Java et C seront expliqués aux sessions d’exercices 53

MATÉRIAUX SUPPLÉMENTAIRES Ch. 4 54

MATÉRIAUX SUPPLÉMENTAIRES Ch. 4 54

Différentes significations de ‘processus en exécution’ n n Si nous parlons d’ordonnancement d’UCT, un

Différentes significations de ‘processus en exécution’ n n Si nous parlons d’ordonnancement d’UCT, un processus est en exécution quand une UCT l’exécute Si nous parlons d’ordonnancement de travaux, un processus est en exécution s’il a été admis et n’est pas encore terminé et donc il est dans un des états: u Prêt, attente, exécution u Pour ceci, je cherai à utiliser le mot ‘actif’ Ch. 4 55

Une ou plusieurs UCTs n n n Parfois on pourrait parler comme s’il y

Une ou plusieurs UCTs n n n Parfois on pourrait parler comme s’il y avait une seule UCT par ordi C’était la situation jusqu’à quelques années Aujourd’hui les ordis ont plusieurs UCTs Quand un processus est prêt à être exécuté, il est assigné à une UCT disponible Cependant certaines UCT pourraient être réservées à certains types de travaux u Ch. 4 P. ex. une ou plusieurs pourraient être réservées aux opérations d’E/S 56

Différences dans la logique? n n Ch. 4 Dans un magasin la logique d’exécution

Différences dans la logique? n n Ch. 4 Dans un magasin la logique d’exécution avec un seul caissier est la même qu’avec plusieurs caissiers La logique d’un SE ne change pas qu’il y ait une ou plusieurs UCT 57

Unité Centrales et ‘cœurs’ n n Dans les ordis récents, on a normalement plusieurs

Unité Centrales et ‘cœurs’ n n Dans les ordis récents, on a normalement plusieurs unités capables chacune d’exécuter des instructions dans une seule puce: elles sont appelées ‘cœurs’ Chacun de ces cœurs pourrait être traité de différentes manières u Comme UCT à part entière u Ou seulement pour exécuter des séquences d’instructions indépendantes quand elles se présentent sous contrôle du matériel ou logiciel Ch. 4 58

Tas et pile: Implications pour la sécurité n n n Ch. 4 Les concepts

Tas et pile: Implications pour la sécurité n n n Ch. 4 Les concepts de ‘tas’ et ‘pile’ (heap and stack) sont importants dans la sécurité Certains types d’attaques sont basés sur l’idée d’y introduire des informations truquées P. ex. y injecter des adresses de retour qui dirigent l’exécution du processus vers un programme malveillant 59

Terminologie n Tampon = anglais buffer u Zone de mémoire contenant des informations en

Terminologie n Tampon = anglais buffer u Zone de mémoire contenant des informations en transfert F P. ex. informations qui viennent d’être lues d’une périphérique et sont en attente de traitement F Ou informations qui sont prêtes pour la sortie F Ou informations préparées par un processus pour un autre u On peut avoir une zone tampon pour le disque, pour l’imprimante, etc. Ch. 4 60

Questions de révision 1 n n Ch. 4 Dessiner le système de transitions d’états

Questions de révision 1 n n Ch. 4 Dessiner le système de transitions d’états des processus Expliquer les raisons qui peuvent causer chaque transition dans le diagramme Quelles transitions d’états d’un processus peuvent causer des transitions d’un autre processus Quels sont les données principales qui sont stockées dans un Process Control Block PCB 61

Questions de révision 2 n n Quelle est la différence entre ordonnanceur et répartiteur

Questions de révision 2 n n Quelle est la différence entre ordonnanceur et répartiteur (dispatcher) Expliquer brièvement les fonctions de chaque: u Ordonnanceur à court terme u Ordonnanceur à moyen terme u Ordonnanceur à long terme n Comprendre la structure des files d’attente des PCBs pour une situation donnée u Étant donné une certaine structure et un événement, quelle est la structure résultante Ch. 4 62

Structure de la mémoire des processus Ch. 4 63

Structure de la mémoire des processus Ch. 4 63

Le PCB n ’est pas la seule information à sauvegarder. . . (le manuel

Le PCB n ’est pas la seule information à sauvegarder. . . (le manuel n’est pas clair ici) n n n Ch. 4 Il faut aussi sauvegarder l’état des données du programme Ceci se fait normalement en gardant l’image du programme en mémoire primaire ou secondaire (RAM ou disque) Le PCB pointera à cette image 64

La pile d’un processus (v. Stallings App. 1 B) aussi à sauvegarder n n

La pile d’un processus (v. Stallings App. 1 B) aussi à sauvegarder n n n Ch. 4 Quand un processus fait appel à une procédure, à une méthode, etc. , il est nécessaire de mettre dans une pile l’adresse à laquelle le processus doit retourner après avoir terminé cette procédure, méthode, etc. Aussi on met dans cette pile les variables locales de la procédure qu’on quitte, les paramètres, etc. , pour les retrouver au retour Chaque élément de cette pile est appelé stack frame ou cadre de pile Donc il y a normalement une pile d’adresses de retour après interruption et une pile d’adresses de retour après appel de procédure u Ces deux piles fonctionnent de façon semblable, mais sont indépendantes Les informations relatives à ces piles (base, pointeur…) doivent aussi être sauvegardées au moment de la commutation de contexte 65

La Pile d’un processus P Appel A A Appel B B Données A Données

La Pile d’un processus P Appel A A Appel B B Données A Données P PILE Ch. 4 66

Pointeurs de pile processus à sauvegarder: base et borne pointeur de borne cadre 4

Pointeurs de pile processus à sauvegarder: base et borne pointeur de borne cadre 4 cadre 3 cadre 2 Ch. 4 cadre 1 pointeur de base La pile fait normal. partie de l’image du programme, mais les pointeurs sont souvent des registres d’UCT donc il sont 67

Configuration typique de mémoire pour un proce Pile Mémoire libre Tas pour structures dynamiques

Configuration typique de mémoire pour un proce Pile Mémoire libre Tas pour structures dynamiques (listes) Données fixes programme Ch. 4 68

Le rôle du système d’exécution n Ch. 4 Cependant ces mécanismes ne sont pas

Le rôle du système d’exécution n Ch. 4 Cependant ces mécanismes ne sont pas une préoccupation du SE Ils sont gérés par le système d’exécution du langage utilisé Le SE sauvegarde toutes les informations comme partie de l’espace de mémoire et des registres du processus 69

Trois structures de données essentielles pour la gestion des processus Les structures de données

Trois structures de données essentielles pour la gestion des processus Les structures de données suivantes sont reliées mais distinctes dans leur utilisation et contenu n Pile propre à chaque processus pour gérer les appelsretours aux procédures, méthodes, fonctions etc. n Pile du SE pour gérer les interruptions et retours des interruptions n Liste des PCBs actifs dans le système à un moment donné, est partitionnée en plusieurs listes d’attente, une pour chaque ressource qui peut être affectée à un proc Pour chacune de ces piles ou listes on doit sauvegarder des informations pour pouvoir retourner n à la bonne place n du bon processus n avec le bonnes données après avoir fait d’autres traitements Ch. 4 70

Ces structures sont différentes! n n n Ch. 4 Pile propre à chaque processus

Ces structures sont différentes! n n n Ch. 4 Pile propre à chaque processus pour gérer les appels-retours aux procédures, méthodes, fonctions etc. u Cette pile doit exister dans tout système qui admet ces appels, même si le système n’admet ni les interruptions, ni la multiprogrammation u Elle est gérée par le système d’exécution du programme compilé Pile du SE pour gérer les interruptions et retours des interruptions u Cette pile doit exister dans tout système qui admet des interruptions, même s’il n’admet pas de multiprogrammation u Elle est gérée directement par le matériel Liste des PCBs actifs dans le système u Nécessaire pour la multiprogrammation u Elle est gérée par le SE 71

Exemple: Unix SVR 4 (pas sujet d’examen) Un SE avec ordonnacement à moyen terme

Exemple: Unix SVR 4 (pas sujet d’examen) Un SE avec ordonnacement à moyen terme Ch. 4 72

États de processus dans UNIX SVR 4 (Stallings) Un exemple de diagramme de transitions

États de processus dans UNIX SVR 4 (Stallings) Un exemple de diagramme de transitions d’états pour un SE réel Kernel, user mode = monitor, Ch. 4 user mode 73

UNIX SVR 4 États Created Nouveau Zombie Terminé User running Exécute en mode usager

UNIX SVR 4 États Created Nouveau Zombie Terminé User running Exécute en mode usager Kernel running Exécute en mode superviseur Ready in memory Prêt en mém centrale Asleep in memory En attente en mém centrale Ready swapped Prêt en mém secondaire Asleep swapped En attente, mém secondaire Preempted Par un proc + prioritaire Ch. 4 74