Vous êtes sur la page 1sur 104

Systmes dexploitation et supports architecturaux

Ronan Keryell Robert Rannou Dpartement Informatique de lcole Nationale Suprieure des Tlcommunications de Bretagne Janvier 2003fvrier 2003

Copyright (c)

Copyright (c) 19862003 by

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at ). Si vous amliorez ces cours, merci de menvoyer vos modications ! Transparents 100 % base de logiciels libres (LaTEX,...)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

 3  0 $   '% $ " !       21)(&#  


Introduction

@ W V 6 I H 6 F @ U S FE 5 I H 5 IF P IH 6FE B B B@ @8 6 5 5 D(1(7TRQ()C(CCG9DCA974

Le cours

Je suis contre les polys (cf CdV) mais : Cours cliquable

Table des matires Pas de petites classes Beaucoup dexemples bass sur Unix mais... Retenir ides et concepts plutt que les exemples prcis

Problmatique
Ubiquit de linformatique Beaucoup dapplications Reposent sur des fonctionalits basiques communes Interagir avec lextrieur Assurer dmarrage, vie et mort des programmes Confort dutilisation mais aussi de dveloppement Besoin de scurit dexcution De nombreux types dordinateurs existent Assurer portabilit Assurer prnit des dveloppements Capitaliser lexprience

Dense

%
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Plan

4
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation Mise en uvre des chiers Systmes de chiers rseau
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Introduction
Fournit 2 types de services Machine virtuelle tendue plus agrable que la vraie machine brute Plusieurs programmes fonctionnent en mme temps Plusieurs utilisateurs Mmoire arbitrairement grande Fichiers Interfaces (graphiques) sympathiques ... Dtails cachs de manire transparente Gestion optimale des ressources Processeurs Mmoire
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Introduction

Priphriques dentre-sortie Gestion de la qualit de service (surtout en mode multi-utilisateur...) Latence, temps de rponse : mode intractif Dbit : centre de calcul Contraintes temps rel : gestion dun processus industriel Tolrance aux pannes : centrales nuclaires, avions ...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Machine Virtuelle tendue


Processus : abstraction de processeur virtuel Programme sexcutant sur un processeur Contexte dexcution Protection Atomicit : qui parat inscable Lecture, criture Transactions : dbut, n, abandon possible sans casse Fichier abstrait Conteneur de donnes Mmoire (principale ou secondaire) Terminal (clavier, cran, souris
 $ ) 

Lien de communication

, socket

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

 1" 

Priphrique

 $ $  3 

(disquette),... )

Machine Virtuelle tendue

Contrle de nimporte quoi...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Abstraction de chier
Dans un systme imaginaire...
Fichiers

Normaux Squentiels Directs Texte Binaire Excutable Indexs Blocs

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Informations

$ $ )D" 7" 
Introduction

Processus dans

Spciaux

Caractres

Introduction

Fichiers et chiers spciaux

10

Sockets : tuyaux

Entre machine (

Pipes nomms

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Transparence et opacit
Cest transparent lutilisateur Il ne voit rien Htrognit Modles et marques dordinateur Taille des mots et rangement des octets dans les mots Systmes dexploitation diffrents Priphriques diffrents Localisation Fichier local ou non Ordinateur distant ou pas Migration & mobilit Serveurs qui se dplacent Objets migrateurs
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

 ! $#"

 0

 

  "

  %

$  7%

cre un chier de caractres alatoires

   

 1 
 

 

$ )1 $ )1

: imprime le contenu de

met des 0 la poubelle

,...) : entre processus


Introduction

 $

 

 $

11
cest opaque !

Introduction

Transparence et opacit
Ressources distribues Rplication (tolrance aux pannes et performances) Multiplication des serveurs Mcanisme de caches Concurrence et paralllisme Srialisabilit Dnition de linterface de programmation du systme Objets dnis dans linterface Relations inter-objets ? Comment communiquer ?

12

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Transparence et opacit

13

Exemple de concept : partage de donnes dans une variable globale (locale ou distante) Le systme va masquer la ralit : Rseau haut-dbit Mmoire globale Mcanismes de cache cohrence forte (atomique)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Nirvana des systmes

14

Vrai systme distribu Pas un systme rseau Vision monosite Espace de nommage unique Comment concilier transparence et performance ? Compromis cacher = grer... Bien comprendre comment cela marche si on ne veut pas tomber dans des piges cachs... Ce cours !

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Un ordinateur dans une perspective logicielle

15

Jeux diteurs

Suite bureautique Compilateurs

Courriel

Applications,...

Virus Fentrage

Programmes dapplication Programmes systme

Interprtation de commandes Systme dexploitation

Langage machine

Multiprogrammation

Matriel

Dispositifs physiques

Le grand public ne voit que le haut et le fentrage...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

DCE Distributed Computing Environment

16

Applications XDS DTS CDS X500 Scurit (Kerberos,...) RPC (Remote Procedure Call) Threads Systmes dexploitation Rseaux

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Pourquoi ce cours en 2A ?
Parce que ! Informatique et donc systmes dexploitation partout Vernis aux futurs ingnieurs dans la salle Comprendre la problmatique Sirnes graphiques : une interface graphique ne fait que cacher la complexit qui rapparat en cas de problme...

17

Ncessit de comprendre comment cela fonctionne ! Plein dastuces rutilisables dans la vie de tout les jours Programmation Optimisation Gestion de production Gestion de son potager
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

@5 5 H ) 1) @ # S ! !$ A @ P H $ I $ P @ @8 6 5 5 TH &)5 %4)T0W 64 E U @V E 0V A974 P E DI "CDR97)4 F $ 5 6H # @ @8 6 5 5 P E DI "CDR97)4 F $ 5 6H # @ @8 6 5 5

3  @ I F $ 5 ) $ ! $ P H 6 H ! P 1  @ 5 I H I $ H ) I ( @ S CC"T64)1C1CH &(U %(0T17'E &%I 9 8    @ I F $ 5 ) $ ! $ P H 6 H ! P 1  @ 5 I H I $ H ) I ( @ S 6CC"T64)1C1CH &(U %(0T17'E &%I

) H ) 1 @ 5 3 @ H $ F 5 W F S 2 H ! P 1  @ 5 I H I $ H ) I ( @ S 6H &)5 %T"4D)S )T%CD1CH &(U %(0T17'E &%I

56%7@1H!P1@15CH &H(U $%H()0IT(@1S7'E &%I P E DI "CDR97)4 I I F $ 5 6H # @ @8 6 5 5 P E DI "CDR97)4 F $ 5 6H # @ @8 6 5 5

! 5 "4 E ))E I       @  @ S

P V P @ @8 6 5 5 E I A974

Bibliographie

Pourquoi ce cours en 2A ?

Cours du CNAM

Les bases (un peu dhistoire) : Systmes dexploitation des ordinateurs : principes de conception , Paris : Du, J. Briat, B. Canet, E. Cleemann, J.C. Derniame, J. Ferri, C. Kaiser, S. Krakowiak, J. Mossire, J.-P. Verjus

...

Gestion de son carnet de bal

Gestion de son agenda

ISI 204 Systmes dexploitation ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

DPARTEMENT INFORMATIQUE ENST Bretagne

cours en franais de
Introduction

Introduction

18

19

Bibliographie

20

David Billard UNIX Internals: The New Frontiers , Uresh Vahalia, October, 1995, Prentice Hall Engineering/Science/Mathematics
! 5 E   ) H @ ) F F W S 5 044 & 6T"TD6
Introduction

Operating systems : a modern perspective , Gary J. Nutt, Addison Wesley, 1997 The Magic garden explained : the internals of UNIX System V release 4 : an open systems design , B. Goodheart ; J. Cox, Prentice-Hall, 1994

Bibliographie Linux

Linux Internals , Moshe Bar, 2000, The McGraw-Hill Companies, Inc. Linux device drivers , Alessandro Rubini & Jonathan Corbet, OReilly & associates, 1998, 2nd Edition June 2001, 0-59600-008-1, Order Number: 0081, 586 pages, $39.95
! 5 "4)4

Linux Kernel Internals , Tigran Aivazian,


! 5 $ ! @ ) H "4 E "T14

The Linux Kernel , David A Rusling,


! 5 "4

E # 6  H # $ F F @ F F @ S H 5 6 P @ # # ! @ F E ! E B B B @ @8 6 5 5 Q6T6I 0D1W D1W 1T)C%4 )&(P &09DCA974

E #(!TD@(7@ &TQ(I 6! 9DCA974 ! 5 @ "  @ ) H # $ V U F P E  4  V $ E B B B @ @8 6 5 5

P 5 @ 5H  V $ ! ) H) F E B B B@ @8 6 5 5 T%6 1T1I E I V E ( 9DCA974

@ FPE S 5 6 4 E B B B@ @8 6 5 5 &TQDD6 9DCA974

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

21

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Introduction

Plan
Fonctions dun systme dexploitation

22

Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation Mise en uvre des chiers Systmes de chiers rseau
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

Historique
19451955 Pas de systme dexploitation Tout faire la main 19551965 Langages de plus haut niveau Gnrations de machines 19651985 Multiprogrammation Temps partag Gros systmes 1985 Ordinateurs personnels Stations de travail
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

23

Historique

Historique

24

Rseaux (Internet) Systmes distribus


1 S F 5 ) $ @ @ U S FE S H 5 V 6 F PE B B B @ @8 6 5 5 TC@4 D)DTRQ7D(9DCA974
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

19451955 : ordinateur squentiel


Principes de E CKERT, M AUCHLY et VON N EUMANN, annes 1940 : une mmoire contient des donnes ET un programme
Orgue arithmtique Mmoire Contrle

25

+ Entres-sorties sur un des chemins de donnes concept dordinateur universel en 1946 : ENIAC. 18000 tubes vide, 30 tonnes, 174 kW, 5000 +/s, 333 /s 10 chiffres, modi plus tard avec programme en mmoire
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

19451955 : ordinateur squentiel

26

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

19451955 : ordinateur squentiel


Tout manuel Ordinateur relais, voire lampe Langage binaire au mieux, cblage avec des ls standard Cartes perfores Applications numriques : gnration de tables, balistique,... IBM 704 (1954) : nombres ottants Arriver faire tourner 1 programme avant quun tube ne grille ou un bug se coince dans un relai Jay F ORRESTER & Bob E VERETT , Whirlwind, simulateur temps rel mmoire tores, 500000 +/s, 50000 /s, $32 000 de tubes/mois (1951)

27

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

19551965 : Jusqu lOS


Toujours quun seul utilisateur, rservation par tranche horaire Traitement par lots : faire la queue Mono-programmation 1957 : John B ACKUS (IBM), langage & compilateur Fortran vitesse de programmation 1957 : Seymour C RAY, CDC1604, supercalculateur tout transistor 1957 : Disque dur IBM 305 RAMAC ( 2 rfrigrateurs) 1959 : Bull Gamma 60, instructions de paralllisme (parce que la mmoire tait trop rapide par rapport au processeur !) Spcialisation des tches pour optimiser globalement les cots en utilisant plusieurs ordinateurs au lieu dun seul plus gros ;
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

28

Historique

19551965 : Jusqu lOS

29

Petit IBM 1401 pour faire du transfert cartes perfores bandes magntiques (donnes) Gros calcul sur IBM 7094 Petit IBM 1401 pour faire du transfert bandes magntiques imprimantes (donnes)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

19651985 : Multiprogrammation, temps partags


Gros systmes Multiprogrammation : plusieurs programmes rsident en mmoire Temps partag : terminaux interactifs spool : Simultaneous Peripheral Operation On Line : on empile les requtes dimpression et on fait autre chose Mmoire Pagination : gestion plus ne simplie Segmentation : diffrents espaces dadressage Technologie Transistors puis circuits intgrs, micro-processeur brique de base de linformatique Disques magntiques
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

30

Historique

19651985 : Multiprogrammation, temps partags


Mcanisme dinterruption Accs direct la mmoire crans graphiques Modems Grosses mmoires Loi de Moore Projet MULTICS : MULTiplexed Information and Computing Service MIT, Bell Telephone Laboratories de AT&T, General Electric Notion de Computer Grid (qui revient de nos jours...) Offrir puissance de calcul pour toute la ville de Boston : le Minitel avant lheure Plus difcile que prvu abandonn mais grande inuence
Historique

31

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

19651985 : Multiprogrammation, temps partags

32

dans la communaut

Unix Story
En attendant la suite, Ken Thomson de BTL crit un jeu Space Travel quil fait tourner sur un PDP-7 (machine pas trop chre) Problme : pas denvironnement de dveloppement sur PDP-7 et ncessit de faire de lassemblage crois sur Honeywell 635 roulant GECOS Pour faciliter le dveloppement du jeu, dveloppement dun systme dexploitation pour le PDP-7 : systme de chier simple (s5fs), systme de gestion de processus, interprteur de commande (shell) Le systme devient auto-sufsant et est nomm Unix en 1969, jeu de mots en opposition Multics Portage dUnix sur PDP-11 et dveloppement de lditeur de texte et du systme de composition de texte
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

3  3

@ U S F ) I$ P $ 5 V E B B B@ @8 6 5 5 )D7GE 0C7"(! 9DCA974


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

