SlideShare une entreprise Scribd logo

Cours système d'exploitation

1  sur  60
Télécharger pour lire hors ligne
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èmes
Cours 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/mXzhZp1rTxohC6




Plan
                                                                              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
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 l'exécution des programmes




Ordinateur (cont.)
                                                               Les composants internes
                                                           l   Un ordinateur est composé au
  l   Un programme est un ensemble
                                                               moins de :
      d'instructions 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 l'utilisateur puisse la                     l   mémoires de masse
      comprendre                                                   l   périphériques


                Hardware X Software




                                                                                                                2
Generated by Foxit PDF Creator © Foxit Software
                                                          http://www.foxitsoftware.com For evaluation only.




                                                              Carte Mère
    Processeur
    l   C'est le “cerveau” de l'ordinateur, il contient
                                                              l Elle relie les différents composants d'un
        différents composants responsables pour
                                                                ordinateur, à travers un « bus »
        l'interprétation des instructions et le calcul
                                                              l La carte mère est aussi responsable de
                                                                contrôler l'accès aux
                                                                différents types
                                                                d'entrée et de sortie




    La mémoire vive (RAM)                                         Les mémoires de masse
                                                               l   Utiles quand on doit sauvegarder les données
l   Pour travailler avec plusieurs données, le                     d'une façon persistante (par exemple, quand
    processeur doit utiliser une mémoire auxiliaire                l'ordinateur est éteint)
    pour sauvegarder temporairement les données                    l   Disque dur, disquette, Clé USB, CD-ROM, etc.
                                                               l   Plus lentes que la mémoire vive
l   La mémoire RAM (Random Access Memory) est
    une mémoire volatile, c'est-à-dire qu'elle ne peut
    garder des informations que si elle est alimentée
    électriquement




                                                                                                                      3
Generated by Foxit PDF Creator © Foxit Software
                                                                  http://www.foxitsoftware.com For evaluation only.




 Les périphériques d'entrée et sortie                                Logiciels (Software)
                                                                       l    Les logiciels
 l   Ce sont les composants qui permettent à
                                                                            l    le système
     l'ordinateur de communiquer avec l'extérieur
                                                                                 d'exploitation
     (utilisateur ou autre ordinateur)
                                                                            l    les applications
         l   Périphériques d'entré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
                                                                                                             Hardware




Systèmes d'exploitations                                             Abstraction
l   angl. « Operating System (OS) »
                                                                        l   Cacher la complexité des machines pour
l   Qu'est-ce que c'est?                                                    l'utilisateur afin d'utiliser la machine sans savoir
     « Programme assurant la gestion de l'ordinateur 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
                                                                                 d'exploitation
     l   à gérer les ressources de la machine d'une
         manière efficace                                                    l   machine utilisable = machine abstraite +
                                                                                 application




                                                                                                                                   4
Generated by Foxit PDF Creator © Foxit Software
                                                                http://www.foxitsoftware.com For evaluation only.




               Exigences à un Système d'exploitation   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 j'en 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
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.bat




Définitions:                               Définitions:
Systèmes Multi-tache (Multitasking)        Systèmes Multi-processeurs
                                           l   système avec plusieurs processeurs
l Assurer l'éxécution de plusieurs              l   parallèle
  programmes en meme temps (c-à-d.              l   vrai multi-tache
  plusieurs processus)                          l   doit assurer qu'il y a l'éxecution d'autant de processus que
                                                    processeurs en meme temps
                                           l   contrairement: système avec un seul processeur
                                                    quasi-parallèle
