Cours système d'exploitation

7,570 views
7,371 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,570
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
488
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Cours système d'exploitation

  1. 1. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Références bibliographiques l Leila baccouche, Au cœur des systèmesCours Système d’exploitation d’exploitation ; édition CPU. Tunis 2003 l Silberschatz A. Principes appliqués des systèmes d’exploitations vuibert Paris 99 Niveau : GL2 & IIA2 l Tanenbaum A. Architecture de l’ordinateur, Enseignant : Mona LAROUSSI cours et exercices 4e édition Dunod Paris Bureau : 4 A8-28 2001 E-mail: mona.laroussi@insat.rnu.tn l Mohamed said ouerghi, Principe des systèmes d’exploitation, édition CPU Tunis 2003 http://www.slideshare.net/secret/mXzhZp1rTxohC6Plan Calendrier des Cours l Chapitre 1: Introduction (Matériel, Système d’exploitation) l Chapitre 2: Gestion des processus (ordonnancement, état, l COURS critères, algorithmes, etc.) l Chapitre 3: Communication et synchronisation interprocessus l Le mardi de 8:00 à 9:30 ( GL) (communication, synchronisation, interblocage) l Chapitre 4: Gestion de la mémoire (Partition contiguë, l Le mardi de 9:45 à 11:15 (IIA2) multiprogrammation, pagination, segmentation, etc.) l Chapitre 5: Mémoire virtuelle (pagination et segmentation à la l TD demande) l Chapitre 6: Gestion des systèmes de fichiers (répertoire et nom, l types d’objets, types d’informations, etc.) l Chapitre 7: Gestion de périphériques l Chapitre 8: Sécurité 1
  2. 2. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Chapitre 1: Introduction Ordinateur l Un ordinateur est une machine électronique qui permet lexécution des programmesOrdinateur (cont.) Les composants internes l Un ordinateur est composé au l Un programme est un ensemble moins de : dinstructions qui seront traduites en signaux l processeur électriques l carte mère l La sortie de ces programmes est convertie à l mémoire vive nouveau pour que lutilisateur puisse la l mémoires de masse comprendre l périphériques Hardware X Software 2
  3. 3. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Carte Mère Processeur l Cest le “cerveau” de lordinateur, il contient l Elle relie les différents composants dun différents composants responsables pour ordinateur, à travers un « bus » linterprétation des instructions et le calcul l La carte mère est aussi responsable de contrôler laccès aux différents types dentrée et de sortie La mémoire vive (RAM) Les mémoires de masse l Utiles quand on doit sauvegarder les donnéesl Pour travailler avec plusieurs données, le dune façon persistante (par exemple, quand processeur doit utiliser une mémoire auxiliaire lordinateur est éteint) pour sauvegarder temporairement les données l Disque dur, disquette, Clé USB, CD-ROM, etc. l Plus lentes que la mémoire vivel La mémoire RAM (Random Access Memory) est une mémoire volatile, cest-à-dire quelle ne peut garder des informations que si elle est alimentée électriquement 3
  4. 4. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Les périphériques dentrée et sortie Logiciels (Software) l Les logiciels l Ce sont les composants qui permettent à l le système lordinateur de communiquer avec lextérieur dexploitation (utilisateur ou autre ordinateur) l les applications l Périphériques dentrée : clavier, souris, carte réseau, mémoires de masse, etc. l Périphériques de sortie : écran, imprimante, carte Applications réseau, mémoires de masse, etc. Système d’exploitation HardwareSystèmes dexploitations Abstractionl angl. « Operating System (OS) » l Cacher la complexité des machines pourl Quest-ce que cest? lutilisateur afin dutiliser la machine sans savoir « Programme assurant la gestion de lordinateur et ce qui est derrière de ses périphériques » [www.dicofr.com] l Abstraction du terme « Machine » selon Coy:l A quoi ca sert? l machine réelle = Unité centrale + périphériques l à simplifier la vie des utilisateurs et des programmeurs l machine abstraite = machine réelle + système dexploitation l à gérer les ressources de la machine dune manière efficace l machine utilisable = machine abstraite + application 4
  5. 5. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Exigences à un Système dexploitation et i l i u lds ur a s t gx ei E n e c às Glé ét i a én r à « Faut que ça marche ! » apslsr esrs i l i usl eàas iS mme t et oe u u grr a te r i f a t (comme jen ai envie ...) écu,odéiv3De Cs ,ad DGr De u o 2,ré lé, i à , D , V ar D . .U B .S,- imu )a i t i ( srs i l iàt srul t>l- sn - tr é et ua ue s uiP à « Ça imprime pas ... » srs i l i u et ua t ebàe rê l et e t nx i s e)eiai à iMa n(es l u c mab tei d cl uh é tn =h n oxto slesle ceesupup mpgà nD :el r ea i, f i uéàc i fE elt n ma t o a f b n ve l , aruxu ods r mme gei pE rg nc e oi t niQe n i ds s qu él u fe alduu l ei fmp eras rà Sl ex ca oè sc ii l Poes r u cs ma :nc ei h l Ta meta o ri np r t t e ls ,eh u hié ,s e src i f qipàp oMé i i eé r c ,r , s r e mo p u r nncgucn et orr, as e iap t , r mmu mme oa i nr éx e si l S tmeMu tc e y s tah è s l i - éi f u eooed n tap i è à mp l i ern t mma gd rMo ile s l S tmeMu u tu y s ta r è s l te s ii -ls l S tmeMu p ce r y s t r eu è s l o s s i - as udé c f celota t à i fE s sn a s c i l S tmetmp é l y se sr è s e l S tmed us y st é è s r i s i b à eec nnh Ma dei u ét = 5
  6. 6. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. l U u tu dnepi r n a r on u u te s i l s l s e s cmmad s( « Jobs ») dans une queue o ne déxécution de programmes l Entièrement séquentielle l p.ex. pour faire plusieurs calculs pendant la nuit l p.ex. autoexec.batDéfinitions: Définitions:Systèmes Multi-tache (Multitasking) Systèmes Multi-processeurs l système avec plusieurs processeursl Assurer léxécution de plusieurs l parallèle programmes en meme temps (c-à-d. l vrai multi-tache plusieurs processus) l doit assurer quil y a léxecution dautant de processus que processeurs en meme temps l contrairement: système avec un seul processeur quasi-parallèlel Chaque processus a besoin du l l arreter et reprendre les différentes processus processeur l Gestion avec le « scheduler » (ordonnancement des processus) l situation concurrente l solution: « scheduling »
  7. 7. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Définitions: Définitions: Systèmes Multi-utilisateurs (« time-sharing ») Multi-utilisateurs l permettre a différentes personnes de travailler avec l Login un ordinateur en même temps l connexion par l via le terminal de lordinateur lui-même l Type: l à distance (telnet, ssh, ftp, ...) l Administrateur (« root ») l donner limpression à chaque utilisateur quil est seul l exige une géstion des droits l Groupes l de fichiers (pour éviter la destruction des fichiers etc.) l Utilisateurs l de processus l pour gérer les droits Définitions: Définitions: Systèmes Temps réels Systèmes distribués l Sert pour le pilotage et le contrôle des déroulements l doit permettre léxecution dun seul externes (p.ex. centrale électrique) programme sur plusieurs machines l doit garantir des temps de réactions données pour des signaux extérieur urgents l distribuer les processus et les remettre ensemble l plusieurs systèmes dexploitations ny arrivent pas car linterruption de certaines activités met le système dans l pour gros calculs, p.ex. inversion de grandes un état instable matrices 7
  8. 8. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. SE: Modèle en couches Ingrédients l Gestion de la mémoire Application (Logiciel, p.ex. Microsoft Word) l Gestion des fichiers Gestion des fichiers l Gestion des processus l Gestion des périphériques (entrées/sorties) Gestion des périphériques (entrées/sorties) l Contrôle des péripheriques via « Pilotes » (Driver) Gestion des processus l Quelques logiciels Gestion de la mémoire l Logiciels utilitaires (ls, pwd, format, ...) Noyau du Système d’exploitation l Logiciels dapplication (Bloc-notes, ...) Pilote Pilote Pilote l Logiciels de communication (Internet Explorer, ...) Matériel Historique (avant les Systèmes dExploitations) oi at oess n t i èt s xd py me S l 1945 - 55 : tubes et interrupteurs l C / ( p i 9 4 D il e a h P M d u1 7) it R e r e s ,g a s c oi at oedes n t à i psP xy a lme ètd é fpstc srt a t :65e e a ,osn 1sr roe r is -5 r 5 9 l U I( p i 9 - 9 9 p mi p r NX d u1 6 1 7 ) r e a e s 9 ,e r soà et a tl p n mer ai r t T A& T Tqd éni st cr c :85ss ,g u i 1ui st e ér i -6 0 9 l MS D S( p i 9 1 Miof - d u1 8 ) c o O e s , rt s ei tose atpp,iMu s s/rne arnitt l re t àéoo é g mma mp , rr s g- P fStA&, , n aXnoD x i OeBTe U c r Ss, e I à iv nT i r l MaO ( p i 9 4 A p c S d u1 8) pe e s , l P snetd : 1 Cnl u r 9 ( )psr io --8 or n se a e 0 l Wi o ( p i 9 1 Miof n w d u1 9 ) c o ds e s , rts dat1sré c(tuàafet I )rS9ee oqgc rn of 6v c n a e n 0 r ce , ep ph r i l Lu ( p i 9 2 O eS u e i x d u1 9, p no r n e s ) c bàr sdRsx ui tmeeu é èssé s y te t a i eni i at ome ré t iè> - o etd é c n xy a S- s p ls 8
  9. 9. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. S tmee pit s y s oi è d lo s xt n a l C / ( p i 9 4 D il e a h P M d u1 7) it R e r e s ,g a s c l U I( p i 9 - 9 9 A & NX d u1 6 1 7 ) T T e s 9 , l G o d du d r map s en e q e u t i s s i , sai l as r d mo è pu MS D S e ie d e o r - , v l O dro c ne a rsec b e Wio, . n w. ds l P s eg p me a d r h a s i l Mut h eMuu tus - e t -a r tc i lâ t se it lil l Ee e xmp : l l ac s tn a xf e pr e u , cè aé u c i,é h r e mu i l s i r p q s hs i i l C U8 8 , MH P 08 2 z mé r,r eu . mo p ce r . i o s , e s l 6 K d RM 4O e A l Po cnmé r : uu p g mme reo mo a c n r r tt i i e o a l5 MO d du d r e qe u s i n p ufr p n r yme e e t i at est a lel è e s l y med f e hrr q e st s ec is é c i è s i r ia hu h l c aod Mu h f ll e r y . i p l G I- n os U X Wi w dS tmee pit sy s oi è d lo s xt n a S tmee pit s y s oi è d lo s xt n a l MS D S( p i 9 1 Miof - d u1 8 ) c o O e s , rts l MaO ( p i 9 4 A p c S d u1 8) pe e s , l l p mi G I r e U e r
  10. 10. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Systèmes dexploitations l Wios. 1 n w3 1 d l Linux (depuis 1992), OpenSource l pse a mu c e p s emu u tu d t h ,a l i â d ta r l te s ii -sl l finlandais Linus Thorwald l Wios 5 n w9 d l multi-tâche l Licence GPL (General Public Licence) – l p mi y me2 i r es t 3 b e rs è t OpenSource l Wios 8 n w9 d l Multi-tâche et Multi-utilisateurs l Irt g dn GI n n i r as U t et é e e n e l l Pg P y u & a l l l Distributions l p rè met n os T a le n dwN al Wi l Red Hat l y mee pit r a x st d o i é u s è l o e xt n s a multi-utilisateur l Fedore l Wios0 0 ears n osP n w2 0 , t p Wi wX d è d l S.u.S.e l j a e n y mee pit sé a x t u lg et s t d o i r u e me r s eè l o e xt ns a « stand- l Debian alone » l Mandrake..Modèle en couches Modèle en couches Application (Logiciel, p.ex. Microsoft Word) Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des fichiers Gestion des périphériques (entrées/sorties) Gestion des périphériques (entrées/sorties) Gestion des processus Gestion des processus Gestion de la mémoire Gestion de la mémoire Noyau du Système d’exploitation Noyau du Système d’exploitation Pilote Pilote Pilote Pilote Pilote Pilote Matériel Matériel
  11. 11. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Modèle en couches Chapitre 1. Introduction 1.2 Rappel sur le fonctionnement de lUC Application (Logiciel, p.ex. Microsoft Word) * appel de sous- programme branchement et conservation de ladresse de retour Gestion des fichiers objectif : pouvoir appeler une séquence Gestion des périphériques (entrées/sorties) dinstructions de plusieurs endroits Gestion des processus moyen : conservation de ladresse de retour (= lecture du Gestion de la mémoire CO ) Noyau du Système d’exploitation branchement (= écriture du CO ) Pilote Pilote Pilote Matériel passage de paramètres : convention entre l appelant et lappelé (sys +lg)Chapitre 1. Introduction Chapitre 1. Introduction 1.3 rappels sur les interruptions 1.3 rappels sur les interruptions cycle de lUC avec interruption interruption un agent extérieur ( périphérique ou canal) interrompt lUC pour lui faire exécuter une partie dun autre processus as: adresse sauvegarde CO ai : adresse 1ère instruction à exécuter sur interruption déroutement: IP : booléen vrai ssi interruption présente même technique, mais la commutation est due au IA : booléen vrai ssi traitement interruption autorisé processus en cours ( div par zéro, protection mémoire) 11
  12. 12. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Chapitre 1. Introduction Chapitre 1. Introduction cycle de lUC avec interruption 1.4 rappels sur les E/S répéter E/S = transfert dinformation RI := Mem[CO]; entre mémoire centrale (et/ou UC) et périphérique CO :=CO + 1; éxécuter (RI); si (IP et IA) alors * une instruction de lUC initialise ces transferts début avec adresse mémoire, adresse périphérique, sens, Mem[as] :=CO; longueur (plus ou moins explicitement) CO :=ai; IP := IA := faux; * sur gros ordinateur, un organe autonome le canal fin ; conduit ces transferts et prévient lUC en fin dE/S . jusquà faux; Chapitre 2. Typologie des systèmes Phase 1: Les débuts 2.1 systèmes séquentiels avec E/S synchrones l Au début, on a observé qu`il y avait des 2.2 systèmes séquentiels avec E/S synchrones + fonctionnalités communes à tous les "faux" périphériques programmes 2.3 systèmes séquentiels avec E/S asynchrones l il fallait les pré-programmer et les fournir 2.4 systèmes avec multi-programmation au programmeur à moyen d`instructions 2.5 systèmes multi-processeurs 2.6 systèmes distribués d` appel: l amorçage du système l entrée/sortie 12
  13. 13. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Phase 2: Systèmes de traitement Un ordinateur principal (mainframe)par lots (batch) simples du milieu des annnées ‘60 disques l Sont les premiers SE (mi-50) UCT l L’usager soumet une job à un opérateur (mémoire probablem. rubans autour de 250-500K) l Programme suivi par données l L’opérateur place un lot de plusieurs jobs sur le dispositif de lecture lecteur de cartes console opérateur l Un programme, le moniteur, gère lexécution de chaque programme du lot l Le moniteur est toujours en mémoire et prêt à être exécuté l Les utilitaires du moniteur sont chargés au besoin l Un seul programme à la fois en mémoire, programmes sont exécutés en séquence l La sortie est normalement sur un fichier, imprimante, ruban magnétique… Musée de l’histoire de l’informatique http://www.computerhistory.org/ Opérateur lisant un paquet de Oui, cartes perforées… cartes perforées Une ligne de données ou de programme était codée dans des trous qui pouvaient être lus par la machine Source: http://www.tietokonemuseo.saunalahti.fi/eng/kuva_32_eng.htm Finnish Data Processing Museum Association 13
  14. 14. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Langage de contrôle des travaux (JCL) Langage de contrôle des travaux $JOB (JCL) l Utilisé pour contrôler l ’exec d ’une job l le compilateur à utiliser $FTN l L’E/S est déléguée au moniteur l indiquer où sont les données ... l Chaque instruction d’E/S dans pgm usager l Exemple d’une job: l paquet de cartes comme suit: Programme l $JOB début FORTRAN invoque une routine d’E/S dans le moniteur: l $FTN charge le compilateur FORTRAN et ... l s’assure de ne pas lire une ligne JCL initie son exécution $LOAD l $LOAD charge le pgm objet (à la place du l un usager ne peu pas interférer avec les E/S compilateur) $RUN l $RUN transfère le contrôle au programme ... d`un autre usager… usager Données l Quand le programme usager se termine, la l les données sont lues par le moniteur et passées au progr. usager ... $END prochaine ligne de JCL est lue et exécutée $JOB par le moniteur. ... (job suivant)Le moniteur par lots Caractéristiques désirables du matériel (1) l Lecture de cartes perforées l Interprétation de commandes JCL l Protection de la mémoire l Lecture (load) d’une job (du lecteur de cartes) l ne pas permettre aux pgms usager d’altérer l Chargement en mémoire (dans la région de l’usager) de cette job la région de la mémoire où se trouve le l Transfère le contrôle au programme usager (job sequencing) moniteur Exécution du programme usager jusqu’à: l l fin du programme l Minuterie l E/S l limite le temps qu`une job peut exécuter l erreur l À ce point, le moniteur reprend le contrôle l produit une interruption lorsque le temps est l Pour le redonner plus tard au même écoulé programme ou à un autre programme Stallings 14
  15. 15. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Caractéristiques désirables du matériel (2) Les systèmes par lots l Instructions privilégiées l Ont été les premiers systèmes d`exploitation. l exécutables seulement par le moniteur l Ils sont associés aux concepts suivants: l une interruption se produit lorsqu’un programme usager l langage de contrôle de travaux (JCL) tente de les exécuter l système d ’exploitation résident en mémoire l UCT peut exécuter en mode moniteur ou mode usager l kernel = noyau l Les instructions privilégiées ne peuvent être exécutées que en l protection de mémoire mode moniteur l l ’usager ne peut exécuter que en mode usager l instructions privilégiées l seulement le SE ou une interruption peuvent changer de mode l modes usager-moniteur l Interruptions l interruptions l facilitent le transfert de contrôle entre le système l minuterie d ’exploitation, les opérations d`E/S et les programmes l Toutes ces caractéristiques se retrouvent dans les usagers systèmes d’aujourd’hui l Le mode moniteur sera plus souvent appelé mode l Encore aujourd’hui on parle de jobs ‘par lots’ quand ils superviseur sont exécutés séquentiellement sans intervention humaine Traitement par lotsTraitement par lots multiprogrammé multiprogrammé l Les opérations E/S sont extrêmement l Si la mémoire peut contenir +sieurs lentes (comparé aux autres instructions) pgms, l’UCT peut exécuter un autre l Même avec peu d’E/S, un programme pgm lorsqu’un pgm attend après E/S passe la majorité de son temps à l C’est la multiprogrammation attendre l Donc: pauvre utilisation de l’UCT lorsqu’un seul pgm usager se trouve en mémoire [Stallings] [Stallings] 15
  16. 16. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Plusieurs programmes en mémoire Exigences pour multiprogrammationpour la multiprogrammation l Interruptions l afin de pouvoir exécuter d’autres jobs lorsqu’un job attend après E/S l Protection de la mémoire: isole les jobs l Gestion du matériel l plusieurs jobs prêts à être exécutées demandent des ressources: l UCT, mémoire, unités E/S l Langage pour gérer l’exécution des travaux: interface entre usager et OS l jadis JCL, maintenant shell, command prompt ou semblablesSpoule ou spooling Équilibre de travaux l S`il y a un bon nombre de travaux à exécuter, on peut chercher à obtenir un équilibre l Travaux qui utilisent peu l`UCT, beaucoup l ’E/S, sont appelés l Au lieu d ’exécuter les travaux au fur et à tributaires de l`E/S mesure qu’ils sont lus, les stocker sur l Nous parlons aussi de travaux tributaires de l ’UCT l Le temps d`UCT non utilisé par des travaux trib. de l ’E/S peut une mémoire secondaire (disque) être utilisé par des travaux trib. de l ’UCT et vice-versa. l L ’obtention d`un tel équilibre est le but des ordonnanceurs à long terme et à moyen terme (à discuter). l Puis choisir quels programmes exécuter l Dans les systèmes de multiprog. on a souvent coexistence de travaux longs et pas urgents avec travaux courts et urgents et quand l Le SE donne priorité aux deuxièmes et exécute les premiers l Ordonnanceur à long terme, à discuter quand il y a du temps de machine disponible. 16
  17. 17. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Chaque terminal a sa propre partition dePhase 3: Systèmes à temps partagé (TSS) mémoire Terminaux ‘stupides’ ordinateur principal (mainframe) Systèmes à temps partagéSystèmes à temps partagé (TSS) (TSS) l Le traitement par lots multiprogrammé ne supporte pas l’interaction avec les usagers l Le temps de réponse humain est lent: l excellente utilisation des ressources mais frustration des supposons qu`un usager nécessite, en usagers! moyenne, 2 sec du processeur par minute l TSS permet à la multiprogrammation de desservir plusieurs usagers simultanément d’utilisation l Environ 30 usagers peuvent donc utiliser le l Le temps d ’UCT est partagé par plusieurs usagers système sans délais notable du temps de réaction de l’ordinateur l Les usagers accèdent simultanément et interactivement au système à l’aide de terminaux l Les fonctionnalités du SE dont on a besoin sont les mêmes que pour les systèmes par lots, plus l la communication avec usagers l le concept de mémoire virtuelle pour faciliter la gestion de mémoire 17
  18. 18. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.MULTICS et UNIX Ordinateurs Personnels (PCs) l MULTICS a été un système TSS des l Au début, les PCs étaient aussi simples années 60, très sophistiqué pour son que les premiers ordinateurs époque l Le besoin de gérer plusieurs applications l Ne réussit pas à cause de la faiblesse du en même temps conduit à redécouvrir la matériel de son temps multiprogrammation l Quelques unes de ses idées furent l Le concept de PC isolé évolue reprises dans le système UNIX maintenant vers le concept d ’ordinateur de réseau (network computer), donc extension des principes des TSS. Aujourd’hui Retour aux concepts de TSS Terminaux n Plusieurs PC (clients) peuvent être ‘intelligents’ (PCs)’ desservis par un ordi plus puissant (serveur) pour des services qui sont trop complexes pour eux (clients/serveurs, bases de données, telecom) n Les grands serveurs utilisent beaucoup des concepts développés pour les systèmes TSS ordinateur principal (mainframe ou serveur) 18
  19. 19. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Et puis… Évolution des SE l Systèmes d’exploitation répartis: l Le SE exécute à travers un ensemble de machines qui sont reliées par un réseau l Pas discutés dans ce cours (fig. mise à jour par rapport à votre livre) Systèmes parallèles (tightly Une synthèse historique coupled) Mainframes et grands serveurs Multics et beaucoup d`autres l Le petit coût des puces rend possible (1960s) leur composition dans systèmes Unix Ordinateurs Personnels multiprocesseurs (1970) l Les ordinateurs partagent mémoire, MS-DOS horloge, etc. (1981) Mac/OS (1984) l Avantages: Windows NT Windows l plus de travail fait (throughput) Linux (1988) (1990) Solaris (1995) (1991) l plus fiable: Windows 2000 l dégradation harmonieuse (graceful degradation) Windows XP 19
  20. 20. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Systèmes parallèles Systèmes distribués ( = répartis) l Symétriques l Les réseaux d ’ordinateurs sont en l Tous les UCTs exécutent le même SE pleine émergence... l Elles sont fonctionnellement identiques l Systèmes multiprocesseurs faiblement l Asymétrique couplés (loosely coupled) l Les UCTs ont des fonctionnalités l consistent d ’ordinateurs autonomes, qui différentes, par exemple il y a un maître et communiquent à travers lignes de des esclaves. communication l Aujourd’hui, tout ordinateur puissant est un système parallèle.Systèmes distribués ( = répartis) Systèmes à temps réel l SE répartis l Doivent réagir à ou contrôler des événements externes (p.ex. contrôler une usine). Les l il y a un SE qui fonctionne entre ordinateurs délais de réaction doivent être bornés l l ’usager voit les ressources éloignées l systèmes temps réel souples: comme si elles étaient locales l les échéances sont importantes, mais ne sont pas l SE en réseau (network operating critiques (p.ex. systèmes téléphoniques) systems) fournissent: l systèmes temps réel rigides (hard): l le échéances sont critiques, p.ex. l partage de fichiers (systèmes client- l contrôle d’une chaîne d`assemblage serveur) l graphiques avec animation l patrons de communication (protocoles) l autonomie des ordinateurs 20
  21. 21. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Concepts importants du Chapitre n Processus u Création, terminaison, hiérarchieGestion de Processus n États et transitions d’état des processus n Process Control Block n Commutation de processus Chapitre 3 u Sauvegarde, rechargement de PCB n Files d’attente de processus et PCB n Ordonnanceurs à court, moyen, long terme n Processus communicants u Producteurs et consommateursProcessus et terminologie Création de processus(aussi appelé job, task, user program)l Concept de processus: un programme en l Les processus peuvent créer d’autres exécution processus, formant une hiérarchie l Possède des ressources de mémoire, périphériques, etc (instruction fork ou semblables)l Ordonnancement de processusl Opérations sur les processusl Processus coopérantsl Processus communicants 21
  22. 22. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Terminaison de processus Arbre de processus en UNIX l Un processus exécute sa dernière instruction l pourrait passer des données à son parent l ses ressources lui sont enlevées l Le parent termine l’exécution d’un fils (avortement) pour raisons différentes l le fils a excédé ses ressources l le fils n`est plus requis l etc.État de processus Diagramme de transition d`étatsIMPORTANT d`un processus l Au fur et a mesure qu’un processus exécute, il change d’état l nouveau: le processus vient d ’être créé l exécutant-running: le processus est en train d ’être exécuté par l ’UCT l attente-waiting: le processus est en train d ’attendre un événement (p.ex. la fin d ’une opération d ’E/S) l prêt-ready: le processus est en attente d’être exécuté par l ’UCT l terminated: fin d ’exécution Ordonnanceur = angl. scheduler 22
  23. 23. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.États Nouveau, Terminé: Transitions entre processus l Nouveau l Le SE a créé le processus l Prêt → Exécution l a construit un identificateur pour le processus l a construit les tableaux pour gérer le processus l Lorsque l ’ordonnanceur UCT choisit un l mais ne s’est pas encore engagé à exécuter le processus pour exécution processus (pas encore admis) l Exécution → Prêt l pas encore alloué des ressources l Résultat d’une interruption causée par un l La file des nouveaux travaux est souvent appelée spoule travaux (job spooler) événement indépendant du processus l Il faut traiter cette interruption, donc le l Terminé: processus courant perd l’UCT l Le processus n ’est plus exécutable, mais ses l Cas important: le processus à épuisé son intervalle de données sont encore requises par le SE temps (minuterie) (comptabilité, etc.)Transitions entre processus Sauvegarde d’informations processus l En multiprogrammation, un processus exécute sur l Exécution → Attente l ’UCT de façon intermittente l Lorsqu’un processus fait un appel de l Chaque fois qu’un processus reprend l ’UCT système (interruption causée par le processus lui- (transition prêt → exécution) il doit la reprendre dans même) la même situation où il l’a laissée (même contenu de registres UCT, etc.) l initie une E/S: doit attendre le résultat l Donc au moment où un processus sort de l’état l a besoin de la réponse d’un autre processus exécution il est nécessaire de sauvegarder ses l Attente → Prêt informations essentielles, qu’il faudra récupérer quand l lorsque lévénement attendu se produit il retourne à cet état 23
  24. 24. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.PCB = Process Control Block: Process Control Block (PCB)Représente la situation actuelle d ’un processus, pour lereprendre plus tard IMPORTANT l pointeur: les PCBs sont rangés dans des listes enchaînées (à voir) l état de processus: ready, running, waiting… l compteur programme: le processus doit reprendre à l ’instruction suivante Registres UCT l autres registres UCT l bornes de mémoire l fichiers qu’il a ouvert l etc., v. manuelCommutation de processeur Commutation de processeurAussi appelée commutation de contexte ou context switching (context switching) l Quand l’UCT passe de l’exécution d ’un processus 0 à l ’exécution d`un proc 1, il faut l mettre à jour et sauvegarder le PCB de 0 l reprendre le PCB de 1, qui avait été sauvegardé avant l 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 Il se peut que beaucoup de temps passe avant le retour au processus 0, et que beaucoup d’autres proc soient exécutés entre temps 24
  25. 25. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Le PCB n ’est pas la seule information àsauvegarder La pile d’un processus l Quand un processus fait appel à une procédure, à une méthode, l Il faut aussi sauvegarder l ’état des etc., il est nécessaire de mettre dans une pile l’adresse à laquelle le processus doit retourner après avoir terminé cette procédure, données du programme méthode, etc. l Aussi on met dans cette pile les variables locales de la procédure l Ceci se fait normalement en gardant qu’on quitte, les paramètres, etc., pour les retrouver au retour l Chaque élément de cette pile est appelé stack frame ou cadre de l ’image du programme en mémoire pile primaire ou secondaire (RAM ou disque) l 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 l Le PCB pointera à cette image procédure l Ces deux piles fonctionnent de façon semblable, mais sont indépendantes l Les informations relatives à ces piles (base, pointeur…) doivent aussi être sauvegardées au moment de la commutation de contexte Pointeurs de pile processus àLa Pile d’un processus sauvegarder: base et borne P A B pointeur de borne Appel A Appel B cadre 4 Données B cadre 3 Données A cadre 2 Données P pointeur de base cadre 1 PILE La pile fait normal. partie de l’image du programme, mais les pointeurs sont normal. des registres d’UCT donc il sont sauvegardés dans le PCB 25
  26. 26. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Rôle du matériel et du logiciel dans le traitement d’interruptions Files d’attente IMPORTANT MATÉRIEL LOGICIEL Infos mises à jour et l Les ressources d ’ordinateur sont souvent limitées par sauvegardées dans PCB rapport aux processus qui en demandent Signal d’interruption généré l Chaque ressource a sa propre file de processus en Le code de traitement de attente l’interruption est exécuté UCT termine l’instruction courante l À un moment donné, un proc ne peut se trouver que et détecte interruption dans une seule des différentes files du SE L’ordonnanceur choisit un l En changeant d’état, les processus se déplacent Registres d’UCT sont processus dans la file prêt sauvegardés dans une pile d ’une file à l`autre l File prêt: les processus en état prêt=ready Les infos relatives à ce processus l Files associés à chaque unité E/S UCT saute à l’adresse trouvée dans sont rétablies à partir de son PCB le vecteur d’interruption l etc. dispatcher Les registres d’UCT sont rechargés avec ce qu’on avait sauvegardé dans PCB pour ce processus, qui reprend l’exécutionCe sont les PCBs qui sont dans les files d’attente (dont le Cet ensemble de files inclut donc la table debesoin d ’un pointeur dans le PCB) statut périphériquesfile prêt Nous ferons l’hypothèse que le premier processus dans une file est celui qui utilise la ressource: ici, proc7 exécute, proc3 utilise disque 0, etc. 2 fois la même erreur ici: imprimante devrait être disque 3 26
  27. 27. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Les PCBs ne sont pas déplacés en mémoire pour être mis dans les différentes files:Une façon plus synthétique de décrire la même ce sont les pointeurs qui changent.situation (pour les devoirs et les examens) prêt à 7 à 2 bandmag0 à bandmag1 à term. unit 0 ready disq0 à 3 à 14 à 6 . . . PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 . . . PCB14 term0 à 5 disk unit 0 Ordonnanceur travaux = long termeOrdonnanceurs (schedulers) et ordonnanceur processus = court termel Programmes qui gèrent l ’utilisation de Ordonnanceur travaux ressources de l`ordinateurl Trois types d`ordonnanceurs : l À court terme = ordonnanceur processus: sélectionne quel processus doit exécuter la transition prêt → exécution l À long terme = ordonnanceur travaux: Ordonnanceur processus sélectionne quels processus peuvent exécuter la transition nouveau → prêt (événement admitted) (de spoule travaux à file prêt) l À moyen terme: nous verrons 27
  28. 28. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Ordonnanceurs Ordonnancement de processus (court terme)l L`ordonnanceur à court terme est exécuté très souvent (millisecondes) l doit être très efficacel L`ordonnanceur à long terme doit être exécuté beaucoup plus rarement: il contrôle le niveau de multiprogrammation l Un des ses critères pourrait être la bonne utilisation des ressources de l’ordinateur l P.ex. établir une balance entre travaux liés à l’UCT et ceux liés à l ’E/S Disponibilité Ress.Ordonnanceur à moyen terme Ordonnanceurs à court et moyen terme l Le manque de ressources peut parfois forcer moyen le SE à suspendre des processus l ils seront plus en concurrence avec les autres pour des ressources l ils seront repris plus tard quand les ressources deviendront disponibles l Ces processus sont enlevés de mémoire centrale et mis en mémoire secondaire, pour court être repris plus tard l `swap out`, `swap in` , va-et-vien 28
  29. 29. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.États de processus dans UNIX Processus coopérantsUn exemple de diagramme de transitions d’états pour un SE réel l Les processus coopérants peuvent affecter mutuellement leur exécution l Avantages de la coopération entre processus: l partage de l ’information l efficacité en faisant des tâches en parallèle l modularité l la nature du problème pourrait le demanderKernel, user mode = l P.ex. gestion d’événements indépendantsmonitor, user mode l Un proc traite le clavier, un autre traite le modemLe pb du producteur - consommateur Tampons de communication l Un problème classique dans l ’étude des processus Prod Prod communicants l un processus producteur produit des données (p.ex.des enregistrements d ’un fichier) pour un processus consommateur 1 donn 1 donn 1 donn 1 donn l un pgm d’impression produit des caractères -- consommés par une imprimante l un assembleur produit des modules objet qui seront Cons Cons consommés par le chargeur l Nécessité d’un tampon pour stocker les items produits (attendant d’être consommés 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 indépendance. P.ex. à droite le consommateur a été plus lent 29
  30. 30. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Le tampon borné (bounded buffer) Utilisation du concept du tampon bornéune structure de données fondamentale dans les SE bleu: plein, blanc: libre in: 1ère b[0] b[1] pos. libre b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] l Les tampons bornés sont partout en b[7] b[2] informatique, et partout dans les SE b[6] b[3] ou l Les files utilisées dans un SE sont des in: 1ère out: 1ère b[5] b[4] pos. libre pos. pleine tampons bornés: out: 1ère pos. tampon borné Le pleine se trouve dans la mémoire partagée entre l Files d’attente pour ressources: file prêt, consommateur et usager files pour imprimante, pour disque, etc. À l’écriture d’une nouvelle info dans le tampon, le producteur met à l Les protocoles de communications jour le pointeur in utilisent des tampons bornés: TCP, et Si le tampon est plein, le prod devra s’endormir, il sera plus tard réveillé par le consommateur autres Le rôle du consommateur est symétrique l Un client communique avec un serveur par des tampons bornés, etc. Aperçu du chapitre l Concepts de baseOrdonnancement Processus l Critères d’ordonnancement l Algorithmes d’ordonnancement Chapitre 4 l Ordonnancement de multiprocesseurs l Ordonnancement temps réel l Évaluation d’algorithmes 30
  31. 31. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Files d’attente de processus pour ordonnancement Diagramme de transition d`états d`un processus file prêt Nous ferons l’hypothèse que le premier processus dans une file est celui qui utilise la ressource: ici, proc7 exécuteConcepts de base Les cycles d’un processus l La multiprogrammation vise à obtenir une l utilisation optimale des ressources, surtout l’UCT l et aussi à un bon temps de réponse pour l’usager l L`ordonnanceur UCT est la partie du SE qui décide quel processus dans la file ready/prêt obtient l ’UCT quand elle devient libre l L ’UCT est la ressource la plus précieuse dans un ordinateur, donc nous parlons d’elle l Cependant, les principes que nous verrons l Cycles (bursts) d’UCT et E/S: l’exécution d’un s ’appliquent aussi à l ’ordonnancement des autres processus consiste de séquences d’exécution sur ressources (unités E/S, etc). UCT et d’attentes E/S 31
  32. 32. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Histogramme de durée des cycles UCT Quand invoquer l’ordonnanceur UCT l L ’ordonnanceur UCT doit prendre sa décision chaque fois que le processus exécutant est interrompu, c’e-à.-d. 1. un processus se se présente en tant que nouveau ou se termine 2. un processus exécutant devient bloqué en attente 3. un processus change d’exécutant/running à prêt/ready 4. un processus change de attente à prêt/ready • en conclusion, tout événement dans un système cause une interruption de l’UCT et l’intervention de l’ordonnanceur, l Observation expérimentale: • qui devra prendre une décision concernant quel proc ou thread aura l dans un système typique, nous observerons un grand nombre de court cycles, et un l’UCT après petit nombre de long cycles l Les programmes tributaires de l ’UCT auront normalm. un petit nombre de long l Préemption: on a préemption si on enlève l’UCT à un processus cycles UCT qui l’avait et ne l’a pas laissée de propre initiative l Les programmes tributaires de l’E/S auront normalm. un grand nombre de court l P.ex. préemption dans le cas 3, pas de préemption dans le cas 2 cycles UCT l Plusieurs pbs à résoudre dans le cas de préemption, v. manuelDispatcheur Critères d’ordonnancementl Le processus qui donne le contrôle au l Il y aura normalement plusieurs processus dans la file prêt processus choisi par l’ordonnanceur. Il doit se préoccuper de: l Quand l’UCT devient disponible, lequel choisir? l changer de contexte l Critères généraux: l changer à mode usager l Bonne utilisation de l’UCT l réamorcer le processus choisi l Réponse rapide à l’usagerl Attente de dispatcheur (dispatcher latency) l le temps nécessaire pour exécuter les fonctions du l Mais ces critères peuvent être jugés différemment... dispatcheur l il est souvent négligé, il faut supposer qu’il soit petit par rapport à la longueur d’un cycle 32

×