33

Historique

Unix Story
Dveloppement de langage interprt B utilis pour dvelopper les outils Dennis Ritchie fait voluer le langage en C dont le succs a largement dpass le cadre dUnix 1972 : 10 machines sous Unix... Unix rcrit en C en 1973 et la distribution version 4 contient elle-mme Luniversit de Berkeley rcupre une licence (gratuite cause dun procs antitrust de 1956 entre AT&T et Western Electric Company) La version 7 de 1979 est la premire version rellement portable Beaucoup damliorations fournies par les utilisateurs eux-mmes (de mme que BSD & Linux maintenant) favoris
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

34

Unix Story
par le ct non commercial MicroSoft et Santa Cruz Operation collabore sur un portage pour i8086 : Xenix Portage sur machine 32 bits (Vax-11) en 1978 : UNIX/32V qui est rcupre par Berkeley Rajout dutilitaires (
 "

La DARPA donne un contrat Berkeley pour implmenter IP : BSD Dernire version en 1993 : 4.4BSD. En tout : apport des socket, dIP, dun fast le system, des signaux robustes, la mmoire virtuelle Socit BSDI cre pour vendre 4.4BSD lite en 1994, dbarrass de tout code dorigine AT&T
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

35

de Bill Joy) et dun systme de pagination

Historique

Unix Story
1982 : loi antitrust qui clate AT&T en baby-Bell dont le AT&T Bell Laboratories qui peut alors commercialiser Unix 1982 : System III 1983 : System V 1984 : System V release 2 (SVR2) 1987 : System V release 3 (SVR3) introduit les IPC (InterProcess Communications : mmoire partage, smaphores), les STREAMS, le Remote File Sharing, les bibliothques partages,... Base de nombreux Unix commerciaux 1982 : Bill Joy quitte Berkeley pour fonder Sun Microsystems. Adaptation de 4.2BSD en SunOS qui introduit le Network File System, interface de systme de chier gnrique, nouveau mcanisme de gestion mmoire
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

36

Historique

1985 : Micro-ordinateurs
Monte en puissance du microprocesseur Micro-ordinateurs ordinateur base de microprocesseur : quasiment tout ordinateur Explosion du multi-fentrage Gros ordinateur (parallle) processeurs interfaces plus sympathiques rassemblements de nombreux

37

Apparition des systmes distribus Stations de travail Gnralisation des rseaux dabord pour partager disques coteux : NFS WWW devenu synonyme dInternet 30 aprs 1981 : le premier PC
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Historique

1985 : Micro-ordinateurs
Grand retour en arrire (...pour les spcialistes) : mono-programmation : MS-DOS 1.0, PC-DOS 1.0 Systme de chier primitif (...mais robuste), pas de rpertoire,... Milieu des annes 1980 Carnegie-Mellon University dveloppe Mach, un micro-noyau avec des serveurs implmentant une smantique 4BSD. OSF/1 & NextStep sont bass sur Mach 1987 Andrew Tanenbaum publie MINIX: A UNIX Clone with Source Code for the IBM PC 1987 : AT&T achte 20% de Sun prochaines version de SunOS bases sur System V : SunOS 5 (Solaris 2) 1989 : co-dveloppement AT&T-Sun de SVR4 : inclut les fonctionnalits de SVR3, 4BSD, SunOS & Xenix. Cration dUnix
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

38

1985 : Micro-ordinateurs
Systems Laboratories pour dvelopper et vendre Unix Novell achte une partie dUSL en 1991 pour dvelopper UnixWare (Unix + Netware) et tout USL en 1993 Linus Torwald rcupre Minix sur PC i80386 et le dveloppe en Linux en 1991
! 5 04)4

1994 : premire version publique de Linux : 1.0. Dveloppements pris en main par des programmeurs rpartis sur Internet. Intgration des utilitaires GNU Arrive de NT (New Technology ) : mlange de MS-DOS, MacOS, VMS et Unix Novell cde la marque Unix au X/Open puis Sun rachte les droits de SVR4 Novell en 1994
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

E C%CC6) V W I H I 

! 5 "4
Historique

) "

V I $ @ &%C6CE I %9DCA974 4 S W A @ # $ #E B B B @ @8 6 5 5

E  $ @ 5 ) A @ E V E ) PE B B B @ @8 6 5 5 Q@I $ &)C66! I 97#9DCA974

39

Historique

1985 : Micro-ordinateurs
Chorus, socit franaise, dveloppe un micro-noyau Rachat de Chorus par Sun. JavaOS ?

40

Un systme Unix programmes utilisateurs + bibliothques + utilitaires + systme dexploitation qui fournit le support dexcution et les services Unix tourne sur toutes les plates-formes depuis les systmes embarqus jusquaux supercalculateurs massivement parallles 2000 : Windows 2000 : plus stable, plus gros. Expos passionnant sur lingnirie du projet dans From NT OS/2 to Windows 2000 and Beyond - A Software-Engineering Odyssey
) ! 5 # H "#75 $

2001 : Windows XP : encore plus stable, encore plus gros

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Concepts de base

Multiprogrammation Temps partag Pagination & segmentation

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

I 6%I "B $ @  $

 $ I H ) @ ) 5 I H @C(0V 7%(

H @ U SF $ IH) E B B B@ @8 6 5 5 7TRE @CT"V 9DCA974

Historique

41

Concepts de base

Multiprogrammation

42

Mieux utiliser processeur

Partage la mmoire entre plusieurs processus Recouvre des entres-sorties avec du calcul

Protection des programmes entre eux


Base 1 Base 2 Base 3 Programme 1 Programme 2 Programme 3 Systme dexploitation Dplacement 1 Dplacement 2 Dplacement 3

ISI 204 Systmes dexploitation

Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Code translatable
viter des conicts dadresses entre programme Ne pas ger ( la compilation) les adresses des objets manipuls par un programme Solution Calculer les adresses au moment du chargement Utiliser un mcanisme matriel : adresse relative par rapport une base Tout sous-traiter une unit de traduction dadresse La solution logicielle est tout de mme utilise pour Compilation spare : fusion de Bibliothques dynamique Chargement de code la vole
ISI 204 Systmes dexploitation Concepts de base

43

DPARTEMENT INFORMATIQUE ENST Bretagne

par dition de liens

Base et dplacement

44

Protection mmoire : vrier toujours d [0, dmax ] base = 2000 Registres dmax = 26 Processeur mode
ISI 204 Systmes dexploitation Concepts de base

= :2000 base + d 2026

DPARTEMENT INFORMATIQUE ENST Bretagne

Temps partag tourniquet

Donner illusion de disposer dune machine soi tout seul Li linvention du terminal interactif Changer de programme chaque quantum de temps Privilgier les requtes peu gourmandes par rapport aux programmes de calcul : faire

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

 )" '

Changer de place en mmoire : changer

Remplacer

par

" 1'
d

dadressage compliqu : CISC


2026

Base

2000

Mmoire

45

des heureux facilement avec caisse moins de 10 Articles

Concepts de base

Blocage dans le tourniquet

46

Blocage possible dun processeur avant la n de son quantum de temps Libre du temps pour les autres

ISI 204 Systmes dexploitation

Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Pagination
Mmoire trop petite pour contenir tout un programme Concept de mmoire virtuelle Soit mmoire physique Soit en mmoire de masse (sur disque dur) Soit inexistante
Mmoire virtuelle 5 4 3 2 1 0 Mmoire physique 5 4 3 2 1 0

47

Casser la mmoire physique en pages Rajouter composant de traduction entre mmoire virtuelle et mmoire physique : Memory Management Unit Programmes utilisent des adresses virtuelles Page de mmoire virtuelle

MMU Adresse virtuelle Adresse physique

ISI 204 Systmes dexploitation

Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Pagination

48

Fonctionne bien avec le principe de multiprogrammation : si une page nest pas l, excute un autre programme en attendant

ISI 204 Systmes dexploitation

Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Segmentation
Programme, systme, applications : non monolithiques Modules Couches Objets ... Segments de mmoire indpendants

49

Addressage propre chaque segment : permet de crotre arbitrairement sans conit Protection spcique chaque segment : lecture, criture, excution
ISI 204 Systmes dexploitation Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Segmentation

50

Moins fondamental avec grands espaces dadressage sur 64 bits

ISI 204 Systmes dexploitation

Concepts de base

DPARTEMENT INFORMATIQUE ENST Bretagne

Plan
Fonctions dun systme dexploitation Historique

51

Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation Mise en uvre des chiers Systmes de chiers rseau
ISI 204 Systmes dexploitation Concurrence & Paralllisme

DPARTEMENT INFORMATIQUE ENST Bretagne

Plan partie gestion concurrence & paralllisme

52

Schma dun monoprocesseur

Hypothses sur architecture matrielle Notion de noyau Processus lourds & lgers, threads Entres-sorties Gestion du temps qui passe Ordonnancement

ISI 204 Systmes dexploitation

Concurrence & Paralllisme

DPARTEMENT INFORMATIQUE ENST Bretagne

53

Unit dchange

Unit Centrale

Unit dchange

Mmoire

Unit centrale : interprte instructions des programmes applicatifs et du systme dexploitation


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Schma dun monoprocesseur

54

Units dchange (contrleur, canal) : assurent le suivi des entres-sorties Mmoire : accessible via le bus par unit centrale et units dchange Pour dcharger le processeur : accs directe la mmoire par units dchange Direct Memory Access (DMA)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Mcanisme dinterruptions

55

Interruption vnement prioritaire qui interrompt droulement normal dun programme en cours dexcution sur une unit centrale

Interruption Sauvegarde du contexte matriel Programme de traitement dinterruption Restitution du contexte matriel

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Mcanisme dinterruptions

56

Interruption 1 Sauvegarde du contexte matriel Restitution du contexte matriel Interruption 2 Sauvegarde du contexte matriel Interruption 1 Sauvegarde du contexte matriel Restitution du contexte matriel Restitution du contexte matriel

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Mcanisme dinterruptions

