• Aucun résultat trouvé

C r C r éé at io n de p ro ce ss us at io n de p ro ce ss us

N/A
N/A
Protected

Academic year: 2022

Partager "C r C r éé at io n de p ro ce ss us at io n de p ro ce ss us"

Copied!
8
0
0

Texte intégral

(1)

1

Pr oc es su s Pr oc es su s

Auteur :Auteur :Luigi LogrippoLuigi Logrippo––http://w3.uqo.ca/http://w3.uqo.ca/luigiluigi Modifications :Modifications :Nicolas GorseNicolas Gorse––http://http://wwwwww--etud.iro.umontreal.caetud.iro.umontreal.ca/~/~gorsengorsen

Pr oc es su s Pr oc es su s et te rm in ol og ie et te rm in ol og ie

(aussi appel(aussi appelééjob,job,tasktask, user , user programprogram))

Concept de processus: un programme en exécution Posde des ressources de mémoire, péripriques, etc Ordonnancement de processus Opérations sur les processus Processus coopérants Processus communicants 3

C r C r éé at io n de p ro ce ss us at io n de p ro ce ss us

Les processus peuvent créer d’autres processus, formant une hiérarchie (instructionfork()ou semblables)

Te rm in ai so n de p ro ce ss us Te rm in ai so n de p ro ce ss us

Un processus exécute sa dernière instruction pourrait passer des données àson parent ses ressources lui sont enlevées Le parent termine l’exécution d’un fils (avortement) pour raisons différentes le fils a excédéses ressources le fils n’est plus requis etc.

(2)

5

A rb re d e pr oc es su s en U N IX A rb re d e pr oc es su s en U N IX

6

ta t de p ro ce ss us IM P O R T A N T ÉÉ ta t de p ro ce ss us IM P O R T A N T

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

D ia gr am m e de tr an si tio n d` D ia gr am m e de tr an si tio n d` éé ta ts d `u n pr oc es su s ta ts d `u n pr oc es su s

Ordonnanceur = angl. scheduler8

ÉÉ ta ts N ou ve au , T er m in ta ts N ou ve au , T er m in éé ::

Nouveau Le SE a céle processus a construit un identificateur pour le processus a construit les tableaux pour rer le processus mais ne s’est pas encore engaàexécuter le processus (pas encore admis) pas encore allodes ressources La file des nouveaux travaux est souvent appelée spoule travaux(job spooler) Terminé: Le processus n’est plus exécutable, mais ses données sont encore requises par le SE (comptabili, etc.)

(3)

9

Tr an si tio ns e nt re p ro ce ss us Tr an si tio ns e nt re p ro ce ss us

Prêt →→→→Exécution Lorsque l’ordonnanceurUCT choisit un processus pour exécution Exécution→→→→Prêt Résultat d’une interruption causée par un événement indépendant du processus Il faut traiter cette interruption, donc le processus courant perd l’UCT Cas important: le processus àépuison intervalle de temps (minuterie)

Tr an si tio ns e nt re p ro ce ss us Tr an si tio ns e nt re p ro ce ss us

Exécution→→→→Attente Lorsqu’un processus fait requête d’un servi du SE que le SE ne peut offrir immédiatem (interruption causée par le processus lui-même) un accès àune ressource pas encore dispo initie une E/S: doit attendre le résultat a besoin de la réponse d’un autre processu Attente→→→→Prêt lorsque l'événement attendu se produit 11

Sa uv eg ar de d Sa uv eg ar de d ’’ in fo rm at io ns p ro ce ss us in fo rm at io ns p ro ce ss us

