Transcript

SYSTÈMESD'EXPLOITATION IIFT-10544 A, B & C

S y l l a b u s

Gestion des FichiersGestion

du CPU etde la Mémoire

Gestion des E / S

Processus Processus Processus

MÉMOIRE

MATÉRIEL

Système deFichiers

Système deFichiers

Terminal

© Jean-Marie BeaulieuHung Nguyen ThanhDépartement d'informatique

Automne 2001

Page 2

A. Cours

Titre : SYSTÈMES D'EXPLOITATION ISigle (Université Laval) : IFT-10544Nombre de crédits : 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 prénom : Beaulieu, Jean-MarieBureau : 3952 Pavillon Adrien-PouliotTéléphone : ( 418 ) 656-2131 poste 2564Courriel : [email protected]és : lundi, mercredi et jeudi de 14h00 à 16h00.

(je suis à mon bureau surtout l'après-midi)Section B et C

Nom et prénom : Nguyen Thanh, HungBureau : 3703 Pavillon Adrien-PouliotTéléphone : ( 418 ) 653-5015 (Codasys)Courriel : [email protected]és : après le cours

C. Description et objectifs du cours

Description: Un système d'exploitation est un ensemble de logiciels visant uneutilisation (exploitation) efficace du matériel informatique. Ce coursenseigne les principes de fonctionnement d'un système informatique, lescomposants logiciels et matériels employés pour faciliter l'utilisation del'ordinateur. Les méthodes et algorithmes utilisés dans la répartition desressources entre utilisateurs sont également étudiés. L'étudiant est aussiintroduit à certains systèmes d'exploitation courants.

L'image haut niveau que présente un système d'exploitation à l'usager estcomposée essentiellement de deux parties: un système de traitement quipermet d'exécuter des programmes et un système de fichiers et E/S quipermet d'emmagasiner de l'information. D'autre part, on distinguegénéralement quatre groupes de fonctions ou services que doit assumer

Page 3

le système: l'allocation du CPU, la gestion de la mémoire, la gestion desentrées/sorties et la gestion des fichiers.

Un système d'exploitation peut être vu comme un gestionnaire deressources. Nous distinguons alors entre la politique qui permet dedéterminer qui aura la ressource, et les mécanismes qui permettent lecontrôle et l'utilisation de la ressource.

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

Objectifs : 1) Connaître les rôles, les fonctions et les composantes d'unsystème d'exploitation, et comprendre les principes théoriquesde son fonctionnement.

2) Comprendre les mécanismes, les méthodes et algorithmesutilisés dans la mise en application de ces principes théoriques.

3) Pouvoir utiliser certains systèmes d'exploitation courants.

4) Pouvoir développer des logiciels utilisant ou effectuant desfonctions systèmes.

D. Evaluation des apprentissages

Évaluation: 3 travaux de laboratoire 15 %

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

2e Examen ( Mémoire + E/S ) 32 %vendredi le 23 novembre

Examen final ( Fichier + P.C. ) 20 %vendredi le 14 décembre

Les examens auront lieu les vendredis soir de 18h30 à 21h15. Les dates et l'heuredoivent être confirmées (discutées) en classe. Ce sera le même examen pour lestrois sections. Aucune documentation n'est permise lors des examens.

La note de passage est fixée à 55%. L'attribution des cotes sera basée 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 année à 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. Accès au système 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 références au livre de Stallings sont entre parenthèses.

1) Introduction: (chap. 1 et 2 )� rôles, composantes, fonctions, principes de conception et types.� environnement usager de haut niveau (services offerts).� gestionnaire de ressources: mécanismes et politiques.� problématique et principes de mise en oeuvre.� éléments matériels et logiciels.

2) Le système UNIX:� introduction, interface usager.� organisation du noyau:� processus/mémoire et fichier/ES.� commandes et programme 'shell'.� système de fichiers.

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

4) Gestion de la mémoire: (chap. 7 et 8 )� partitions de la mémoire.� chargement et déchargement.� découpage en pages et en segments.� mémoire virtuelle.� pagination sur demande.

5) Gestion des entrées/sorties: (chap. 11 )� gestionnaires de périphériques.

6) Système de fichiers: (chap. 11 et 12 )� allocation d'espace sur disque.� organisation sur disque (blocs de contrôles).� répertoires.

7) Programmation concurrente: (chap. 5 et 6 )� mécanismes de synchronisation.� langage concurrent.� section critique et exclusion mutuelle.� sémaphores.� interblocage.

Page 5

Introduction