57

Types dinterruptions : Externes : matrielles Dclenches par du matriel externe : horloge, clavier, rseau, entre-sortie, n de ligne vido, panne de courant,... Internes : interruptions logicielles, droutement Instruction de passage dans le noyau, division par 0, instruction inexistante, instruction non autorise, accs mmoire invalide,... Le concept quivalent dinterruption existe au niveau logiciel : signaux Unix fonction (handler ) excute sur certaines conditions (erreur, communication possible,...),...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Mcanisme dinterruptions dtail


Contexte matriel : registres sauvegarder quand survient une interruption Compteur ordinal Sommet de pile de programme Mot dtat du programme tat du pipeline interne Dpend du processeur Possibilit de masquer les interruptions ventuellement automasquage pour viter rcursion innie Niveaux (priorits) dinterruptions Parer au plus urgent Structure de pile pour accepter un nombre arbitraire dinterruptions en cours
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

58

Architecture

Schma dun multiprocesseur

59

Mmoire commune
Unit dchange Unit Centrale Unit Centrale Unit Centrale Unit dchange

Mmoire

Mmoire

Mmoire

Mmoire

Plusieurs units centrales pour augmenter la puissance : interprtent instructions des programmes applicatifs et du systme dexploitation Mmoire : plusieurs bancs pour augmenter taille et dbit

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Interruptions & multiprocesseur

60

Hypothses : Chaque processeur peut masquer localement les interruptions Interruption matrielle aiguille vers processeur Ne masquant pas interruptions Si possible celui excutant le processus de plus faible priorit

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Classes darchitectures matrielles

61

Architectures centralises Monoprocesseurs Multiprocesseurs mmoire partage Architectures rparties Multiprocesseurs mmoire distribue : communication par messages Rseaux

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Architecture

Plan partie gestion concurrence & paralllisme

62

Hypothses sur architecture matrielle

Notion de noyau Processus lourds & lgers, threads Entres-sorties Gestion du temps qui passe Ordonnancement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Notion de noyau

63

Couche de logiciel, voire de matriel Met en uvre le concept de processus Tourne dans une machine physique ou virtuelle

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Noyau Unix

64

Plus quun noyau minimal : presque tout le systme dexploitation Gestion mmoire Systmes de gestion de chiers Entres-sorties de bas niveau Entres-sorties de haut niveau Scurit ... Mais volution vers des Unix modulaires...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Notion de micro-noyau

65

Processus
Entressorties Traitement interruptions Gestion processus Ordonnancement Synchronisation communications

Interruptions

Machine sousjacente

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Mises en uvres de la concurrence


Faire tourner plusieurs choses Sur machine nue Systme dexploitation lui-mme Application de contrle de procd, temps rel dur Sur machine virtuelle (qui permet la concurrence) Temps rel : mulation dun systme dexploitation sur un autre systme dexploitation Temps simul : simulation numrique, prvision mtorologique,... Dans la suite on se focalise sur concurrence et systmes dexploitation

66

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Fonctions dun micro-noyau

67

Partager le ou les processeurs entre les processus Grer naissance et mort des processus Cacher les interruptions (entres-sorties et horloge) Fournir un service dentres-sorties de bas niveau Fournir outils dexclusion mutuelle, de synchronisation et de communication inter-processus

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Noyau et interface de programmation

68

Processus 1

Processus 2

Jattends quelque chose

Il y a quelque chose de nouveau

Noyau

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Structure Unix traditionnel (ab initio)

69

Systme fichiers

Mmoire virtuelle

Chargeur programme

Slectionneur pilote mode bloc Pilote disque Pilote bande Pilote imprimante

Slectionneur pilote mode caractre Pilote rseau Pilote tty

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Sparer politique et mcanisme

70

Processus client

Processus client

Serveur fichiers

Serveur processus

Serveur mmoire

Noyau : bus logiciel

Mcanisme de clients-serveurs autour dun bus logiciel

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Structure Unix moderne

71

a.out

COFF

ELF S5FS FFS EXT3

Choix format Priphriques excutable Mmoire virtuelle Commodits communes Slectionneur pilote bloc STREAMS Pilote disque Systme Pilote bande Pilote rseau Pilote TTY Ordonnanceur Temps partag Temps rel Systme de fichier virtuel NFS

Fichiers

RFS

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Centralisation contre distribution

72

2 types de systmes Systmes centraliss : 1 seul noyau Monoprocesseur Multiprocesseur mmoire partage Systmes distribus ou rseau : autant de noyau que de processeurs Multiprocesseur sans mmoire commune Rseaux dordinateurs, stations de travail

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Systmes distribus

73

Processus Noyau Rseau Machine

Processus Noyau Machine

Autant de noyaux que de machines (qui peuvent tre des multiprocesseurs mmoire partage...)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Contrle donn au noyau

74

Quand un processus actif appelle une fonction systme (du noyau) Crer un processus Attendre la n dun processus Indiquer que lon a termin Se bloquer en attente dun vnement Demander une entre-sortie de bas niveau Attendre un certain temps Envoyer un message Recevoir un message

Quand une interruption matrielle survient

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Informations gres par le noyau

75

Donnes globales au noyau (temps, mmoire,...) Connat tous les processus (table des processus) Descripteur de chaque processus Contexte matriel Une partie du contexte logiciel Gre transitions entre tats des processus

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Graphe des tats dun processus

76

Actif ou activable

Dbloqu la suite dune opration dun autre processus ou dun vnement

Se bloque (gnralement luimme)

Bloqu

En attente dun vnement, dun signal, dune condition

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Graphe des tats dun processus sous Unix

77

Actif hors noyau Appel systme, interruption fork Initialisation fork Activable wakeup stop Stopp wakeup continue stop continue Stopp et endormi stop Actif dans noyau sleep Endormi Retour exit Zombie wait

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Atomicit des actions noyau

78

De nombreuses actions concurrentes dans le systme : mise jour liste processus, modication entres-sorties faire,... Besoin dassurer cohrence des informations gres par le noyau

Utilisation de lexclusion mutuelle Mono-processeur : masquage des interruptions Multiprocesseur mmoire commune : masquage des interruptions et construction de verrous avec des instructions , ,...) spciales inscables (test and set, Il y a aussi les dispositifs dchange qui peuvent modier la mmoire...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Contexte matriel

Processus arrts lorsquune interruption matrielle ou logicielle survient Sauvegarde (minimale) des registres de la machine ncessaires au (re)fonctionnement dun processus Registres de travail Compteur ordinal (pointe instruction courante) Mot dtat du programme (bits de protection, rsultats dopration) Pointeur de pile ventuellement tat du pipeline sur processeur complexes,...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

"

Noyau

79

Noyau

Sauvegarde et restitution de contexte


Comment modier lexcution des processus ?
Mmoire Processus P1 Contexte matriel 2 3 Processus P2 Contexte matriel

80

Zone mmoire 1 P1 est interrompu Registres Unit centrale 4 P2 est rendu actif

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Sauvegarde et restitution de contexte


1. P1 actif 2. Une interruption survient. Les registres de la machine sont sauvegard dans une zone mmoire (selon le processeur, cela peut aussi tre un jeu de registres supplmentaire). Passage en mode superviseur 3. Le noyau sexcute 4. Le noyau fait une copie de cette zone dans le descripteur du processus P1 (contexte matriel) 5. Le noyau choisit de rendre le processus P2 actif. Il copie le contenu du contexte matriel du processus P2 dans la zone mmoire 6. Linstruction de retour sur interruption copie la zone mmoire dans les registres du processeur
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

81

Noyau

Sauvegarde et restitution de contexte

82

7. P2 commence/continue sa vie

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Appel systme

83

Processus

Bibliothque (typiquement en C)

Noyau

a) Prparation des paramtres attendFils(num) b) Interruption logicielle c) Prparation des rsultats

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Entre et sortie du noyau

84

Entre Sauvegarde du contexte matriel Passage en mode superviseur/noyau Masquage local des interruptions Si multiprocesseur, prlude de boucle dattente active (avec test & set, ,...) sur certaines structures du noyau Sortie Si multiprocesseur, postlude dexclusion mutuelle Dmasquage local des interruptions Restitution du contexte matriel et passage en mode utilisateur/esclave

Contexte logiciel dun processus

Regroupe Ce que le noyau a besoin de savoir sur le processus Minimal si micro-noyau Ce que le reste du systme dexploitation a besoin de savoir Si processus lger (thread ) : peu de choses Processus lourds beaucoup de choses : Gestion des processeurs Gestion de la mmoire Gestion des chiers Sous Unix, systme et noyau ne font quun...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

85

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Plan partie gestion concurrence & paralllisme

86

Hypothses sur architecture matrielle Notion de noyau

Processus lourds & lgers, threads Entres-sorties Gestion du temps qui passe Ordonnancement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Vie et mort dun processus

87

Ailleule Cre un descendant

Descendante

Attend lailleule

Fin dune longue vie

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

  "  @1 "  4 8 9 $ !  7  ( 6 '& $          5 %# !  1 " 4 "   3  " )    4   0       3  $      3  "   3  "  "  2 1   $ $ " 0 )) )  3   ( & '& $    $ "     %#$ %   0 !"  D  ) 3      $ $ "    ) )  3 "  3    "  $ $  3 )1 

Distinguer le pre du ls en Unix ?

Vie et mort dun processus version Unix

Clones parfaits pas toujours utiles

wait();

fork();

Pre

ISI 204 Systmes dexploitation

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne DPARTEMENT INFORMATIQUE ENST Bretagne

brisure de symtrie

Fils

exit();

Noyau Noyau

 

88

89

Distinguer le pre du ls en Unix ?

90

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Vie et mort dun processus version thread

91

Thread POSIX
Pre Fils

pthread_create();

pthread_join();

pthread_exit();

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

"3

! 

  $ ) $  ) )  )  $ $  "  $ 

  " "

 12  "   1

( (

Threads POSIX
Crer un thread
 

92

indique la fonction excuter avec les paramtres

Pour terminer
  $ $ " 1D"  $   $ 

Transmet dans

une cause de terminaison

Attendre la n dun ls thread

Rcupre dans

une information sur la cause de la


Noyau

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Threads POSIX

terminaison

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

   0 1 

 $$ $ 1

0 1    $   $  $1 $ D"  $    $ $ $  $  ) D  $ $      $    

" 1D" $ $ $ $  $   $ $       

" $ $ # ) "

" ) " $ $

 9

  $ 

 

93

Contexte logiciel processus lourd UNIX


tat du processus (stopp, activable,...) Date de lancement du processus Temps unit centrale utilis Identicateur du processus (PID process identication) Identicateur du pre du processus Pointeur sur le segment de code (les instructions) Pointeur sur le segment des variables globales (initialises 0) Pointeur sur le segment BSS (variables pr-initialises par le programmeur) Table (de bits) des signaux en attente Identit du propritaire-utilisateur UID (user identication) rel, UID effectif (droits temporaires emprunts un utilisateur)
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

94

Noyau

Contexte logiciel processus lourd UNIX

95

Identit du groupe GID (group identication) rel, GID effectif (droits temporaires emprunts un groupe) Droits daccs par dfaut sur les chiers cres (masque UMASK) Rpertoire de travail courant Rpertoire racine (vision du monde changeable pour enfermer des processus : scurit, test,...) Descripteurs (objet) des chiers manipuls par le processus

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Contexte logiciel UNIX en 2 parties

96

Pour des raisons doptimisation mmoire centrale, division du contexte dun processus : U area informations utiles lorsque le processeur est actif peuvent tre stockes sur disque lorsque le processus ne tourne pas Proc area informations indispensables au noyau en permanence Commandes dinformation sur les processus ( , ,...) peuvent provoquer du swap car besoin daccder lU area

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Espace virtuel des processus UNIX


Chaque processus lourd UNIX possde un espace dadressage (virtuel) propre Pile Tas Donnes globales BSS Code Page 0 Bas de la mmoire (0) Haut de la mmoire

Besoin dune convention (collective) de bon usage et programmation


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

$ "

Noyau

97

Noyau

Espace virtuel des processus UNIX


Pile contient au dpart arguments de

98

Les

paramtres

de la ligne de commande

Variables denvironnement dans BSS donnes initialises

Donnes globales initialises 0 Tas utilis pour les variables alloues par ou

Code dun programme (lecture seule) partageable par plusieurs processus

Chasse au bugs : la page 0 ne contient pas de mmoire : permet de dclencher les erreurs daccs

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Communications inter-processus sous UNIX

cre un clone du pre

Ne partagent que les valeurs initiales En fait optimisation : partage des pages de mmoire et copie seulement lors de la premire criture

Par construction espaces dadressages propres et tanche Pas de donnes partages par dfaut complexe pour communiquer un peu plus

Communications par chiers ( protger avec des verrous). Ex. courrier entre facteur et lecteur de courrier Communication par messages (pipe, socket,...). Ex. envoi de courrier et entre facteurs IPC (InterProcess Communication) : smaphores, mmoire partage,...
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

 

D   )

  

 ) 

 

  