En multiprogrammation, un processus exécute sur l’UCTde façon intermittente Chaque fois qu’un processus reprend l’UCT (transition pt →→→→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

PC B = PC B = Pr oc es s Pr oc es s C on tr ol B lo ck : C on tr ol B lo ck :

ReprRepréésente la situation actuelle dsente la situation actuelle d’’un processus, pun processus, p le reprendre plus tardle reprendre plus tard Registres

(4)

13

Pr oc es s Pr oc es s C on tr ol B lo ck (P C B ) C on tr ol B lo ck (P C B ) IM P O R T A N T IM P O R T A N T

pointeur: les PCBssont rangés dans des listes enchaînées (àvoir) état de processus: ready, running, waiting… compteur programme: le processus doit reprendre àl’instruction suivante autres registres UCT bornes de mémoire fichiers qu’il a ouvert etc. 14

C om m ut at io n de p ro ce ss eu r C om m ut at io n de p ro ce ss eu r

AussiAussiappappéélléécommutation de contexte oucommutation de contexte oucontextcontextswitchingswitching Quand l’UCTpasse de l’exécution d’un processus0àl’exécution d’un proc1, il faut mettre àjour le PCB de 0 sauvegarder le PCB de 0 reprendre le PCB de 1, qui avait été sauvegardéavant remettre les registres d’UCT, compteur d’instructions etc. dans la même situation qui est décrite dans le PCB de 1 15

C om m ut at io n de p ro ce ss eu r ( C om m ut at io n de p ro ce ss eu r ( co nt ex t co nt ex t sw itc hi ng sw itc hi ng ))

Il se peut que beaucoup de temps passe avant le retour au processus 0, et que beaucoup d’autres soient ecus entre temps 16

L e P C B n L e P C B n

es t p as la s eu le in fo rm at io n ’’ es t p as la s eu le in fo rm at io n àà

sa u ve g ar d er ... sa u ve g ar d er ...

Il faut aussi sauvegarder l’état des données du programme Ceci se fait normalement en gardant l’image du programmeen mémoire primaire ou secondaire Le PCB pointera àcette image

(5)

17

La p ile d La p ile d ’’ un p ro ce ss us un p ro ce ss us

aussi aussi ààsauvegardersauvegarder 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 aps 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 ément de cette pile est appestackframeou cadre de pile Donc il y a normalement une pile d’adresses de retour aps interruptionetune pile d’adresses de retour aps appel de procédure Ces deux piles fonctionnent de façon semblable, mais sont normalement séparées Les informations relatives àces piles (base, pointeur…) doivent aussi être sauvegardées au moment de la commutation de contexte

La P ile d La P ile d ’’ un p ro ce ss us un p ro ce ss us

A B Appel AAppel B PILE

Dones

Dones Dones

P 19

Po in te ur s de p ile Po in te ur s de p ile àà sa uv eg ar de r: b as e et b or ne sa uv eg ar de r: b as e et b or ne

cadre 1

cadre 2

cadre 3

cadre 4 pointeur de base

pointeur de borne La pile fait normal. partie de l’image du programme, mais les pointeurs sont normal. des registres donc il sont sauvegardés

R ôl e du m at R ôl e du m at éé rie l e t d u lo gi ci el d an s le tr ai te m rie l e t d u lo gi ci el d an s le tr ai te m

dd ’’

in te rr up tio ns in te rr up tio ns

MATÉRIELLOG Signal d’interruption UCT termine l’instruction courante et détecte interruption Registres d’UCTsont sauvegars dans une pile UCT trouve l’adresse de la proch. instruct. dans le vecteur d’interruption Infos additionnelles sauvegares Le code de traitement de l’interruption est ecu L’ordonnanceur choisit un nouveau processus àexécuter Les registres d’UCTsont rechars avec ce qu’on avait sauvegardé pour ce processus, qui reprend l’exécution

Toutes les infos relatives au nouveau processus sonttablies

(6)

21

Fi le s d Fi le s d ’’ at te nt e at te nt e IM P O R T A N T IM P O R T A N T

Les ressources d’ordinateur sont souvent limitées par rapport aux processus qui en demandent Chaque ressource a sa propre file de processus en attente En changeant d’état, les processus se déplacent d’une file àl’autre File prêt: les processus en état prêt=ready Files associés àchaque unitéE/S etc. 22

O rd on na nc eu rs ( O rd on na nc eu rs ( sc he du le rs sc he du le rs ))

Programmes qui gèrent l’utilisation de ressources de l`ordinateur Trois types d`ordonnanceurs : Àcourt terme =ordonnanceur processus: sélectionne quel processus doit exécuter la transition prêt →exécution À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) Àmoyen terme: nous verrons 23

O rd on na nc eu r t ra va ux = lo ng te rm e O rd on na nc eu r t ra va ux = lo ng te rm e et o rd on na nc eu r p ro ce ss us = c ou rt te rm e et o rd on na nc eu r p ro ce ss us = c ou rt te rm e

Ordonnanceur travaux Ordonnanceur processus 24

O rd on na nc eu rs O rd on na nc eu rs