Le système d'exploitation comprend le premier code exécutable chargé en mémoire lorsdu démarrage. Ce code noyau gère les différentes composantes de l'ordinateur. C'est parson entremise que vous pouvez charger un programme en mémoire et l'exécuter. Sanslui, rien ne peut être fait. Le code noyau possède les privilèges nécessaires pourcontrôler le matériel. Le noyau fournit des services aux programmes. Un programmepeut contenir des appels au noyau (ou au système). Les APIs définissent les différentesfonctions disponibles. Le noyau doit comporter des fonctions pour la gestion du CPU(processus), de la mémoire, des entrées/sorties et des fichiers. Des éléments matérielspermettent au noyau de contrôler l'allocation du CPU (l'exécution des processus) etd'assurer la protection mémoire. Un programme (processus) ne peut utiliser que lamémoire qui lui a été allouée.

Un processus est un programme chargé en mémoire et en train d'être exécuté. Le noyaucrée et gère les processus. En plus du noyau, un système d'exploitation comporte denombreux programmes système. Certains processus système sont créés dès l'amorçagedu système et demeurent toujours actifs. D'autres processus (programmes) assurentl'interaction avec les usagers. Un processus "shell" reçoit les commandes de l'utilisateuret voit à leur exécution. Il peut au besoin créer un sous-processus (par un appel aunoyau) pour exécuter une commande. Il y a des programmes système (commandes) pourgérer les fichiers: copier, détruire, renommer un fichier et afficher le contenu d'unrépertoire.

Processus

Le noyau supporte la notion de processus. Pour chaque processus, le noyau garde unestructure décrivant son état et les ressources utilisées (mémoire, fichiers, temps CPU).Le processeur (CPU) possède au moins deux modes de fonctionnement: mode utilisateuret mode système ou noyau. En mode noyau, on peut exécuter des instructionsprivilégiées permettant le contrôle du matériel de protection mémoire, d'interruption etd'E/S. La protection empêche un processus utilisateur d'avoir accès à l'espace mémoiredu noyau. Le mécanisme d'appel au noyau permet à un processus utilisateur detransférer le contrôle du CPU au noyau (avec changement de mode) pour qu'il exécuteune fonction. Le noyau prend également le contrôle du CPU lors d'interruptionmatérielle pour exécuter une routine de traitement d'interruption. Lorsqu'il a terminé, lenoyau détermine quel processus sera redémarré. 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 critères.

Gestion de la mémoire

Le code chargé en mémoire (code exécutable d'un programme) contient des adressesrelatives à l'espace logique du programme. Lors de l'exécution, il faut convertir cesadresses logiques en adresses physiques correspondant aux positions réelles occupéesdans la mémoire physique. Du matériel dédié (le MMU) assure cette conversion. LeMMU assure également la protection mémoire. Le noyau doit programmer le MMUpour lui indiquer quelle position physique en mémoire occupe le programme. Dans unsystème paginé, un programme n'occupe pas nécessairement des pages contiguës enmémoire. Il faut une table des pages pour faire la translation d'adresse logique àphysique. Dans un système avec mémoire virtuelle, toutes les pages d'un programmen'ont pas besoin d'être en mémoire en même temps. Les pages du programme sontchargées en mémoire lorsque c'est nécessaire (sur demande).

Page 6

Programmation concurrente

Lorsque des processus partagent des ressources, il faut synchroniser leurs accès auxressources. Par exemple, lorsque deux processus partagent un espace mémoire, il fautéviter qu'ils essaient simultanément de modifier une même position (ou variable), sinonla valeur finale peut être erronée. "L'exclusion mutuelle" signifie qu'un seul processus àla fois pourra exécuter du code qui accède et modifie cette variable commune. Lasynchronisation de processus signifie que certains processus seront suspendus jusqu'à cequ'ils obtiennent l'autorisation de continuer. Un sémaphore peut être vu comme undrapeau ou un feu de signalisation indiquant si l'autorisation de continuer est accordée.

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.

RÉFÉRENCES

1) APPLIED OPERATING SYSTEM CONCEPTS, A. Silberschatz, P. Galvin et GregGagne, John Wiley & Sons, 2000, isbn: 0-471-36508-4. Version française:PRINCIPLES APPLIQUÉS DES SYSTÈMES D’EXPLOITATION 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 française: PRINCIPES DESSYSTÈMES 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) SYSTÈMES D'EXPLOITATION: CONCEPTS ET ALGORITHMES, J. Beauquier et B.Bérard, Ediscience International, 1993.

6) ARCHITECTURE DES SYSTÈMES 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, O’reilly, 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 MÉCANISME INTERNES, Jacques Philipp, Presses de l'École Nationaledes Ponts et Chaussées, 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 SYSTÈME UNIX, M.J. Bach, Masson, Paris, 1989. versionfrançaise 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 Multimédia,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.


Recommended