0 1 

 0 

 1 

0   $

 
0 1 

 3

99

Processus lgers
Exemple sous UNIX Les threads (processus lgers) sexcutent dans un processus lourd UNIX Partagent donnes globales du processus lourd UNIX Mais les threads disposent en propre Numro (thread-id ) Contexte matriel : image des registres de la machine (compteur ordinal, pointeur de pile, ...) Pile Masque de signaux UNIX Priorit Mmoire locale via le tas global et la pile
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

100

Noyau

Threads utilisateurs dans un processus

101

Pile processus lourd Processus lourd Donnes globales processus lourd

Thread Contexte matriel Contexte logiciel Pile

Thread Contexte matriel Contexte logiciel Pile

Thread Contexte matriel Contexte logiciel Pile

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

2 niveaux dordonnanceur

102

UC

UC

Ordonnanceur du noyau : processus lourds Ordonnanceur utilisateur dans chaque processus lourds : threads

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Avec ordonnanceur de threads noyau

103

P LWP LWP

P LWP

P LWP LWP

P LWP LWP

UC

UC

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Processus et threads : combien a cote ?

104

Dans une vieille version de Solaris (2.4) sur un vieux Sun Temps de cration User thread LWP Processus Compromis dutilisation 52 s 350 s 1700 s Synchro smaphore 66 s ? 390 s 200 s

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Plan partie gestion concurrence & paralllisme

105

Hypothses sur architecture matrielle Notion de noyau Processus lourds & lgers, threads

Entres-sorties Gestion du temps qui passe Ordonnancement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Entres-sorties physiques (bas niveau)

106

Bibliothque Appel, formatage, spool Partie indpendante priphrique


Noyau (Unix)

Pilote du priphrique (partie dpendante priphrique)


Micro noyau

Traitement de linterruption

Matriel (contrleur, unit dchange)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Droulement dune entre-sortie physique


1. Processus 1 sexcute (actif) 2. Excution dune fonction de demande dentre-sortie 3. Appel au noyau via interruption logicielle (a) Prparation de lentre-sortie (b) Lancement de lentre-sortie (c) Ordonnanceur 4. Processus 1 bloqu (dans et hors noyau)

107

5. Interruption matrielle de n dentre-sortie (a) Traitement de n dentre-sortie (b) Ordonnanceur 6. Processus 1 activable
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Plan partie gestion concurrence & paralllisme

108

Hypothses sur architecture matrielle Notion de noyau Processus lourds & lgers, threads Entres-sorties

Gestion du temps qui passe Ordonnancement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Temps
Attribution des ressources tour de rle Temps : crucial dans un systme dexploitation

109

Priphrique particulier qui donne le temps : lhorloge Besoin Connatre lheure Faire des choses intervalles rgulier Part dune frquence rgulire de base quon divise dun bon facteur Base selon richesse et prcision : Oscillateur RC Filtre cramique Courant secteur 50 Hz
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Temps

110

Rsonnateur quartz (ventuellement thermostat) Horloge atomique (MASER au csium 133) Stations radios (GPS, France Inter ou BBC en GO,...)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Gnration dvnements
Mcanisme matriel avec 1 registre T et un compteur C chaque coup dhorloge faire

111

Exemple dusage chaque interruption Grer un temps macroscopique en incrmentant un autre compteur ( si dbordement du compteur...) Rendre activables ou stopps certains processus Redonner la main lordonnanceur qui choisit quel processus faire tourner
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