l 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 »
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 l'ordinateur lui-même                           l Type:
        l   à distance (telnet, ssh, ftp, ...)
                                                                                    l   Administrateur (« root »)
   l   donner l'impression à chaque utilisateur qu'il 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 d'un 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 d'exploitations n'y arrivent pas car
       l'interruption de certaines activités met le système dans               l   pour gros calculs, p.ex. inversion de grandes
       un état instable
                                                                                   matrices




                                                                                                                                   7
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 d'application (Bloc-notes, ...)
                                            Pilote     Pilote      Pilote                          l   Logiciels de communication (Internet Explorer, ...)
                                                       Matériel




             Historique (avant les Systèmes
             d'Exploitations)                                                         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 :65
e e a ,osn 1
sr r
oe
 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 T
qd éni st cr c :85
ss ,g u i 1
ui 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
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
                                               d




S tmee pit s
y 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
Generated by Foxit PDF Creator © Foxit Software
                                                                        http://www.foxitsoftware.com For evaluation only.




                                                                           Systèmes d'exploitations

  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
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 l'UC
            Application (Logiciel, p.ex. Microsoft Word)            * appel de sous- programme
                                                                    branchement et conservation de l'adresse de retour
                        Gestion des fichiers
                                                                    objectif : pouvoir appeler une séquence
             Gestion des périphériques (entrées/sorties)               d'instructions de plusieurs endroits
                       Gestion des processus                        moyen :
                                                                    conservation de l'adresse 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 l'appelé (sys +lg)




Chapitre 1. Introduction                                       Chapitre 1. Introduction


                                                                  1.3 rappels sur les interruptions
   1.3 rappels sur les interruptions
                                                                  cycle de l'UC avec interruption
   interruption
   un agent extérieur ( périphérique ou canal)
      interrompt l'UC pour lui faire exécuter une partie
      d'un 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
Generated by Foxit PDF Creator © Foxit Software
                                                       http://www.foxitsoftware.com For evaluation only.




Chapitre 1. Introduction                                   Chapitre 1. Introduction


      cycle de l'UC avec interruption                            1.4 rappels sur les E/S
      répéter                                                    E/S = transfert d'information
        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 l'UC 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 l'UC en fin d'E/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
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 l'exé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
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
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 lots
Traitement 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
Generated by Foxit PDF Creator © Foxit Software
                                                   http://www.foxitsoftware.com For evaluation only.




Plusieurs programmes en mémoire                                 Exigences pour multiprogrammation
pour 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
                                                                    semblables




Spoule 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
Generated by Foxit PDF Creator © Foxit Software
                                                                         http://www.foxitsoftware.com For evaluation only.




                                                                             Chaque terminal a sa propre partition de
Phase 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
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
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
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
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érarchie
Gestion 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 consommateurs




Processus 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 processus

l   Opérations sur les processus

l   Processus coopérants

l   Processus communicants




                                                                                                                           21
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`états
IMPORTANT                                                  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
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
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 le
reprendre 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. manuel




Commutation de processeur                                                 Commutation de processeur
Aussi 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
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
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écution




Ce sont les PCBs qui sont dans les files d’attente                            (dont le               Cet ensemble de files inclut donc la table de
besoin d ’un pointeur dans le PCB)                                                                   statut périphériques
file 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
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 terme
Ordonnanceurs (schedulers)                                 et ordonnanceur processus = court terme

l Programmes qui gèrent l ’utilisation de                                                   Ordonnanceur travaux
  ressources de l`ordinateur
l 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
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 efficace
l   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
Generated by Foxit PDF Creator © Foxit Software
                                                                    http://www.foxitsoftware.com For evaluation only.




États de processus dans UNIX                                                  Processus coopérants
Un 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 demander
Kernel, user mode =                                                               l   P.ex. gestion d’événements indépendants
monitor, user mode                                                                     l   Un proc traite le clavier, un autre traite le modem




Le 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
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 base
Ordonnancement 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
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écute




Concepts 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
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. manuel




Dispatcheur
                                                                                                        Critères d’ordonnancement
l   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’usager
l   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
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation
Cours système d'exploitation

Recommandé

Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: PrincipeSouhaib El
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersLilia Sfaxi
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusLilia Sfaxi
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercicesSelman Dridi
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireLilia Sfaxi
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionLilia Sfaxi
 

Contenu connexe

Tendances

Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéSana Aroussi
 
Présentation PPT CARSELFCARE
 Présentation PPT  CARSELFCARE Présentation PPT  CARSELFCARE
Présentation PPT CARSELFCAREBILEL TLILI
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Faycel Chaoua
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linuxFadwa Gmiden
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationLilia Sfaxi
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...Wafa Bourkhis
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 

Tendances (20)

Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Présentation PPT CARSELFCARE
 Présentation PPT  CARSELFCARE Présentation PPT  CARSELFCARE
Présentation PPT CARSELFCARE
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linux
 
Tubes.pdf
Tubes.pdfTubes.pdf
Tubes.pdf
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Asd1
Asd1Asd1
Asd1
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitation
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 

En vedette

System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitationThắng Thao
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1manou2008
 
Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2Amel Morchdi
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationTunisie collège
 
Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationTunisie collège
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
Puneeta Budhraja atelier de poesie
Puneeta Budhraja atelier de poesiePuneeta Budhraja atelier de poesie
Puneeta Budhraja atelier de poesiePuneeta Budhraja
 
Commune info 49
Commune info 49Commune info 49
Commune info 49ATD13
 
3 niveles de ataque del diablo...
3 niveles de ataque del diablo...3 niveles de ataque del diablo...
3 niveles de ataque del diablo...liubingquintero
 
Acerca de la química
Acerca de la químicaAcerca de la química
Acerca de la químicaEsa Silv:3
 
Top thrill dragster
Top thrill dragsterTop thrill dragster
Top thrill dragsterourbothy
 
L'informatique et la_langue_belge
L'informatique et la_langue_belgeL'informatique et la_langue_belge
L'informatique et la_langue_belgeourbothy
 
Magnifique sagesse d-_asie
Magnifique sagesse d-_asieMagnifique sagesse d-_asie
Magnifique sagesse d-_asiefilipj2000
 
Monde tourvirtuel
Monde tourvirtuelMonde tourvirtuel
Monde tourvirtuelfilipj2000
 

En vedette (20)

System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 
Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
 
Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitation
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
Puneeta Budhraja atelier de poesie
Puneeta Budhraja atelier de poesiePuneeta Budhraja atelier de poesie
Puneeta Budhraja atelier de poesie
 
Commune info 49
Commune info 49Commune info 49
Commune info 49
 
3 niveles de ataque del diablo...
3 niveles de ataque del diablo...3 niveles de ataque del diablo...
3 niveles de ataque del diablo...
 
Acerca de la química
Acerca de la químicaAcerca de la química
Acerca de la química
 
Marketing viral
Marketing viralMarketing viral
Marketing viral
 
Top thrill dragster
Top thrill dragsterTop thrill dragster
Top thrill dragster
 
Journée d'étude au plus près des usagers
Journée d'étude  au plus près des usagersJournée d'étude  au plus près des usagers
Journée d'étude au plus près des usagers
 
L'informatique et la_langue_belge
L'informatique et la_langue_belgeL'informatique et la_langue_belge
L'informatique et la_langue_belge
 
Info sacu
Info sacuInfo sacu
Info sacu
 
Proyecto de diseño
Proyecto de diseñoProyecto de diseño
Proyecto de diseño
 
Magnifique sagesse d-_asie
Magnifique sagesse d-_asieMagnifique sagesse d-_asie
Magnifique sagesse d-_asie
 
Monde tourvirtuel
Monde tourvirtuelMonde tourvirtuel
Monde tourvirtuel
 
Alhambra
AlhambraAlhambra
Alhambra
 

Similaire à Cours système d'exploitation

lessons_se-partie01.pdf
lessons_se-partie01.pdflessons_se-partie01.pdf
lessons_se-partie01.pdfreda42878
 
Cours windows-2003-server
Cours windows-2003-serverCours windows-2003-server
Cours windows-2003-servermbarek_slide
 
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfresume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfFootballLovers9
 
Codage cours1--mi
Codage cours1--miCodage cours1--mi
Codage cours1--milinuxscout
 
présentation informatique.pptx
présentation informatique.pptxprésentation informatique.pptx
présentation informatique.pptxinnapapillion2
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimerrochats
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERأبو وردة
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008guest9dd59e
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitationneoh777
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitationneoh777
 
comment-marche-un-ordinateur (5).pptx
comment-marche-un-ordinateur (5).pptxcomment-marche-un-ordinateur (5).pptx
comment-marche-un-ordinateur (5).pptxinsygg43
 
Logiciel système
Logiciel systèmeLogiciel système
Logiciel systèmebenaaa
 
chapitre 01.ppt
chapitre 01.pptchapitre 01.ppt
chapitre 01.pptSamoSamo18
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationToumi Hicham
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateurMansour Dieng
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 

Similaire à Cours système d'exploitation (20)

lessons_se-partie01.pdf
lessons_se-partie01.pdflessons_se-partie01.pdf
lessons_se-partie01.pdf
 
Cours windows-2003-server
Cours windows-2003-serverCours windows-2003-server
Cours windows-2003-server
 
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfresume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
 
Codage cours1--mi
Codage cours1--miCodage cours1--mi
Codage cours1--mi
 
présentation informatique.pptx
présentation informatique.pptxprésentation informatique.pptx
présentation informatique.pptx
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimer
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMER
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitation
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitation
 
comment-marche-un-ordinateur (5).pptx
comment-marche-un-ordinateur (5).pptxcomment-marche-un-ordinateur (5).pptx
comment-marche-un-ordinateur (5).pptx
 
Logiciel système
Logiciel systèmeLogiciel système
Logiciel système
 
chapitre 01.ppt
chapitre 01.pptchapitre 01.ppt
chapitre 01.ppt
 
Composants
ComposantsComposants
Composants
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitation
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateur
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Nour C2I
Nour C2INour C2I
Nour C2I
 

Plus de Amel Morchdi

Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Amel Morchdi
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Amel Morchdi
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809Amel Morchdi
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Amel Morchdi
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2Amel Morchdi
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111Amel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19Amel Morchdi
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3Amel Morchdi
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases javaAmel Morchdi
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageAmel Morchdi
 
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012Amel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19Amel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 

Plus de Amel Morchdi (20)

Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
 
Corrections td4
Corrections td4Corrections td4
Corrections td4
 
Cours s epart2
Cours s epart2Cours s epart2
Cours s epart2
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritage
 
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 

Cours système d'exploitation

  • 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èmes Cours 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/mXzhZp1rTxohC6 Plan 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. 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 l'exécution des programmes Ordinateur (cont.) Les composants internes l Un ordinateur est composé au l Un programme est un ensemble moins de : d'instructions 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 l'utilisateur puisse la l mémoires de masse comprendre l périphériques Hardware X Software 2
  • 3. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Carte Mère Processeur l C'est le “cerveau” de l'ordinateur, il contient l Elle relie les différents composants d'un différents composants responsables pour ordinateur, à travers un « bus » l'interprétation des instructions et le calcul l La carte mère est aussi responsable de contrôler l'accès aux différents types d'entrée et de sortie La mémoire vive (RAM) Les mémoires de masse l Utiles quand on doit sauvegarder les données l Pour travailler avec plusieurs données, le d'une façon persistante (par exemple, quand processeur doit utiliser une mémoire auxiliaire l'ordinateur est éteint) pour sauvegarder temporairement les données l Disque dur, disquette, Clé USB, CD-ROM, etc. l Plus lentes que la mémoire vive l La mémoire RAM (Random Access Memory) est une mémoire volatile, c'est-à-dire qu'elle ne peut garder des informations que si elle est alimentée électriquement 3
  • 4. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Les périphériques d'entrée et sortie Logiciels (Software) l Les logiciels l Ce sont les composants qui permettent à l le système l'ordinateur de communiquer avec l'extérieur d'exploitation (utilisateur ou autre ordinateur) l les applications l Périphériques d'entré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 Hardware Systèmes d'exploitations Abstraction l angl. « Operating System (OS) » l Cacher la complexité des machines pour l Qu'est-ce que c'est? l'utilisateur afin d'utiliser la machine sans savoir « Programme assurant la gestion de l'ordinateur 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 d'exploitation l à gérer les ressources de la machine d'une manière efficace l machine utilisable = machine abstraite + application 4
  • 5. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Exigences à un Système d'exploitation 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 j'en 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. 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.bat Définitions: Définitions: Systèmes Multi-tache (Multitasking) Systèmes Multi-processeurs l système avec plusieurs processeurs l Assurer l'éxécution de plusieurs l parallèle programmes en meme temps (c-à-d. l vrai multi-tache plusieurs processus) l doit assurer qu'il y a l'éxecution d'autant de processus que processeurs en meme temps l contrairement: système avec un seul processeur quasi-parallèle l 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. 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 l'ordinateur lui-même l Type: l à distance (telnet, ssh, ftp, ...) l Administrateur (« root ») l donner l'impression à chaque utilisateur qu'il 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 d'un 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 d'exploitations n'y arrivent pas car l'interruption de certaines activités met le système dans l pour gros calculs, p.ex. inversion de grandes un état instable matrices 7
  • 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 d'application (Bloc-notes, ...) Pilote Pilote Pilote l Logiciels de communication (Internet Explorer, ...) Matériel Historique (avant les Systèmes d'Exploitations) 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 :65 e e a ,osn 1 sr r oe 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 T qd éni st cr c :85 ss ,g u i 1 ui 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. 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 d S tmee pit s y 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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Systèmes d'exploitations 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. 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 l'UC Application (Logiciel, p.ex. Microsoft Word) * appel de sous- programme branchement et conservation de l'adresse de retour Gestion des fichiers objectif : pouvoir appeler une séquence Gestion des périphériques (entrées/sorties) d'instructions de plusieurs endroits Gestion des processus moyen : conservation de l'adresse 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 l'appelé (sys +lg) Chapitre 1. Introduction Chapitre 1. Introduction 1.3 rappels sur les interruptions 1.3 rappels sur les interruptions cycle de l'UC avec interruption interruption un agent extérieur ( périphérique ou canal) interrompt l'UC pour lui faire exécuter une partie d'un 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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Chapitre 1. Introduction Chapitre 1. Introduction cycle de l'UC avec interruption 1.4 rappels sur les E/S répéter E/S = transfert d'information 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 l'UC 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 l'UC en fin d'E/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. 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 l'exé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. 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. 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 lots Traitement 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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Plusieurs programmes en mémoire Exigences pour multiprogrammation pour 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 semblables Spoule 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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Chaque terminal a sa propre partition de Phase 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. 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. 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. 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. 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érarchie Gestion 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 consommateurs Processus 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 processus l Opérations sur les processus l Processus coopérants l Processus communicants 21
  • 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`états IMPORTANT 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. 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. 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 le reprendre 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. manuel Commutation de processeur Commutation de processeur Aussi 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. 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. 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écution Ce sont les PCBs qui sont dans les files d’attente (dont le Cet ensemble de files inclut donc la table de besoin d ’un pointeur dans le PCB) statut périphériques file 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. 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 terme Ordonnanceurs (schedulers) et ordonnanceur processus = court terme l Programmes qui gèrent l ’utilisation de Ordonnanceur travaux ressources de l`ordinateur l 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. 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 efficace l 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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. États de processus dans UNIX Processus coopérants Un 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 demander Kernel, user mode = l P.ex. gestion d’événements indépendants monitor, user mode l Un proc traite le clavier, un autre traite le modem Le 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. 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 base Ordonnancement 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. 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écute Concepts 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. 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. manuel Dispatcheur Critères d’ordonnancement l 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’usager l 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