L’ordonnanceuràcourt terme est exécuté très souvent (millisecondes) doit être très efficace L’ordonnanceuràlong terme doit être exécutébeaucoup plus rarement: il contrôle le niveau de multiprogrammation doit établir une balance entre travaux liés à l’UCT et ceux liés àl’E/S de façon que les ressources de l’ordinateur soient bien utilisées

(7)

25

O rd on na nc em en t d e pr oc es su s O rd on na nc em en t d e pr oc es su s

(court terme)(court terme) DisponibilitéRess.

O rd on na nc eu r O rd on na nc eu r àà m oy en te rm e m oy en te rm e

Le manque de ressources peut parfois forcer le SE àsuspendredes processus ils seront plus en concurrence avec les autr pour des ressources ils seront repris plus tard quand les ressourc deviendront disponibles Ces processus sont enlevés de mémoire centrale et mis en mémoire secondaire, pour être repris plus tard `swap out`, `swap in`, va-et-vien 27

O rd on na nc eu rs O rd on na nc eu rs àà co ur t co ur t et et m oy en m oy en te rm e te rm e

court

moyen

ta ts d e pr oc es su s da ns U N IX S VR 4 ÉÉ ta ts d e pr oc es su s da ns U N IX S VR 4

Un exemple de diagramme de transitions dtats pour un SE rUn exemple de diagramme de transitions d’é’états pour un SE rééelel

(8)

29

Pr oc es su s co op Pr oc es su s co op éé ra nt s ra nt s

Les processus coopérants peuvent affecter mutuellement leur exécution Avantages de la coopération entre processus: partage de l’information vitesse en faisant des tâches en parallèle modularité la nature du problème pourrait le demander 30

Le Le

pbpb

du p ro du ct eu r du p ro du ct eu r -- co ns om m at eu r co ns om m at eu r

Un problème classique dans l’étude des processus communicants un processusproducteurproduit des données (p.ex.des enregistrements d’un fichier) pour un processus consommateur un pgmd’impression produit des caractères consommés par une imprimante un assembleur produit des modules objet qui seront consommés par le chargeur Nécessitéd’untamponpour stocker les items produits (attendant d’être consommés 31

Ta m po ns d e co m m un ic at io n Ta m po ns d e co m m un ic at io n

Prod Cons

1 donn

Prod Cons

1 donn1 donn1 donn Si le tampon est de longueur 1, le producteur et consommateur doivent forcement aller àla même vitesse Des tampons de longueur plus grandes permettent une certaine inpendance. P.ex. àdroite le consommateur a éplus lent 32

Le ta m po n bo rn Le ta m po n bo rn éé

((bo undedboundedbufferbuffer))

une structure de donnune structure de donnéées fondamentale dans les SEes fondamentale dans les SE b[0]b[1] b[7]b[2] b[6]b[3] b[4]b[5]

o u

out: 1ère pos. pleine in: 1ère pos. libreb[0]b[1]b[7]b[2]b[6]b[3]b[4]b[5] in: 1ère pos. libre

out: 1ère pos. pleine Bleu = plein, Blanc = libre

Le tampon bornése trouve dans la mémoire partagée entre consommateur et usager

Références

Documents relatifs

[r]

Similairement au problème des cinq philosophes, il suffit d’ajouter des mécanismes permettant de contrôler l’accès àla ressource de façon àce que La demande d’accès au

Nous n'avons pas à nous occuper, dans cette étude, des corps organiques; les métaux, et parmi eux ceux qui sont employés dans la fabrication de l'horlogerie, sollicitant seuls

Perret B. fils, fabricant Ecole commercial d'horlogerie. Lambert el Maret Achille Lambert, suc. fournitures Guillod et Schuhmacher, fabt. Cavin et fils Fritz, fabt., de fraises

L'idée qu'en vue de la prochaine exposition universelle de Chicago les émigrants peuvent actuellement obtenir avec facilité, dans cette ville, du travail rémunérateur sous diverses

Le comité central de la Fédération ouvrière suisse a donné pour mission, au secrétariat ouvrier suisse, d'ouvrir une enquête sur les conséquences de la crise quant aux

Comme règle géné- rale, elle assure dans chacun des deux pays le traitement national aux ressortissants de l'autre pays (art. 1) ou aux ressortissants d'autres Etats qui

Aucun dossier ne sera accepté au-delà de la date limite d’inscription. (Cachet de la poste