D $ $   

  ! ! (  0 " 1   0 3 

% %

Noyau

Lheure et sa distribution
Des horloges partout... ...Mais rarement lheure, ni synchronises Problmatique si systmes de chiers distribus et exemple ou corrlation de phnomnes physiques

112

Besoin de synchronisation globale : diffusion dune rfrence par un moyen quelconque et recalage Radiodiffusion Radio Frankfurt 10 MHz Modulation porteuse France Inter GO RDS de la bande FM Satellite GPS Protocoles rseau NTP : Distribution du temps
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Lheure et sa distribution

Mesure statistique du temps de transmission depuis un serveur de rfrence

E  E   'E  V  7E 4"I $ 9(1CP 1(DTF S $ S E IF I 1 F I H U S 6 $ # ) 5H) TTF 1 ! HD# 4 1)S 6 IC1B 5 C) P H ! ! F H 4 5 H 5 H )TF &S %4 P 1 ! ! $

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

    3

Noyau

Noyau

par

113

# H $ S  6 5 7I ! ! H 1 S H T)

Plan partie gestion concurrence & paralllisme

114

Hypothses sur architecture matrielle Notion de noyau Processus lourds & lgers, threads Entres-sorties Gestion du temps qui passe

Ordonnancement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Ordonnancement

115

2 objectifs difciles atteindre Sassurer dun bon taux dutilisation des processeurs Sassurer que chaque processus a le service quil souhaite Satisfaction des processus interactif au dtriment des travaux par lots Cot des changements de contexte, des transferts de mmoire principalemmoire secondaire,... Processus souvent connus qu lexcution ordonnancement dynamique

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Priorit

116

Associer une priorit chaque processus en fonction de Objectifs globaux du systme (systmee temps partag, traitement par lots, contrle de Caractristiques de chaque processus (chance temporelle, priodicit, temps processeur rcemment consomm, temps rcemment pass en sommeil,...) Caractristiques de chaque priphrique : ne pas ralentir des priphriques qui sont dj lents,...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Unix : 2 ordonnancement
Interaction avec mmoire virtuelle et mmoire secondaire car 1 processeur ne peut excuter que des instructions en mmoire principale Au niveau bas : ordonnanceur choisit de rentre actif 1 processus activable prsent en mmoire principale Au niveau haut : ordonnanceur gre le va-et-vient (swap) entre la mmoire principale et la mmoire secondaire. Modie les priorits pour favoriser processus qui viennent de rentrer en mmoire principale, etc. Choix averti de lordonnanceur noyau a constamment en mmoire principale une table de lensemble des processus avec donnes ncessaire au fonctionnement de lordonnanceur

117

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Ordonnancement et va et vient
Certaines informations lies un processus restent en mmoire principale Paramtres dordonnancement Adresses sur disques des segments/pages du processus Informations sur les signaux UNIX accepts ... Dautres informations suivent le processus quand il est mis (swap out) en mmoire secondaire Contexte matriel Table de descripteurs de chiers Pile du noyau (stockage des variables locales du noyau lorsquil traite le processus) et la pile utilisateur (stockage des variables locales lors des calculs)
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

118

Noyau

Quelques politiques dordonnancement

119

Premier Arriv Premier Servi (PAPS) ou First In First Out (FIFO) Tourniquet (round robin) ou partage du temps Priorit statique (temps rel) ou dynamique Shortest job rst... Mais ncessite de connatre la dure de la tche (future) Earliest deadline rst... Mais ncessite de connatre la date de n (future) Smaller period rst (Rate Monotonic scheduling)... Ncessite de prciser les intervalles de lancement ...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Priorits dans Unix


Priorit (pbase ) +19 (+ faible) . . . +1 0 (standard) -1 . . . -20 (+ forte) Processus noyau ont une priorit (ngative en Unix...) forte Processus utilisateurs ont une priorit (positive en Unix...) faible Un utilisateur peut seulement baisser la priorit dun processus utilisateur (modie sa base) laide de la commande
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

120
Exemple Useur dcran . . . Jeux vido Numrisation dun cours . . . Type

Plutt utilisateur

Plutt systme

Noyau

Priorits dans Unix

Le super utilisateur peut augmenter la priorit Ordonnancement : Un processus utilisateur qui a dpass son quantum de temps est remis en queue de sa le dattente (tourniquet) Toutes les secondes, on recalcule les priorits sur le thme pbase + tempsutilisation processeur

Rajout aussi dordonnanceur temps rel en plus dans les Unix modernes : permet davoir aussi des processus qui tournent avec des contraintes fortes

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Avec pbase donn par la commande

(0 par dfaut)

Noyau

 1

121

 )

Inversion de priorit

122

Supposons 3 processus P1 , P2 et P3 Un systme priorits xes dures Priorits p(P1 ) > p(P2 ) > p(P3 )

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Inversion de priorit
Cas pathologique :
P1

123

P2

Temps

P3

P1 attend un message de P3 P2 fonctionne la place de P3 car plus prioritaire Paradoxe : P2 fonctionne la place de P1 et est donc plus prioritaire !

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Mars Pathnder Mission on July 4th, 1997

124

The Mars Pathnder mission was widely proclaimed as "awless" in the early days after its July 4th, 1997 landing on the Martian surface. Successes included its unconventional "landing"-bouncing onto the Martian surface surrounded by airbags, deploying the Sojourner rover, and gathering and transmitting voluminous data back to Earth, including the panoramic pictures that were such a hit on the Web.

Tche martienne de priorit forte

A bus management task ran frequently with high priority to move certain kinds of data in and out of the information bus (1553 bus). Access to the bus was synchronized with mutual exclusion locks (mutexes).

S H # $ 45 2 ) S 7@ W A @ F E 5 F) F SP E P S H) H E B B B@ @8 6 5 5 7D6I %TT6%T4 &(P Q(C7$ 94 T(S 9DCA974


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

125

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Tche martienne de priorit faible

126

The meteorological data gathering task (ASI/MET) ran as an infrequent, low priority thread, and used the information bus to publish its data. When publishing its data, it would acquire a mutex, do writes to the bus, and release the mutex. If an interrupt caused the information bus thread to be scheduled while this mutex was held, and if the information bus thread then attempted to acquire this same mutex in order to retrieve published data, this would cause it to block on the mutex, waiting until the meteorological thread released the mutex before it could continue.

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Tche martienne de priorit moyenne

127

The spacecraft also contained a bus communications task that ran with medium priority.

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Bug martien

128

Most of the time this combination worked ne. However, very infrequently, it was possible for an interrupt to occur that caused the (medium priority) communications task to be scheduled during the short interval while the (high priority) information bus thread was blocked waiting for the (low priority) meteorological data thread. In this case, the long-running communications task, having higher priority than the meteorological task, would prevent it from running, consequently preventing the blocked information bus task from running. After some time had passed, a watchdog timer would go off, notice that the data bus task had not been executed for some time, conclude that something had gone drastically wrong, and initiate a total system reset.

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Debug martien
Vitesse de la lumire Terre-Mars 14 mn Rcuprer une version du systme temps rel (vxWorks) spcialement instrumente pour le debug avec collecte de trace dexcutions Faire tourner avec les mmes tches que sur Mars une maquette identique Bug apparu au bout de 18 heures Analyse : smaphore utilis sans option dhritage de priorit (non mis par dfaut pour des raisons doptimisation) Besoin de modier le code sur... Mars ! Conception dune rustine logicielle (patch) Mise en place avec une procdure spciale... qui avait t prvue !
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

129

Noyau

Plan
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement

130

Gestion de la mmoire Virtualisation Mise en uvre des chiers Systmes de chiers rseau
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Noyau

Gestion des mmoires


Plusieurs types de mmoire Grosses mmoires : pas chres Magntiques : disques durs, bandes, (disquettes),... Optiques : DVD, (CDROM),... Problme : lentes ! Mmoires rapides : FLASH-ROM : moyennement rapide DRAM : rapide SRAM : trs rapide Problme : faible capacit, trs chres moins dtre trs riche (cf vieux supercalculateur Cray,...) besoin dun compromis ! Ide : garder le plus prs possible de lutilisation les donnes dans la mmoire la plus rapide
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

131

Gestion mmoire

Hirarchie mmoire

132

Utilisation

CPU

Cache niveau 1

Cache niveau 2

RAM

Disque Sauvegardes

1 Ko

1 Mo

Sauvegarde 10 Mo 1 Go

1 To

+ 1 To

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Hirarchie mmoire version rseau

133

RAM

RAM

RAM

RAM

Processeur RAM

Processeur

Processeur

Processeur

Rseau Processeur

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Dpasser des limitations dadressage


Rduction du cot du matriel dans applications grand public (lave linge,...) : microcontrleur 1-4-8 bits Mmoire adressable < mmoire physique Comment accder des grosses mmoires lorsquon ne peut manipuler que des donnes sur 8 voire 16 bits (65536 valeurs dadresses) ? Utilisation dune fonction de translation ap = f (av ) donnant ladresse physique partir dune adresse virtuelle Cas des vieux PC avec i8088 : utilisation dun registre de segments pour accder 1 Mo avec des registres dadresse sur 16 bits : ap = av + 16 s Permet simplement davoir plusieurs programme simultanment chargs en mmoire (multiprogrammation) : pour changer la
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

134

Gestion mmoire

Dpasser des limitations dadressage

135

zone du programme excut changer s Cas du Goupil 3 avec 6809 : pagination avec accs possible 16 pages de 4 Ko parmi 256 pages (1 Mo) slectionnable avec laide du systme dexploitation

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Dpasser des limitations dadressage


Page 255 Page 254 Page 253 Page 252 Page 251 Page 102 Page 101 Page 100 Page 99 Page 98 Page 97 Page 60 Page 59 Page 2 Page 1 Page 0

136

Page 15 Page 14 Page 13 Page 12 Page 11 Page 10 Page 9 Page 8 Page 7 Page 6 Page 5 Page 4 Page 3 Page 2 Page 1 Page 0

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Dpasser la mmoire physique

137

Cas avec processeurs courants 32 ou 64 bits : mmoire physique (1 Go) < mmoire adressable (16 Eo) Simuler la mmoire manquante avec de la mmoire moins chre : mmoire secondaire (sur disque dur) Utilise grand espace disponible pour se simplier la vie : on peut espacer les objets sans (trop) compter Par exemple si besoins de piles de taille inconnue pour des processus lgers p sur une machine 64 bits, on peut les placer aux adresses p.232 et elles peuvent grossir chacune jusqu 4 Go

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Intrts de la mmoire virtuelle


Adresse physique des objets pas forcment connue la compilation ni ldition de lien Permet de changer adresse dun objet au chargement ou en cours dexcution Permet de faire apparatre un objet plusieurs adresses (duplication) Permet simplement davoir plusieurs programme simultanment chargs en mmoire (multiprogrammation) Autorise une meilleure gestion de la mmoire : permet de donner une vision plus propre de la mmoire Par exemple peut donner un gros bloc de mmoire une application mme si physiquement il ny a pas assez de mmoire contigu, sans avoir la compacter
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

138

Gestion mmoire

Intrts de la mmoire virtuelle

139

Partage de zones mmoire par plusieurs processus Code si plusieurs instances du mme programme Variables globales si processus lgers Segments de mmoire partage demands explicitement par diffrents processus via les IPC (Inter Process Communicarion) Permet de virtualiser le concept de mmoire de manire arbitraire : cela ressemble de la mmoire mais cest un disque, un chier, un cran,... Mmoire virtuelle (traduction dadresse) gnralement effectue par une MMU (Memory Management Unit)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Grande mmoire virtuelle


En gnral taille mmoire virtuelle mmoire physique

140

Comment raliser la MMU qui calcule une adresse physique sur 40 b partir dune adresse virtuelle sur 64 b ? f : av ap

/264

( /240 )2

64

Ncessite une table de 264 entres de 40 bits ! Soit bien plus que la mmoire de tout ordinateur K Ide 1 : raisonner au grain dune page de taille t et non plus dune case mmoire : av ap = f ( ) + (av %t) t Divise la table de la MMU par t ! Si pages de 4 Ko, plus que 252 pages
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Grande mmoire virtuelle


Page 255 Page 254 Page 253 Page 252 Page 251 Page 102 Page 101 Page 100 Page 99 Page 98 Page 97 Page 60 Page 59 Page 2 Page 1 Page 0 Virtuel MMU
DPARTEMENT INFORMATIQUE ENST Bretagne

141

Page 15 Page 14 Page 13 Page 12 Page 11 Page 10 Page 9 Page 8 Page 7 Page 6 Page 5 Page 4 Page 3 Page 2 Page 1 Page 0 Physique
Gestion mmoire

ISI 204 Systmes dexploitation

Grande mmoire virtuelle

142

K Ide 2 : structure creuse : impossible quun programme non pervers utilise autant de mmoire physique et donc de pages ne stocker que les traductions dadresses (valeurs de f ) pour les pages utiles

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Traduction des adresses des pages


Rcupre ladresse de la page physique la ligne correspondant ladresse de la page virtuelle Existence 0 1 2 3 4 5 6 0 1 1 1 0 1 0 . . . 0x0 . . . 0x23fe 0x5fde 0x2345 Page physique

143

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Traduction des adresses des pages

144

Traduction de ladresse 0x37890 ( 3 ( 0x2345 0x7890 )

0x7890 ) en 0x23457890

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Tailles de pages

145

Compromis Petites pages Grande libert de traduction Ncessite de nombreuses entres de traduction Grandes pages Utile pour allouer rapidement de grosses zones de mmoire Petite table des pages Certains microprocesseurs ont plusieurs tailles de pages possibles

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Pagination 3 niveaux sur SPARC

146

Besoin de compacter la reprsentation de la table (creuse) de traduction Choix par exemple dune pagination 3 niveaux de table dans les processeurs ind1 ind2 ind3 dpl traduite en v dpl

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Dfaut de page
Si une page nexiste pas (invalide) la MMU gnre une interruption Le systme dexploitation Regarde dans la table des pages sil existe une traduction correcte (fait matriellement par certains processeurs) Si la page existe mais pas en mmoire physique par exemple, on la charge depuis la mmoire secondaire (mcanisme dchange ou swap) ventuellement on vacue des pages depuis la mmoire physique (si pages modies) pour faire de la place Cette interruption peut remonter au niveau de lapplication et tre utilise (signal segmentation violation sous Unix)

147

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Vision objet de la mmoire virtuelle

148

Mcanisme de dfaut de page : dclenche lexcution dune fonction quelconque par interruption Permet de surcharger les mthodes dune zone mmoire

Permet de simuler nimporte quel comportement Mmoire articielle mulation dun autre ordinateur Mmoire vido Mmoire virtuellement partage (SVM) transmise ailleurs par rseau ...

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Mmoire virtuelle et localit

Localit spatiale : si un objet est rfrenc, des objets proches en mmoire seront rfrencs bientt (tableaux, structures, variables locales, variables dinstances) Localit temporelle : si un objet est rfrenc, il sera nouveau rfrenc (boucles rcursivit, ...) Utiliser ces observations pour choisir les pages changer

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

   $ D 

 !

et

  $   D 

149

Limiter les dfauts de pages

150

Comment viter que le systme passe son temps traiter des dfaut de pages ? Bien choisir la page vider Rserver un espace chaque processus dans la mmoire physique Le processus qui gnre un dfaut de page cherche une page vider parmi ses propres pages Ou bien, faire le choix des pages vider parmi toutes les pages en mmoire

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Acclrer la traduction dadresse

151

Utiliser une mmoire associative pour stocker les traductions les plus courante : cache spcialis (Translation Look-aside Buffer ) Marche bien car localit spatiale se retrouve au sein dune page Table des pages consulte (par le matriel ou le systme dexploitation) que lorsque la traduction nest pas dans le TLB Le contenu du TLB constitue lespace de travail (working set). En cas de changement de processus on intrt sauvegarder et restaurer ces traductions pour garder la localit

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Gestion mmoire

Contenu dun TLB

152

Numro de page virtuelle Numro de page physique Bit de validit Bit indiquant si la page a t modie par une criture du processeur Bits de protection (autorisation) dcriture, de lecture, dexcution ventuellement bit indiquant que la page a t lue ou accde (exercice : comment le simuler ?)

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Disques

Choix des pages enlever du TLB

153

Nombreux algorithmes possibles FIFO (premire rentre, premire sortie) : un peu violent NRU (Not Recently Used ) : rgulirement met 0 le bit indiquant laccs. Si a la n du quantum de temps le bit est toujours 0 : candidat ljection LRU (Least Recently Used ) : garder la date de dernire utilisation de chaque page et virer la plus ancienne

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Disques

Donner de lespace aux processus

154

Un processus doit avoir sufsamment de pages pour avancer sans trop de dfauts de pages Si pas possible, virer de la mmoire centrale un autre processus en concurrence Ne pas librer des pages partages par dautres processus avec le processus qui nous intresse Ne pas librer des pages bloques pour des entres-sorties Garder du mou en mmoire centrale pour lallocation de nouveaux espace : existence en tche de fond dun dmon qui vide des pages rgulirement

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Disques

Plan
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire

155

Virtualisation Mise en uvre des chiers Systmes de chiers rseau


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Disques

Architectures virtuelles

156

Diffrences entre ce que voit lutilisateur et la ralit Communication par message : rseau Paradigme par messages peut utiliser de la mmoire partage Rseau : communication par message Paradigme variables partages au dessus dun rseau avec des messages Transparence ... mais attention parfois aux performances !

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Disques

Machines virtuelles
OS/360 : traitement par lots Aller plus loin : volont de partage de temps Systme temps partag : Multiprogrammation Machine tendue avec interface plus sympathique que la vraie K Ide : dissocier les 2 Permet de faire tourner nimporte quoi dans la machine virtuelle Programme utilisateur dans chaque VM/370, voire un autre systme dexploitation dans VM/370 : CMS spcialis pour linteractif, Unix,...

157

ISI 204 Systmes dexploitation

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

Machines virtuelles
Principe encore vivant : JVM : Java JVM compile once, run everywhere

158

Langages PERL (Parrot), Python, C# (CDL),... Emacs Langage de programmation Emacs-LISP, interprteur et machine virtuelle (excute du bytecode) Systme dexploitation portable : processus, intercommunication,... Systme de multi-fentrage Peut aussi servir dditeur de texte... Faire tourner des PCs virtuels dans des PCs : VMware, plex86 ,... Faire tourner des PCs sur nimporte quoi (PC, Mac, Sun,...) : BOCHS ,...
ISI 204 Systmes dexploitation

Machines virtuelles

Microsofts Windows RG (Really Good Edition) : des applications Windows dans Widows RG en Flash qui tourne dans une machine virtuelle Flash qui tourne dans un navigateur WWW qui tourne dans un processus qui tourne sur un processeur physique (qui tourne dans...)

ISI 204 Systmes dexploitation

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

! 5 "4

E D)I 0CTD6 &TE 41CT%7D)V ) E DCDR97)4 U S $ B@) H U @ FP #$ P IF) S H S B B B@ @8 6 5 5

