0% ont trouvé ce document utile (0 vote)
64 vues10 pages

Chap4 SE

Transféré par

Siwar Belhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
64 vues10 pages

Chap4 SE

Transféré par

Siwar Belhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Systémes d’exploitation Chapitre 4 Gestion des processus Souhell Ben Ayod Ecole Nationale d'Ingéniours de Sousse (ENISO) Université de Sousse Département Informatique ndustiale année Génie Telacoms Embarquée 2020-2021 Processus Un processus est (une abstraction d’) un programme en cours d’exécution. Correspond a l'exécution des taches par le systme d'exploitation. Les programmes des utilisateurs Des programmes qui déclenchent d'autres programmes Les programmes systémes Un processeur n’exécute a la fois qu'un seul processus. Processus Systémes multi-taches — Alterner entre lexécution de plusieurs processus Systémes multi-coeurs/multi-processeurs — Exécute plusieurs processus en méme temps Les processus partagent laccés a différents ressources — Processeur — Mémoire — Périphériques Processus La vitesse de traitement d'un processus n'est pas uniforme. — Non-reproductible si on exécute le processus une autre fois. Un processus # programme Un seul programme peut nécessiter plusieurs processus pour son exécution. Multiprogrammation Uncomptur 1 scompieus mae sae ' A ' } | SEE : LEA c i ‘Sans muliprogrammation: | Avecla multiprogrammation: | Un seul processus acti les processus sont le systéme d exploitation (stexécute) ala fois, mais tous fexécutés les uns apres les | bascule entre les processus. | les processus se progressent autres. ' surun intervalle assez long. Un processus Chaque processus est composé d'un espace de travail (espace d'adressage) en mémoire formé de quatre zones, appelées segments: stack — text segment (code): le code machine exécutable du v programe. — ‘stack segment (pile): contient les données 4 temporaires telles que les paramétres de méthode / h fonction, I'adresse de retour et les variables locales. eap — heap segment (tas): mémoire allouée ‘dynamiquement au processus pendant son exécution. data ~ data segment (données): cette section contient le variable globele, text Propriétés d'un processus Un processus est caractérisé par: — Un identificateur/ numéro de processus (PID) — Un état : exécution, suspendu, arrét, ... — Pointeur d'instructions = Pointeur de pile — Ses données en mémoire (espace d'adressage) — Autres informations (fichier ouvert, entrée/sortie, ... Représentation d'un processus Les informations caractéristiques aia [SGT d'un processus sont rangées dans une fiche signalétique (Process ‘Numéro du processus Control Block (PCB) ) permettant Broce PCS) Compteur instructions. au systéme d'exploitation de disposer des informations lies & Registres ce processus. Limite de la mémoire Le syst#me d'exploitation maintien Uste des fichiers ouvert une table des processus pour gérer et controler les différents processus créés. Changement de contexte Processus] | Sittme agioraton Sousa a cans by Le basculement d'un processus a l'autre est géré par le noyau. 1. Suspendre le processus en exécution (Grocessus Py) 2. Mettre & jour le PCB, (PCB du Py) 3. Restaurer le PCB, du processus suivant (PCB, duP,) 4, Reconfigurer Nespace mémoire 5. Démarrerexécution du processus (P,) = eu Fes, Uopération de changement de contexte est généralement décidée et réalisée par 'ordonnanceur. cca] Soest Ft dons CB Processus Etat d'un processus Un processus change d'état quand il s‘exécute. A un instant, un processus peut se trouver dans un des états suivants: — Prét: Le processus est temporairement en attente. Attend d'étre affecté & un processeur ( d'autre processus sont en exécution) — En exécution: Les instructions du processus sont en cours dexécution(en train d'utiliser la CPU) — Bloqué: ne pouvant pas stexécuter ( attente d'un événement externe pour le débloquer ou l'arréter) Etat d'un processus A tout moment, il ne peut étre qu'un seul processus en exécution sur un processeur. Plusieurs processus peuvent étre en états "Préts” et "Bloqués". Si la machine comporte N processeurs identiques, & un instant donné il y a au maximum N processus actif (en cours d'exécution). Etat d'un processus Activer En ( Exécution —suspendre _\ } Détruire Etat d'un processus Lorsque le processus est exécuté, , il devient prét & étre Le SE élire un des processus préts, ce processus pour étre alloué au CPU. Pour un processus en cours d'exécution, trois cas peuvent se présenter: — Le processus se = Le processus est et se remet en état prét. — Le processus est en attente d'un événementet il passe en état de blocage Etat d'un processus Un processus en état de blocage se débloque dés la réception de I'événement attendu en passant : — 8 l'état prét si le CPU est utilisé par un autre processus — ou a l'état d'exécution si le CPU est libre. Un processus peut étre détr des états "Prét" ou "Bloqué”. apartirdel'un Mode d’exécution Le SE offre au moins deux modes d’exécution: Mode utilisateur: accés restreint (pas dacces direct aux périphériques) * Certaines instructions sont interdites . ll peut étte interrompu par autres processus. Mode noysu : acc&s sans restriction (manipulation de la mémoire, dialogue avec les contrOleurs de périphériques, ...) = Les jes permettent a un processus en mode utilisateur d’accéder ( ) a des fonctions nécessitant le mode noyau Appels systemes Des fonctions primitives fournie par le noyau d'un & Utilisée par les programmes s'exécutant dans le mode utilisateur pour accéder temporairement & des fonctions nécessitant le mode noyau. Les appels systémes permettent de contréler de facgon sécurisée les applications dans |'espace utilisateur. Fin de processus Un processus est terminé par l'un des événements suivants: Sortie normale b + leprocessusa terminé de sexéeutr Appel sistime ess UN) Sortie avec erreur ( ) + le processus a torminé suite 3 une erreur (ex. division par 0, demande Vacebs a une resource inexistante, ..) le (involontaire) : + Ex. mauvais parametres de lexécution, Bogue dans le programme us (involontaire}: + en UNIX appel systime Kill Les interruptions Arrét temporaire (suspendre) du déroulement séquentiel (exécution normale) d'instructions par le processeur pour en exécuter au plus vite une autre. Une interruption du processeur est un signal envoyé au processeur qui permet jerrompre un programme en coursd'exécution — Gérer les événements prioritaires. — Utilisation d'une instruction d'E/S Les interruptions matériels Appelé aussi interruption externe. Interruption déclenchée par un périphérique d'E/S pour indiquer qu'une requéte doit étre satisfaite. (IRQ : Interrupt Request) Chaque interruption est attribuge un numéro de priorité Llinterruption ayant le numéro le plus faible est la plus prioritaire. ee] IRQO ovo it ‘RQ cae ‘Roa iste sai (CONDS IFO Irnatace cai (COM) gs Leagan au, Les interruptions logiciels Interruptions internes. Interruptions provoguées par le programmeur. Utliser une instruction qui déclenche une interruption Peut étre de deux types: ‘Appel systimes : Générées volontairement par un processus en exécution (se reduisent 3 un endroit précis du code) — Déroutements : causées géneralement par des erreurs (instructions invaldes, uision par zéro, ereurs d'acces 3 la memoire,..) ‘Au dédenchement d'une interruption logicielle, le processeur arréte Yexécution séquentielle des instructions pour exécuter les instructions diune routine dinterruption (identifiée par un index) Chaque index pointe dans une table de 256 routines (interruptions), appelée vecteur interruption. Ordonnancement Lordonnancement (scheduling) Dans un systéme multitache — Plusieurs processus sont exécuté simultanément. Un processeur ne peut exécuter qu'un processus (instruction) & un instant, ~ Assignation du processeur a un processus en fonction de certains criteres. Lordonnanceurs'occupe de sélectionner le processus a activer parmi ceux qui sont prét. = Optimiser utilisation concurrente du processeur. Ordonnancement File d exécution x Processeur @ Ordonnancement File d'attente: accueillir les processus préts. Ordonnanceur: responsable de lorganisation de la file d'attente des processus (sélection des processus élu) — Unalgorithme d'ordonnancement: applique I'ordonnancement des processus selon une politique et critéres. Dispatcheur (Distributeur): lection de processus — Choix d'un processus lorsqu'il y en a plusieurs. L'ordonnanceur objectif d'un ordonnanceur dans un SE: 1 Utiliser le processeur & 100% Ui Sassurer V'exécution de tous les processus en attente EMinimiser le temps de réponse i Permettre un acces équilibrée aux ressources Prendre en compte des priorités Etre prédictibles Types d'ordonnanceurs @ Ordonnanceurs & c CChoisiun a étre exéauté parm les processus préts — Sélection en fonction dune certaine politique le processus suivant a exdcuter © Ordonnanceurs a long tern = Sdlectionne le processus & admettre dans la file de processus pits = Comtrdle le degré de multiprogrammation (nombre de processus dans la memoir}, 1 Ordonnanceurs @ moyen te — Avantoge = Contrer le degré de multiprogrammation par suppression des processus dela mémoire = Débarquer/rembarquer les processus sur la mémoire Un processus rembarqué dans la mémoire reprend la ou son exéeution stat wrétee Catégories d'ordonnanceurs @ Ordonnanceurs non préemptif ~ LeSEallaue le processeur 8 un processus jusqu’a cequil termine ou qu'il se bloque. — Pas de réquisition ~ FCES, SIF, avec priorité non préempti, ete, @ Ordonnanceurs préemptif ou avec réc — Sassurer qu’aucun processus ne s'extcute pendant une durée trop longue. ~ Ordonnanceur avec horloge pour générer périodiquement une interruption. ~ Achaque interruption le SE décide du processus a sexécuter. — Leprocessus sélectionné s'exécute pendant un délai détermin€. Critéres d’ordonnancement ilisation du CPU: Maintenir le processeur occupé : Quantité de processus terminés par unité apacité de traitement (dét de temps. smps de traitement/séjour/restitu Fexécution d'un processus ~ Intervalle entre lelancement du processus et sa terminalson. © Temps dattente: Somme du temps d'attente dans la file des processus pret, smps de réponse: Vitesse de réponse aux lancement de processus. temps nécessaire pour = Intervae entre lelancement du processus et sa premire exécution Critéres d’ordonnancement nps de séjour moyen: Tsm= — Le temps de sour / nombre de processus ‘Nbr processus Letemps d'attente /nombre de processus. |"A" = Tor processus | Le nombre de processus terminés par unité de temps Débit=—NOr processus _| Temps de traitement ~ Temps d'exéaution des processus sur le temps total foccupation du processeur Premier arrivé, premier servi (FCFS) Premier arrivé, pre! * First Came, First Serve (FES) a pent Sens PATON a = Le plus simple Cater: a ca ™ Les processus sont ordonnancés dans l'ordre de - ae oils diarrivé a l'état prét. = tec ae " La file d'attente des processus préts: FIFO Ps Ps Chaque processus occupe le processeur jusqu'a sa terminaison ou requérant une E/S. 2 a0) Plus court temps de traitement Plus court temps de traitement © Shortest Job First (SIF) exemple; ; ne 3 5 F Donner le diagramme d'exécution n 2 2 = Algorithme favorisant les traitements courts Calculer: n 3 i * inon préemptit = Tonpedtunena open me a = En cas d'égalité, l'ordonnancement FCFS peut étre = Ledabit = . rr utilisé. = = Nécessite la connaissance de la durée de traitement du poh prochain processus = Ce quiest généralement impossible en pratique Tamm = S222 Algorithme de tourniquet (round robin) ® Congu pour le temps partagé = Unalgorithme préemptif ™ Un processus élu s'exécute durant une tranche de temps fixe, appelé quantum. Servir un nombre de processus au bout d'un temps fini. ™ Vlordonnanceur sélectionne le processus qui attend depuis le plus longtemps. Algorithme de round robi Promsus —Anivée —urte Exemple: a ‘Quantum =2 Donner le diagramme d'exécution Calculer: = Temps de séourmoyen Temps daterte moyen 8 ledebe "6 a Ps Le temps restant le plus court (SRT) = Shortest Remaining Time (SRT) = Une version préemptive de I'algorithme SJF ™ A la réception d'un nouveau processus: — Lordonnanceur compare le temps de traitement restant a la durée du nouveau processus. — Le processus ayant le temps de traitement inférieur est exécuté. = L'algorithme SRT favorise les processus courts Le temps restant le plus court (SRT) ‘processus aniee ure Exemple: rt @ 3 Donner le diagramme d'exécution 2 2 2 Calculer: 2 1 = Temps de séjour moyen mo 4 3 Temps d'attente moyen oS i i = Ledebit rs 5 A a Pa | Ps 4] Ps 5 Tt bit tk Tamm = EHS 1.5 veti az Ordonnancement avec priorité ™ Attribuer une priorité 4 chaque processus = Préemptif et non préemptif jon pré f : rangement en file d'attente des processus en fonction des priorités. 2 : a l'arrive d'un processus dans la file diattente, s'il est plus prioritaire que celui en cours d'exécution, il y aura une réquisition du processeur en faveur du processus arrivant. Ordonnancement avec priorité Proms Aerte Durde Exemple: no Prioritéta plus faible est 1 Donner le diagramme d'exéeution Calculer: = Temps de séourmoyen Temps daterte moyen 8 ledebe "6 a pz | Ps pa pa | Ps 15 a - 5 gam =Sttbeaete2 _ 7 66

Vous aimerez peut-être aussi