SYSTÈMES D'EXPLOITATION I - ift. menard/Info_Courante/Vitrine/Syllabus_IFT10544.pdf · enseigne les…

  • Published on
    15-Sep-2018

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • SYSTMESD'EXPLOITATION IIFT-10544 A, B & C

    S y l l a b u s

    Gestion des FichiersGestion

    du CPU etde la Mmoire

    Gestion des E / S

    Processus Processus Processus

    MMOIRE

    MATRIEL

    Systme deFichiers

    Systme deFichiers

    Terminal

    Jean-Marie BeaulieuHung Nguyen ThanhDpartement d'informatique

    Automne 2001

  • Page 2

    A. Cours

    Titre : SYSTMES D'EXPLOITATION ISigle (Universit Laval) : IFT-10544Nombre de crdits : 3Session : automne 2001Section A

    Salle : 2551 Pavillon Adrien-PouliotHoraire : mardi de 8h30 11h20Examens : 3 vendredis soir

    Section BSalle : 2704 Pavillon Adrien-PouliotHoraire : jeudi de 8h30 11h20Examens : 3 vendredis soir

    Section CSalle : 2501 Pavillon Adrien-PouliotHoraire : mardi de 18h30 21h20Examens : 3 vendredis soir

    B. Professeur

    Section ANom et prnom : Beaulieu, Jean-MarieBureau : 3952 Pavillon Adrien-PouliotTlphone : ( 418 ) 656-2131 poste 2564Courriel : jean-marie.beaulieu@ift.ulaval.caDisponibilits : lundi, mercredi et jeudi de 14h00 16h00.

    (je suis mon bureau surtout l'aprs-midi)Section B et C

    Nom et prnom : Nguyen Thanh, HungBureau : 3703 Pavillon Adrien-PouliotTlphone : ( 418 ) 653-5015 (Codasys)Courriel : services_conseils@codasys.netDisponibilits : aprs le cours

    C. Description et objectifs du cours

    Description: Un systme d'exploitation est un ensemble de logiciels visant uneutilisation (exploitation) efficace du matriel informatique. Ce coursenseigne les principes de fonctionnement d'un systme informatique, lescomposants logiciels et matriels employs pour faciliter l'utilisation del'ordinateur. Les mthodes et algorithmes utiliss dans la rpartition desressources entre utilisateurs sont galement tudis. L'tudiant est aussiintroduit certains systmes d'exploitation courants.

    L'image haut niveau que prsente un systme d'exploitation l'usager estcompose essentiellement de deux parties: un systme de traitement quipermet d'excuter des programmes et un systme de fichiers et E/S quipermet d'emmagasiner de l'information. D'autre part, on distinguegnralement quatre groupes de fonctions ou services que doit assumer

  • Page 3

    le systme: l'allocation du CPU, la gestion de la mmoire, la gestion desentres/sorties et la gestion des fichiers.

    Un systme d'exploitation peut tre vu comme un gestionnaire deressources. Nous distinguons alors entre la politique qui permet dedterminer qui aura la ressource, et les mcanismes qui permettent lecontrle et l'utilisation de la ressource.

    PR : (IFT-17583 ou IFT-17584 ou GIF-16116),(IFT-10541 ou IFT-19966)

    Objectifs : 1) Connatre les rles, les fonctions et les composantes d'unsystme d'exploitation, et comprendre les principes thoriquesde son fonctionnement.

    2) Comprendre les mcanismes, les mthodes et algorithmesutiliss dans la mise en application de ces principes thoriques.

    3) Pouvoir utiliser certains systmes d'exploitation courants.

    4) Pouvoir dvelopper des logiciels utilisant ou effectuant desfonctions systmes.

    D. Evaluation des apprentissages

    valuation: 3 travaux de laboratoire 15 %

    1er Examen ( Intro + CPU ) 33 %vendredi le 12 octobre

    2e Examen ( Mmoire + E/S ) 32 %vendredi le 23 novembre

    Examen final ( Fichier + P.C. ) 20 %vendredi le 14 dcembre

    Les examens auront lieu les vendredis soir de 18h30 21h15. Les dates et l'heuredoivent tre confirmes (discutes) en classe. Ce sera le mme examen pour lestrois sections. Aucune documentation n'est permise lors des examens.

    La note de passage est fixe 55%. L'attribution des cotes sera base sur unecombinaison de :

    1) une chelle fonction de l'histogramme, pour tenir compte de la difficult desexamens, soit environ 30% de A, 35% de B, 25% de C et 20% de D+E.

    2) une chelle fixe, pour assurer une continuit d'une anne l'autre,

    A+ [92-100] A [88-92[ A- [84-88[

    B+ [81-84[ B [78-81[ B- [75-78[

    C+ [71-75[ C [68-71[ C- [65-68[

    D+ [60-65[ D [55-60[

    E [0-55[

  • Page 4

    Laboratoire: Locaux 3910, 3928 et 3966. Accs au systme Linux ou Windows.

    Page web du cours avec messages aux tudiants:http://www.ift.ulaval.ca/~beaulieu/ift10544/

    Autres pages web: http://www.ift.ulaval.ca/http://linux.ift.ulaval.ca/http://www.ift.ulaval.ca/Services/Laboratoire.html

    E. Contenu

    Les rfrences au livre de Stallings sont entre parenthses.

    1) Introduction: (chap. 1 et 2 ) rles, composantes, fonctions, principes de conception et types. environnement usager de haut niveau (services offerts). gestionnaire de ressources: mcanismes et politiques. problmatique et principes de mise en oeuvre. lments matriels et logiciels.

    2) Le systme UNIX: introduction, interface usager. organisation du noyau: processus/mmoire et fichier/ES. commandes et programme 'shell'. systme de fichiers.

    3) Processus et allocation du CPU: (chap. 3, 4, 9) processus et bloc de contrle (PCB). commutation de contexte. tat d'un processus. politiques d'allocation du CPU. gestion de processus et de "threads".

    4) Gestion de la mmoire: (chap. 7 et 8 ) partitions de la mmoire. chargement et dchargement. dcoupage en pages et en segments. mmoire virtuelle. pagination sur demande.

    5) Gestion des entres/sorties: (chap. 11 ) gestionnaires de priphriques.

    6) Systme de fichiers: (chap. 11 et 12 ) allocation d'espace sur disque. organisation sur disque (blocs de contrles). rpertoires.

    7) Programmation concurrente: (chap. 5 et 6 ) mcanismes de synchronisation. langage concurrent. section critique et exclusion mutuelle. smaphores. interblocage.

  • Page 5

    Introduction

    Le systme d'exploitation comprend le premier code excutable charg en mmoire lorsdu dmarrage. Ce code noyau gre les diffrentes composantes de l'ordinateur. C'est parson entremise que vous pouvez charger un programme en mmoire et l'excuter. Sanslui, rien ne peut tre fait. Le code noyau possde les privilges ncessaires pourcontrler le matriel. Le noyau fournit des services aux programmes. Un programmepeut contenir des appels au noyau (ou au systme). Les APIs dfinissent les diffrentesfonctions disponibles. Le noyau doit comporter des fonctions pour la gestion du CPU(processus), de la mmoire, des entres/sorties et des fichiers. Des lments matrielspermettent au noyau de contrler l'allocation du CPU (l'excution des processus) etd'assurer la protection mmoire. Un programme (processus) ne peut utiliser que lammoire qui lui a t alloue.

    Un processus est un programme charg en mmoire et en train d'tre excut. Le noyaucre et gre les processus. En plus du noyau, un systme d'exploitation comporte denombreux programmes systme. Certains processus systme sont crs ds l'amoragedu systme et demeurent toujours actifs. D'autres processus (programmes) assurentl'interaction avec les usagers. Un processus "shell" reoit les commandes de l'utilisateuret voit leur excution. Il peut au besoin crer un sous-processus (par un appel aunoyau) pour excuter une commande. Il y a des programmes systme (commandes) pourgrer les fichiers: copier, dtruire, renommer un fichier et afficher le contenu d'unrpertoire.

    Processus

    Le noyau supporte la notion de processus. Pour chaque processus, le noyau garde unestructure dcrivant son tat et les ressources utilises (mmoire, fichiers, temps CPU).Le processeur (CPU) possde au moins deux modes de fonctionnement: mode utilisateuret mode systme ou noyau. En mode noyau, on peut excuter des instructionsprivilgies permettant le contrle du matriel de protection mmoire, d'interruption etd'E/S. La protection empche un processus utilisateur d'avoir accs l'espace mmoiredu noyau. Le mcanisme d'appel au noyau permet un processus utilisateur detransfrer le contrle du CPU au noyau (avec changement de mode) pour qu'il excuteune fonction. Le noyau prend galement le contrle du CPU lors d'interruptionmatrielle pour excuter une routine de traitement d'interruption. Lorsqu'il a termin, lenoyau dtermine quel processus sera redmarr. Il utilise un algorithme d'allocation duCPU pour faire son choix. L'algorithme peut tenir compte de la priorit, du tempsd'utilisation ou d'autres critres.

    Gestion de la mmoire

    Le code charg en mmoire (code excutable d'un programme) contient des adressesrelatives l'espace logique du programme. Lors de l'excution, il faut convertir cesadresses logiques en adresses physiques correspondant aux positions relles occupesdans la mmoire physique. Du matriel ddi (le MMU) assure cette conversion. LeMMU assure galement la protection mmoire. Le noyau doit programmer le MMUpour lui indiquer quelle position physique en mmoire occupe le programme. Dans unsystme pagin, un programme n'occupe pas ncessairement des pages contigus enmmoire. Il faut une table des pages pour faire la translation d'adresse logique physique. Dans un systme avec mmoire virtuelle, toutes les pages d'un programmen'ont pas besoin d'tre en mmoire en mme temps. Les pages du programme sontcharges en mmoire lorsque c'est ncessaire (sur demande).

  • Page 6

    Programmation concurrente

    Lorsque des processus partagent des ressources, il faut synchroniser leurs accs auxressources. Par exemple, lorsque deux processus partagent un espace mmoire, il fautviter qu'ils essaient simultanment de modifier une mme position (ou variable), sinonla valeur finale peut tre errone. "L'exclusion mutuelle" signifie qu'un seul processus la fois pourra excuter du code qui accde et modifie cette variable commune. Lasynchronisation de processus signifie que certains processus seront suspendus jusqu' cequ'ils obtiennent l'autorisation de continuer. Un smaphore peut tre vu comme undrapeau ou un feu de signalisation indiquant si l'autorisation de continuer est accorde.

    F. Bibliographie

    Manuel obligatoire

    William Stallings, OPERATING SYSTEMS: INTERNALS AND DESIGNPRINCIPLES, 4e dition, Prentice Hall, 2001, isbn: 0-13-031999-6.Prix de la librairie Zone scientifique: 99.95$.

    Notes de cours obligatoires

    Des notes de cours sont disponibles et obligatoires. 318 pages. Prix: 18.82$ pourles membres et 19.81$ pour les non-membres.

    Le manuel et les notes de cours seront vendus par la librairie Zone scientifique duPavillon Adrien-Pouliot. Du 4 au 14 septembre, la vente se fera au local 3370 duPavillon Adrien-Pouliot, de 8h00 19h00 du lundi au jeudi et de 8h00 17h00 levendredi. Par la suite, la vente se poursuivra au local 0128 du Pavillon Adrien-Pouliot.

    RFRENCES

    1) APPLIED OPERATING SYSTEM CONCEPTS, A. Silberschatz, P. Galvin et GregGagne, John Wiley & Sons, 2000, isbn: 0-471-36508-4. Version franaise:PRINCIPLES APPLIQUS DES SYSTMES DEXPLOITATION AVEC JAVA,Vuibert Informatique, isbn: 2-7117-8665-X.

    2) OPERATING SYSTEM CONCEPTS, A. Silberschatz et P. Galvin, 5e dition,Addisson Wesley, 1998, isbn: 0-201-59113-8. Version franaise: PRINCIPES DESSYSTMES D'EXPLOITATION, 4e dition, Addisson Wesley, 1994.

    3) MODERN OPERATING SYSTEMS, A.S. Tanenbaum, 2e dition, PrenticeHall,2001, isbn: 0-13-031358-0.

    4) OPERATING SYSTEMS: A MODERN PERSPECTIVE, G. Nutt, Addison Wesley,1997, isbn: 0-8053-1295-1.

    5) SYSTMES D'EXPLOITATION: CONCEPTS ET ALGORITHMES, J. Beauquier et B.Brard, Ediscience International, 1993.

    6) ARCHITECTURE DES SYSTMES D'EXPLOITATION, Michael Griffiths et MichelVayssade, Hermes, 1990, isbn: 2-86601-127-9.

  • Page 7

    7) UNIX SYSTEM PROGRAMMING USING C++, T. Chan, Prentice Hall PTR, 1997,isbn: 0-13-331562-2.

    8) UNIX INTERNALS: A PRATICAL APPROACH, S. D. Pate, Addison Wesley, 1996,isbn: 0-201-87721-x.

    9) UNDERSTANDING THE LINUX KERNEL, D.P. Bovet et M. Cesati, Oreilly, 2001,isbn: 0-596-00002-2.

    10) LINUX KERNEL INTERNALS, Beck & all, 2e dition, Addison Wesley, 1998, isbn:0-201-33143-8.

    11) UNIX SYSTEMS FOR MODERN ARCHITECTURES, C. Schimmel, Addison Wesley,1994, isbn: 0-201-63338-8.

    12) THE MAGIC GARDEN EXPLAINED, B. Goodheart et J. Cox, Prentice Hall, 1994.

    13) UNIX LES MCANISME INTERNES, Jacques Philipp, Presses de l'cole Nationaledes Ponts et Chausses, 1991.

    14) INSIDE MICROSOFT WINDOWS 2000, 3e dition, D.A. Solomon et M.E.Russinovich, Microsoft Press, 2000, isbn: 0-7356-1021-5.

    15) DISTRIBUTED OPERATING SYSTEMS & ALGORITHMS, R. Chow et T. Johnson,Addison-Wesley, 1997, isbn: 0-201-49838-3.

    16) SOLARIS INTERNALS: CORE KERNEL ARCHITECTURE, J. Mauro et R.McDougall, Prentice Hall, 2001, isbn: 0-13-022496-0.

    17) LINKER & LOADERS, J.R. Levine, Morgan Kaufmann Publishers, 2000, isbn:1-55860-496-0.

    18) FOUNDATIONS OF MULTITHREADED, PARALLEL AND DISTRIBUTEDPROGRAMMING, G.R. Andrews, Addison-Wesley, 2000, isbn: 0-201-35752-6.

    19) LEARNING THE UNIX OPERATING SYSTEM, 3e ed., G. Todino et J. Strang,O'Reilly & Associates, Inc., (2e ed., 1987).

    20) CONCEPTION DU SYSTME UNIX, M.J. Bach, Masson, Paris, 1989. versionfranaise de: THE DESIGN OF THE UNIX OPERATING SYSTEM, Maurice J. Bach,Prentice Hall, Englewood Cliffs, 1986.

    21) LINUX INITIATION ET UTILISATION, J.-P. Armspach, P. Colin et F. Ostr-Waerzeggers, Dunod, 2000, isbn: 2-10-005150-4.

    22) VOS PREMIERS PAS AVEC LINUX, G. Picarde, Osman Eyrolles Multimdia,2000, isbn: 2-7464-0268-8.

    23) THE DESIGN OF OS/2, H.M. Deitel et M.S. Kogan, Addison-Wesley, 1992.

    24) IBM MAINFRAMES: ARCHITECTURE AND DESIGN, N.S. Prasad, McGraw Hill,1989.

    25) THE DESIGN AND IMPLEMENTATION OF THE 4.3BSD UNIX OPERATINGSYSTEM, S.J. Leffler, M.K. McKusick, M.J. Karels et J.S. Quarterman, Addison-Wesley, 1989.

    26) PROGRAMMING UNDER MACH, J. Boykin, D. Kirschen, A. Langerman et S.LoVerso, Addison-Wesley, 1993.

    27) CENTRALIZED AND DISTRIBUTED OPERATING SYSTEMS, G.J. Nuit, PrenticeHall, 1992.