@ F ) P F E B B B@ @8 65 5 &(P E 04 )W 9(A9TD4

@ U S F    H D7GE !7! 6 E D(R8 TD4 B B B@ @ 65 5

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

159

Machines virtuelles - fonctionnement


Moniteur de machine virtuelle juste au dessus du matriel Prend en charge la multiprogrammation Copie conforme de matriel si bas niveau : simule Modes noyau, utilisateur Mmoire virtuelle Interruptions Dispositifs virtuels dentre sortie : lvent une interruption et la machine physique fait lopration Lecture de secteurs disques sur un disque virtuel en commandant le contrleur disque virtuel (minidisk ) criture dans la mmoire cran : dclenche une exception au moment de lcriture dans la mmoire transform en criture dans une fentre de lcran physique
ISI 204 Systmes dexploitation Machines virtuelles

160

DPARTEMENT INFORMATIQUE ENST Bretagne

Machines virtuelles - fonctionnement


Laspect multiprogrammation reste simple : commuter des machines virtuelles Difcile optimiser Fait tourner 2 processus identiques sur 2 OS identiques en mme temps sans partage de pages... criture dans lcran virtuel mme si fentre non visible... VMware & plex86 machines x86 sur une machine x86

161

Utilise le x86 sous-jacent pour excuter la majorit du code rapide Mmoire simule par la mmoire virtuelle via la MMU Priphriques dtourns par la MMU et simuls BOCHS

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

@ U S F    H ! B B B@ @8 6 5 5 )DTRE %6 E DCDR97)4

: simule plusieurs

@ (P E "4 )W E D(R8 TD4 F ) P F B B B@ @ 65 5

: simulateur complet de machine


Machines virtuelles

Machines virtuelles - fonctionnement

162

virtuelle processeur A sur processeur B Instructions de A interprtes par B ou traduites (compiles) et excutes par B Mmoire et priphriques grs par linterprteur

ISI 204 Systmes dexploitation

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

Plan
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation

163

Mise en uvre des chiers Systmes de chiers rseau


ISI 204 Systmes dexploitation Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

Fichiers

164

Cf transparents de Robert Rannou

ISI 204 Systmes dexploitation

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

( Disques magntiques )
Secteur 1 Piste 0 Piste 1 Piste 2

165

Secteur 0

Tte 0 Plateau 0

Cylindre 0 Tte 1 Plateau 1

Cylindre 1 Tte 2

Cylindre 2

Plateau 2

Unix FFS optimis pour les disques :


ISI 204 Systmes dexploitation Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

( Disques magntiques )

166

Partition (ou tranche) : ensemble de cylindres conscutifs localit Allocation dans des cylindres conscutifs Allocation dans des secteurs conscutifs avec un saut (temps de rotation) Laisse des cylindres vides rgulirement pour allouer plus rapidement de nouveaux secteurs Problmes des caches dans les contrleurs disque qui loignent de la ralit...

ISI 204 Systmes dexploitation

Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

Partitionnement des disques


Dcoupe des disques pour des usages diffrents Augmente la localit (et donc performances) des accs au sein de chaque partition Limites infranchissables (contre certains utilisateurs expansifs) Fournit des zones brutes pouvant avoir chacune leur systme de chier (indpendant et mme de type diffrent) voir sans (swap, base de donne) Peuvent avoir des politiques dexportation diffrentes sous NFS viter davoir 2 partitions qui se recouvrent sans raison...

167

Partitionnement fait automatiquement et graphiquement par la procdure dinstallation Mais en cas de problme sur un disque, de remplacement, de changement du partitionnement : connaissance utile
ISI 204 Systmes dexploitation Machines virtuelles

DPARTEMENT INFORMATIQUE ENST Bretagne

Partitionnement des disques


Chaque systme dexploitation a sa convention de partitionnement (nest pas dtermin au niveau du disque lui-mme) Solaris dcoupe en 8 ou 10 partitions avec comme convention lusage courant 1 : du swap 2 : tout le disque (dborde sur les autres...) 4: 6:

168

0 : contient

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

Partitionnement des disques


8 : sur PC contient le systme de boot et pointe au dbut du disque 9 : sur PC contient les blocs alternatifs utiliss la place dautres en panne et pointe aprs la partition 8 Sur PC ncessit dune convention collective des OS pour faire du multi-OS. Convention de partitionner un disque jusquen 4 partitions via . Solaris prend une de ces partitions et la repartitionne avec son propre systme La loi de Murphy veut que le partitionnement choisi nest jamais le bon... En gnral, et le swap sont trop petits Loi de Murphy numro 2 : difcile de changer le partitionnement dynamiquement...

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

 "  3

7:

ou

   $ 



 

 " D#

5:

" ) $ 

3:

$  )

 

sur un serveur sur un serveur

Machines virtuelles

169

Machines virtuelles

P t 2 ` !G P I q q 2 ` t 2 ` P P u t P ` t 2 ` 2 ` 2 ` 2 ` I3q ` y2 ` r s s s s G e G G ` Pt"x2 ` r h 2 ` ` qut"s 9 @  & "A 3Y

G ` r ` r )' r t ` r ` #' ` r ` r `' r ` G i' r e ` r ` r `' ` r ` r `' ` r ` r `' P I G ` r )' r s t ` G ##' r ` )' r q G

Y7iFt p h qf I Y p s ef gu ` Y p P Gf P s igq ` ` ` Yw 7ivt s hf Y w f h ` vt Yp7igP ` G I hf  X W

29813&CAT E793)'SGRQDPGHF!%&! D9!1&3B37 6 8 I 4 & E 8 C A @ 9 8 & 4 &  523!1"0#!)'(!% $"#"!   &        

$ $  

D $ 1 $ 

 

format luvre

Utilitaire format

Les commandes sont abrgeables

Utilisation :

Installation dun nouveau disque :

Afche des informations et leur partitionnement

Afche les disques reconnus sur le systme

Test dun disque

Rparation dun disque

Destruction du contenu (sensible...) avant renvoi

gre et afche le partitionnement ( aussi linformation)

Partitionnement

Formattage

ISI 204 Systmes dexploitation

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne DPARTEMENT INFORMATIQUE ENST Bretagne

Formattage Formattage

G c xt c ` ` ` G I G c t u yt ` ` ` G I G yc ` u t c h ` #RBG e G c dBP 9  8  & !13C 

 a  a b a b a b a b a b a b a  a b a 0 & V

9337!3&      7!% 8   0 9 9 !7 9  8   0 9 9 !7 8   0 9 9 !7 8   0 9 9 !7  !% @ A a 39 7 0 7 6

Dh e  u q  I  s  P G t ` U

donne

170

171

format luvre
Adresses aussi en cylindre/tte/bloc Format propose un partitionnement par dfaut
 ! "    ! "       3   )" 7"  ! " ! '  &8 1" &   &$) & &    6  $   $   "D %$  & $ " %$ )   " '   1 3 $ 

172

permet de tester le disque avec un effet plus ou moins destructeur

format luvre
dfectueux et en remet un autre la place. En cas de problme matriel

permet de grer la liste des dfauts (1 gros disque est rarement parfait...) donne un nom au disque. Au CRI on donne des noms de conteneurs pour sy retrouver. aura moins doctets que . Mme nom quon retrouve mont entrine les modications

contient les paramtres de formatage (gomtrie, etc) des disques connus

Disque rcent (SCSI-2) en bon tat : informe directement


Sinon, lire la documentation ou rcuprer un (ou le contraire !)


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

rcent

Formattage

$  ) 3

$ ) 1 ) 3 $ 

 $ $  0

$ ) 1 3 ) $  $

 " " '

 )1 

 "  11 )

  

$  3 1

rcupre un label (la table des matires du disque) de secours en cas de perte du label principal

  '  

 '

reformate le disque

rpare 1 bloc du disque en le rajoutant dans la liste des


ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

Formattage

$    

dcrit le disque courant

$  ) 3

173

` %  #   F &  % 'G0Q B%'&HS#1x)'CGC'7G ( a5  %   S %  P H H T   6  # % B  CG' '1''' r % % & H S  % #     P H6  Q %   & P    d 'G''x i %   & P  q  #  T $  #  P F 'G'''x'xa9 %   & P   'G''x& ( 2 ` h b X y e R R e Y Q w Y e Q b GG'x 1e ( F Q R Q

4 i 9 i 3 3 VVV U

3 i 9 5 5 9 2 5 2 5 VV V V V V T S %  G'R

9 v 5 3 5 i 2 4 I)2 4 5 V V V % 'Q  &  %  ')$ (

! 5 i u   $ F t X )G0b s 9 4 2   & 'F 25 h X g f F e G)''d 4 F Y b ` F Y 'caX V V V V V V V V V V V V V V V V WV & GF  P $ '

 q  '# p V V V V V V  H IGGF

  # @ B  $ @ 9 2 56 5 3 4 3 2       &  %  CDC'A87)110')'$ (  &  %  $ " " !         '#  

tape fdisk sur PC

r i 9 2 V V V V V V V V V %   & 'E

tape fdisk sur PC

Subtilit

Partition Solaris aligne sur 1 cylindre

pargner le Master Boot Record sur le cylindre 0

1 seule partition Solaris par disque

Partage du disque disque entre plusieurs OS

Mode non interactif pour extraire des congurations et congurer de manire prcise un disque brute style . Intrt pour faire des installations automatiques multi-systme dexploitation

"  

$  1 ) 3

$  1 ) 3

1. On formate le disque avec

3. On partitionne la partition Solaris gnre avec nouveau...

 "  3

2. On partitionne globalement avec directement depuis

ISI 204 Systmes dexploitation

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne DPARTEMENT INFORMATIQUE ENST Bretagne

appelable

Formattage Formattage

$  1 3

175 174

Systmes de chiers sous Solaris


Utilise le Virtual File System : dnit une interface permettant de rajouter assez simplement un nouveau type de systme de chiers Masque les dtails : possibilit de lire, crire, consulter, etc. quel que soit le type de systme de chiers (local, distant,...) Systmes de chiers de type disque local UFS : Unix File System, bas sur le FFS 4.3BSD, Systme de chier par dfaut HSFS : High Sierra et ISO-9660 (version ofcielle de la prcdente) pour CD-ROM. Lecture seule. Extension Rock Ridge fournissant la smantique UFS (sauf les liens durs et... lcriture !) PCFS : lecture et criture sur des disques au format MS-DOS (typiquement disquettes)
ISI 204 Systmes dexploitation Systme de chiers

176

DPARTEMENT INFORMATIQUE ENST Bretagne

Systmes de chiers sous Solaris


S5FS : lecture et criture sur des disques au format System V sur PC Systme de chiers de type accs distant NFS : Network File System pour accder des chiers distants comme sils taient locaux (modulo des diffrences de performance) Systme de chiers virtuels CacheFS : Cache File System pour stocker localement une copie rapide. CD-ROM, Intranet distant,... TMPFS : Temporary File System pour stocker en mmoire pour aller trs vite. Conguration par dfaut de (acclration des compilations...) qui est doublement volatil LOFS : Loopback System pour faire apparatre un autre endroit une partie de la hirarchie (y compris montages NFS)
ISI 204 Systmes dexploitation Systme de chiers

177

DPARTEMENT INFORMATIQUE ENST Bretagne

Systmes de chiers sous Solaris


PROCFS : Process System montre la liste des processus en train de tourner sous forme de rpertoires. Utilis par des outils de debug et danalyse 5 autres systmes de chiers usage interne sans administration particulire LOFI Loopback le driver permet de gnrer un pilote brut partir dune image chier

178

Montage de limage dune disquette

Tche de ladministrateur ? Crer de nouveaux systmes de chiers Rendre les ressources locales et distantes accessibles aux
ISI 204 Systmes dexploitation Systme de chiers
DPARTEMENT INFORMATIQUE ENST Bretagne

Systmes de chiers sous Solaris

utilisateurs Connexion et ajout de nouveaux disques Mise en place dune excellente politique de sauvegarde Vrication et correction des chiers endommags un debogueur de systme de chiers Pour les hackers : pour rcuprer un accident... Commandes gnrique : , , , ,... acceptent loption et appellent en fait , , , ,... Voir les documentations de ces dernires commandes pour les dtails intrinsques

ISI 204 Systmes dexploitation

Systme de chiers

DPARTEMENT INFORMATIQUE ENST Bretagne

  ! 

$ $  " 3   $ $

3 "

$ "

  3  " D"  3     %  ")% D% % $   3 %  " % %  

Montage de limage dun CD-ROM

179

! " "       !  " " 3 3  % 

' 3 "

Montage/dmontage dun systme de chiers


Pour accder un systme de chier : montage pour attacher le systme un rpertoire de la hirarchie prexistante

180

est toujours mont (lancement du noyau) et indmontable

Montage cache les chiers prexistants dans le rpertoire Dmontage du systme de chier fait rapparatre dventuels chiers prexistants Dmontage possible seulement si plus aucun process nutilise le systme de chier Dmontage utile pour faire une sauvegarde dune partition en tant sr que personne ne la modie Arrt du systme utilise une procdure de dmontage

ISI 204 Systmes dexploitation

Systme de chiers

DPARTEMENT INFORMATIQUE ENST Bretagne

UFS journalis
Unix File System est celui utilis par dfaut sous Solaris. Extension du FFS 4.3BSD. La partition est divise en groupes de cylindres Boot Block 8 Ko permettant le dmarrage. Existe mme si pas partition de boot Superblock contient les informations sur le systme de chier : taille, statut, label, taille des blocs, date de dernire modication, nom du dernier rpertoire de montage, etc. Contient des drapeaux prcisant le fonctionnement tat clean, stable, active, logging et unknown. Permet de savoir o en est le disque lors dun accident. clean, stable ou logging ne ncessite pas de Extended Fundamental Type (EFT) pour avoir des numros dutilisateurs, de groupes et de devices sur 32 bits Large le systems systme de chiers de 1 To en tout.
ISI 204 Systmes dexploitation

181

DPARTEMENT INFORMATIQUE ENST Bretagne

3 "

Systme de chiers

UFS journalis
Pratique si stripping/RAIDs la DiskSuite Large les pour chiers dpassant les 2 Go. Par dfaut Comme linformation des superblocs est critique, elle est rplique dans tous les groupes de cylindres et dcale de telle manire quelle soit rpartie en plus sur tous les plateaux Inodes contiennent toutes les informations sur un chier sauf son nom : type (normal, rpertoire, device,...), mode, propritaire et groupe, taille, dates,... et tableau de 15 adresses de blocs de donnes. Ladresse 13 pointe vers un bloc dadresses, ladresse 14 pointe vers un bloc dadresses de blocs dadresses et ladresse 15 encore un niveau de plus pour les trs gros chiers Blocs de donnes stockent le contenu des chiers et des rpertoires (chiers de noms et dadresses dinodes). Blocs de taille 8 Ko ou 1 Ko (fragments) par dfaut
ISI 204 Systmes dexploitation Systme de chiers

182

DPARTEMENT INFORMATIQUE ENST Bretagne

UFS journalis
Blocs libres blocs non utiliss (ni inodes, ni donnes, ni blocs dadresse) par groupe de cylindre. Garde trace de la fragmentation pour limiter sa propagation Pour des raisons de performance, on arrte le remplissage du disque 90 % de la capacit pour ne pas perdre trop de temps chercher de la place Journalisation Penser les modications aux chiers sous forme de transactions Stocker les transactions dans un journal Appliquer (plus tard) les transactions au systme de chier Aprs accident, lors du redmarrage les transactions incompltes sont limines mais les transactions compltes sont prises en compte cohrence maintenue
ISI 204 Systmes dexploitation Systme de chiers

183

DPARTEMENT INFORMATIQUE ENST Bretagne

" 3  1$

3 r 5 i i 3 5

 "953 3 r 5 

4 9 ! " 3 i 5

 92v4!9 !I5 

4 ! 2 r )2 i 5

 

45 3 ! ! 5 " 3 v 9 5 ! 4 5

95vv5! !5  
" ! ! " r v r

4"3v! " r

r 2 9 3 3 r C5

 ! !   

 

  

9 ! " 2 " )I! r r 4 r 3 r 4 r 5 r 9 i v r r 9 r v r 2 r 9 r )2 r 2 r 3 " " v " 4 9 r 9 3 3 v " 4 3 " v 4 4 " 4 4 i 94 r r )Cv i ! i " i ! i I3 i v i 5 i r C2 i 3 i )2 i v v 9 4 " 2 5 4 3 ! 4 " 3 5 v 4 4 3 ! 2 2 9 5 2 r 2 3 r i " i " 9 5 4 9 9 i 2 i v r 4 i 4 i 9 9 i 9 5 i 9 r ! i 9 5 r v i 9 4 9 ! 9 9 3 " 9 " " 3 v 4 " " " 9 ! 4 ! 3 9 3 3 5 " r )2 r 9 4 r " i 9 9 i 3 r 9 r " r 9 )2 r 9 2 " r )2 )2 3 r 4 9 9 9 2 3 4 5 4 " 4 3 9 5 v 4 4 5 " 9 v v 3 5 ! i r " 2 v 5 3 3 2 3 5 9 5 2 ! C3 r 2 5 2 ! 9 " 9 ! 2 ! i 2 2 Cv 4 9 v 5 ! 4 9 2 2 " ! r )I2 ! i I2 r r v i 3 i 2 3 i I2 " " 3 9 " ! " " " 4 " " 3 " 5 9 ! 4 v 3 9 2 3 r v 3 5 v 2 " ! v r 4 i 4 v r  3 r 3  " r r Iv i 5 i 9 " r D 4 r  9 i ` AB V A0Y f ' 6 IGG@ I) @ f  H  #  &  P H  # @  # f &  P H B S  IG 03 i ! G 3 ! r # " i 6 I'GAC11 4 r 9 v S g 5 S  P H & S $ # 2 3 %  g v " 'G r 9 C#x''G# 4 i )x'G r 5 & # 2  & 9 2  &  %  $ " 9 %   & #  r v 3 9 v ` 5  4 4 #   & q  r ' G "2Af4 rr C3x!319 r 3 r )I2 r C9 r 5 ' r  'G  Y 0'u 9 " 2 2 2 9 4 2 9 v 2 " 9 2 r v 3 9 v 5  4 4 #   & q   H f   $ B  $ a r   G )1' GxI# a'G'% % 6 ` 5  4 4 #   & q  u   $     % # H &  % `   5  4 4 #   & q  q f   ' r  'G )0'G% & f   q H  G

 

  !     !             

      

     !     !          !       

" 3 

" 3 

0  0  1% 0

3 "

UFS journalis

" 3  "  3 " 3 

UFS journalis

permet de crer un systme de chier en spciant tous les paramtres

permet de gnoler les paramtres aprs coup. Moins utile avec tous les caches des disques

Il peut tre utile de stocker cette information pour avoir ladresse des superblocs en cas de coup dur.

Dmarr par option

Plus besoin de faire tourner de longs

Le journal est allou dans la liste de blocs vides

cre un systme de chier standard en appelant avec des paramtres par dfaut

ISI 204 Systmes dexploitation ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne DPARTEMENT INFORMATIQUE ENST Bretagne

au montage

Systme de chiers Systme de chiers

au dmarrage

185 184

Vrication dun systme de chiers


Beaucoup de choses sont faites de manire asynchrone pour acclrer un systme de chiers. effectue les critures en tche de fond re-synchronise les disques avec ce que pense lutilisateur (utile si oblig darrter salement une machine)
 " 3  3 "

186

Suite un reboot intempestif ou une panne matrielle, structures de donnes incohrentes dans le systme de chier : chiers moitis effacs, superbloc endommag,... au dmarrage si un systme de chier Lancement dun nest pas marqu clean (dmont proprement larrt), stable (non dmont proprement larrt mais non modi aprs le dernier ou avant larrt) ou (systme de chier journalis). Parcours de toute la structure du disque : long ! Mais analyse de plusieurs disques en parallle
ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

Vrication dun systme de chiers


Corrige le superbloc (taille, nombre dinodes, nombre de blocs et dinodes libres) Peut rcuprer un superbloc de secours. Si le systme est trop HS pour savoir o le trouver, chercher si vous navez pas la sortie de quelque part sinon faire un du disque pour faire un systme de chiers pour de faux Vrication des inodes (nombre de liens vers linode, taille, blocs de donnes rfrencs 2 fois) Correction des rpertoires ... Si chiers et rpertoires (inodes) non rfrencs dans un rpertoire : relis Certains problmes sont insolubles automatiquement : choix questions lutilisateur. Possibilit de faire un la main
ISI 204 Systmes dexploitation Systme de chiers

et

dans les rpertoires

DPARTEMENT INFORMATIQUE ENST Bretagne

%

" 3 

3 "

0 )

 D"  3 $

 " D3  3 "

3 "

" 3 

 1"

 1"

Systme de chiers

187

Vrication dun systme de chiers


(sur un systme de chier inactif !) avec

188

Ne pas monter a priori de disque local via sans prciser que le doit tre fait au dmarrage. Un dans indique pas de , pour squentiel dans lordre du et plus que 1 pour dire que les fsck sont ensuite faits en parallle sur les disques ne remplace pas les RAID et encore moins les sauvegardes ! vite juste les restaurations en cas de problmes mineurs

Pour hackers et pompiers le dbogueur de systme de chiers : , ,...

ISI 204 Systmes dexploitation

Systme de chiers

DPARTEMENT INFORMATIQUE ENST Bretagne

Plan
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation Mise en uvre des chiers

Systmes de chiers rseau


ISI 204 Systmes dexploitation Systme de chiers

DPARTEMENT INFORMATIQUE ENST Bretagne

% ' $ " 3  ) $

3 "

 3 "

3 "   " "   3   "


' " $3 $1 ' $ " )D3 ) $

na aucun moyen de rparer le contenu des chiers...

3 "

" 3  ' 3 ' 3 " "

3 "

189

Plan
Fonctions dun systme dexploitation Historique Concurrence & paralllisme Processus et gestion des processus Entres-sorties de bas niveau Gestion du temps Ordonnancement Gestion de la mmoire Virtualisation Mise en uvre des chiers Systmes de chiers rseau
ISI 204 Systmes dexploitation Systmes de chiers distants

190

DPARTEMENT INFORMATIQUE ENST Bretagne

Pouvoir dlocaliser les chiers

191

Ds dbut annes 1970 dveloppement des rseaux et protocoles de transfert de chiers : UUCP, FTP,... Pas trs lgant car pas de vision globale du systme mergence de systmes de chiers permettant des accs transparents aux chiers distants dans les annes 1980 Network File System (NFS) de Sun Microsystems Remote File Sharing (RFS) dAT&T Andrew File System (AFS) de Carnegie-Mellon University qui a volu en Distributed File System dOSF/DCE

ISI 204 Systmes dexploitation

Systmes de chiers distants

DPARTEMENT INFORMATIQUE ENST Bretagne

Proprits importantes

192

Un systme de chiers distribu peut avoir : Transparence de laccs distant Transparence de la localisation Nom indpendant de la localisation Mobilit possible de lutilisateur Tolrance aux pannes Extensibilit Mobilit des chiers

ISI 204 Systmes dexploitation

Systmes de chiers distants

DPARTEMENT INFORMATIQUE ENST Bretagne

Considrations de conception
Espace de nommage : uniforme ou pas Espace de nommage uniforme : la localisation napparat pas Un client peut greffer ( monter ) une arborescence distante dans sa propre hirarchie avec un nom, voire un usage (FTP,...), dpendant de la machine distante Fonctionnement avec ou sans tat du serveur Certaines requtes possdent un tat quil faut stocker quelque part : , ,... Serveur sans tat persistant : chaque client doit envoyer des requtes auto-sufsantes (position dans le chier o on doit crire,...). Serveur plus simple Serveur avec tat persistant : conserve des informations sur les clients, moins de trac rseau mais plus complexe (rcupration de ltat en cas de plantage du serveur,...)
ISI 204 Systmes dexploitation Systmes de chiers distants

193

 )"  

)

DPARTEMENT INFORMATIQUE ENST Bretagne

Considrations de conception

194

Smantique du partage Smantique Unix : toute modication par un client doit tre visible immdiatement par un autre client. Contrainte forte performances Smantique de session : modications propages aux autres clients quau niveau du ou intervalle rgulier,... Mthodes daccs distance : pas toujours limites un simple modle client-serveur dans le cas dun serveur tat cause du mcanisme de rcupration de panne du serveur

ISI 204 Systmes dexploitation

DPARTEMENT INFORMATIQUE ENST Bretagne

Network File System (NFS)


Introduit en 1985 avec la version 2 par Sun Microsystem Accs transparent des systmes de chiers distants
/ dev home etc usr bin users chailly deauville barrique3 bassine2 bassine3 vasque1
keryell / NFS chailly

keryell etc RMAIL TeX

Standard de facto

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

 "  )1

Systmes de chiers distants

195

dev home etc usr bin users chailly deauville


Autre disque local

barrique3 bassine2 bassine3 vasque1 NFS chailly etc RMAIL TeX NFS deauville

NFS

Network File System (NFS)

196

Modle client-serveur Serveur de chiers exporte un ensemble de chiers Clients de NFS accdent ces chiers Possible avoir machines la fois clients et serveurs Communications par des Remote Procedure Call

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

NFS

Buts de conceptions
Non restreint Unix Protocole indpendant du matriel Mcanisme simple de rcupration aprs plantage du client ou serveur Accs transparents pour les applications : pas de noms, bibliothque ou compilation spciques Smantique Unix maintenue dans le cas de clients Unix Performances NFS comparables celles des disques locaux Ralisation indpendante de la couche transport Serveur de chiers exporte un ensemble de chiers Clients de NFS accdent ces chiers Possible avoir machines la fois clients et serveurs
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

197

NFS

Buts de conceptions

198

Communications par des Remote Procedure Call : invocation de fonctions distantes avec passage darguments locaux et rcupration des rsultats

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

NFS

Composants de NFS
Protocole RPC : interaction entre client et serveur Extended Data Representation (XDR) : encodage des informations indpendant de lharchitecture matrielle Programme du serveur NFS : gre requtes des clients Programme du client NFS : transforme appels systmes aux chiers distants en appels RPC aux serveurs NFS Protocole de montage : gre montage et dmontage des systmes de chiers NFS Plusieurs processus dmons : gre les requtes NFS et gre montage sur serveur, gre sur le client les entres-sorties asynchrones des blocs de chiers Rajout mcanisme de verrou sur chiers via NFS avec Network et ) File System et Network Status Monitor (
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

199

$ $ ) "



'

" 3 

NFS

NFS : sans tat


Pas dtat concernant le client dans le serveur Chaque requte auto-sufsante et indpendante des autres

200

Pas de mcansime d Les

ou

et

doivent contenir leur propre offset

Plantage du client : besoin de remonter le systme de chiers Plantage du serveur : client rpte ses requtes jusqu une rponse. Pas de diffrence entre serveur lent ou serveur qui redmarre... Sans tat Protocole spar pour le verrouillage (NLM) Toute modication des chiers doivent tre crits sur disques du serveur avant de rpondre au client car en cas de plantage client ne serait jamais au courant de la perte
ISI 204 Systmes dexploitation
DPARTEMENT INFORMATIQUE ENST Bretagne

NFS : sans tat

dinformation...

Lent, acclrateurs matriels, NFS v.3

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

 "  )1
NFS

 $  

201

NFS

Conclusion

202

Informatique et donc systmes dexploitation : partout ! Ingnieur comprendre comment cela marche

quelque chose derrire les interfaces graphiques Savoir bien utiliser le systme Donne plein dexemples de bonnes ides pour la gestion de ressources Continuer lapprentissage du C

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Conclusion

Table des matires

203

List of Slides
1 Copyright (c) Introduction 2 Le cours 3 Problmatique 4 Plan

21 Bibliographie Linux 22 Plan 23 Historique Historique 25 19451955 : ordinateur squentiel 28 19551965 : Jusqu lOS 30 19651985 : Multiprogrammation, temps partags 33 Unix Story

5 Introduction 37 1985 : Micro-ordinateurs 7 Machine Virtuelle tendue 41 Concepts de base 9 Abstraction de chier Concepts de base 10 Fichiers et chiers spciaux 11 Transparence et opacit 14 Nirvana des systmes 15 Un ordinateur dans une perspective logicielle 16 DCE Distributed Computing Environment 17 Pourquoi ce cours en 2A ? 19 Bibliographie 42 Multiprogrammation 43 Code translatable 44 Base et dplacement 45 Temps partag tourniquet 46 Blocage dans le tourniquet 47 Pagination 49 Segmentation

ISI 204 Systmes dexploitationConclusion


DPARTEMENT INFORMATIQUE ENST Bretagne

Table des matires

203

51 Plan Concurrence & Paralllisme 52 Plan partie gestion concurrence & paralllisme 53 Schma dun monoprocesseur Architecture 55 Mcanisme dinterruptions 58 Mcanisme dinterruptions dtail 59 Schma dun multiprocesseur 60 Interruptions & multiprocesseur 61 Classes darchitectures matrielles 62 Plan partie gestion concurrence & paralllisme 63 Notion de noyau Noyau 64 Noyau Unix 65 Notion de micro-noyau 66 Mises en uvres de la concurrence 67 Fonctions dun micro-noyau 68 Noyau et interface de programmation

69 Structure Unix traditionnel (ab initio) 70 Sparer politique et mcanisme 71 Structure Unix moderne 72 Centralisation contre distribution 73 Systmes distribus 74 Contrle donn au noyau 75 Informations gres par le noyau 76 Graphe des tats dun processus 77 Graphe des tats dun processus sous Unix 78 Atomicit des actions noyau 79 Contexte matriel 80 Sauvegarde et restitution de contexte 83 Appel systme 84 Entre et sortie du noyau 85 Contexte logiciel dun processus 86 Plan partie gestion concurrence & paralllisme 87 Vie et mort dun processus 88 Vie et mort dun processus version Unix

ISI 204 Systmes dexploitationConclusion


DPARTEMENT INFORMATIQUE ENST Bretagne

Table des matires

203

89 Distinguer le pre du ls en Unix ? 91 Vie et mort dun processus version thread 92 Threads POSIX 94 Contexte logiciel processus lourd UNIX 96 Contexte logiciel UNIX en 2 parties 97 Espace virtuel des processus UNIX 99 Communications inter-processus sous UNIX 100 Processus lgers 101 Threads utilisateurs dans un processus 102 2 niveaux dordonnanceur 103 Avec ordonnanceur de threads noyau 104 Processus et threads : combien a cote ? 105 Plan partie gestion concurrence & paralllisme 106 Entres-sorties physiques (bas niveau) 107 Droulement dune entre-sortie physique 108 Plan partie gestion concurrence & paralllisme 109 Temps 111 Gnration dvnements

112 Lheure et sa distribution 114 Plan partie gestion concurrence & paralllisme 115 Ordonnancement 116 Priorit 117 Unix : 2 ordonnancement 118 Ordonnancement et va et vient 119 Quelques politiques dordonnancement 120 Priorits dans Unix 122 Inversion de priorit 124 Mars Pathnder Mission on July 4th, 1997 125 Tche martienne de priorit forte 126 Tche martienne de priorit faible 127 Tche martienne de priorit moyenne 128 Bug martien 129 Debug martien 130 Fichiers et gestion mmoire 131 Gestion des mmoires Gestion mmoire

ISI 204 Systmes dexploitationConclusion


DPARTEMENT INFORMATIQUE ENST Bretagne

Table des matires

203

132 Hirarchie mmoire 133 Hirarchie mmoire version rseau 134 Dpasser des limitations dadressage 137 Dpasser la mmoire physique 138 Intrts de la mmoire virtuelle 140 Grande mmoire virtuelle 143 Traduction des adresses des pages 145 Tailles de pages 146 Pagination 3 niveaux sur SPARC 147 Dfaut de page 148 Vision objet de la mmoire virtuelle 149 Mmoire virtuelle et localit 150 Limiter les dfauts de pages 151 Acclrer la traduction dadresse 152 Contenu dun TLB 153 Choix des pages enlever du TLB Disques 154 Donner de lespace aux processus

155 ( Disques magntiques ) 157 Partitionnement des disques 160 Utilitaire format 161 format luvre Formattage 164 tape fdisk sur PC 166 Systmes de chiers sous Solaris Systme de chiers 170 Montage/dmontage dun systme de chiers 171 UFS journalis 176 Vrication dun systme de chiers 179 Plan 180 Plan 181 Architectures virtuelles 182 Machines virtuelles Machines virtuelles 185 Machines virtuelles - fonctionnement 188 Plan

ISI 204 Systmes dexploitationConclusion


DPARTEMENT INFORMATIQUE ENST Bretagne

Table des matires

203

189 Plan Systmes de chiers distants 190 Pouvoir dlocaliser les chiers

196 Buts de conceptions 198 Composants de NFS 199 NFS : sans tat

191 Proprits importantes 192 Considrations de conception 194 Network File System (NFS) NFS 201 Conclusion Conclusion 202 Table des matires

ISI 204 Systmes dexploitation


DPARTEMENT INFORMATIQUE ENST Bretagne

Conclusion

Vous aimerez peut-être aussi