Systeme d Exploitation Presentation Systeme Cnrs
Transcript of Systeme d Exploitation Presentation Systeme Cnrs
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 1/104
Systèmes d’exploitation et supports architecturaux
Ronan Keryell
Robert Rannou
—
Département Informatique de
l’École Nationale Supérieure des Télécommunications de Bretagne
Janvier 2003—février 2003
Copyright (c) 1
• Copyright (c) 1986–2003 by¢ ¡ £ ¥ £ ¨ ! £ " $ % ' $ ¥ 0 £ ¨ 3
.
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 at4 5 5 6 8 @ @ B B B E F 6 H I P F I 5 H I 5 E F S U @ F 6 H I 6 V W @ ).
• Si vous améliorez ces cours, merci de m’envoyer vosmodifications !
• Transparents 100 % à base de logiciels libres (LaTEX,...)
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 2/104
Le cours 2
• « Je suis contre les polys » (cf CdV) mais :
Cours « cliquable »
Dense
% ¡
Table des matières
• Pas de petites classes
• Beaucoup d’exemples basés sur Unix mais...
• Retenir idées et concepts plutôt que les exemples précis
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Problématique 3
• Ubiquité de l’informatique
• Beaucoup d’applications
• Reposent sur des fonctionalités basiques communes
Interagir avec l’extérieur
Assurer démarrage, vie et mort des programmes
Confort d’utilisation mais aussi de développement
Besoin de sécurité d’exécution
• De nombreux types d’ordinateurs existent
Assurer portabilité
Assurer pérénité des développements
Capitaliser l’expérience
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 3/104
Plan 4
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Introduction 5
Fournit 2 types de services
• Machine virtuelle étendue plus agréable que la vraie machinebrute
Plusieurs programmes fonctionnent en même temps
Plusieurs utilisateurs
Mémoire arbitrairement grande
Fichiers
Interfaces (graphiques) sympathiques
...
Détails cachés de manière transparente
• Gestion optimale des ressources
Processeurs
Mémoire
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 4/104
Introduction 6
Périphériques d’entrée-sortie Gestion de la qualité de service (surtout en mode
multi-utilisateur...)
Latence, temps de réponse : mode intéractif Débit : centre de calcul Contraintes temps réel : gestion d’un processus industriel Tolérance aux pannes : centrales nucléaires, avions ...
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Machine Virtuelle Étendue 7
• Processus : abstraction de processeur virtuel
Programme s’exécutant sur un processeur
Contexte d’exécution
Protection
• Atomicité : qui paraît insécable Lecture, écriture
Transactions : début, fin, abandon possible sans casse
• Fichier abstrait
Conteneur de données
Mémoire (principale ou secondaire)
Périphérique ¡
£
3
¡¤
(disquette),...
Terminal ¡
£
$ $
(clavier, écran, souris¦ ¡
£
§
¡ © "
)
Lien de communication ¦ ¡
£
$
¤ , socket
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 5/104
Machine Virtuelle Étendue 8
Processus dans
¡ ¢
Informations ¡
£
" £
¡
" $ ¥ $
Contrôle de n’importe quoi...
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Abstraction de fichier 9
Dans un système imaginaire...
Fichiers
Normaux Spéciaux
Séquentiels
Blocs CaractèresDirects
Indexés
Texte
Binaire
Exécutable
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 6/104
Fichiers et fichiers spéciaux 10
•¢
$
©¢
¡
£
: imprime le contenu de
$
©¢
•¢ ¥ $
¢ ¡
£
¡
¡ ¢
¡
£
£ ©
met des 0 à la poubelle
•¢ ¥ $
¢ ¡
£
¥ £
¡
¡
§
¢¥
crée un fichier de caractères aléatoires
• Sockets : tuyaux
Entre machine ( ¤¥ § ©
,...)
¡
% ¡ ¡ $ %
¡
"
¥
0 ¡ £
¤
!
©
¡ : entre processus
Pipes nommés
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Transparence et opacité 11
« C’est transparent à l’utilisateur » ≡ Il ne voit rien ¡ c’est opaque !
• Hétérogénéité
Modèles et marques d’ordinateur
Taille des mots et rangement des octets dans les mots
Systèmes d’exploitation différents
Périphériques différents
• Localisation
Fichier local ou non
Ordinateur distant ou pas
• Migration & mobilité
Serveurs qui se déplacent
Objets migrateurs
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 7/104
Transparence et opacité 12
Ressources distribuées
• Réplication (tolérance aux pannes et performances)
Multiplication des serveurs Mécanisme de caches
• Concurrence et parallélisme
Sérialisabilité
Définition de l’interface de programmation du système
• Objets définis dans l’interface
• Relations inter-objets ?
• Comment communiquer ?
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Transparence et opacité 13
Exemple de concept : partage de données dans une variable globale(locale ou distante)Le système va masquer la réalité :
• Réseau haut-débit
• Mémoire globale
• Mécanismes de cache à cohérence forte (atomique)
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 8/104
Nirvana des systèmes 14
• Vrai système distribué
• Pas un système réseau• Vision monosite
• Espace de nommage unique
• ¿ Comment concilier transparence et performance ?
Compromis cacher = gérer...
Bien comprendre comment cela marche si on ne veut pastomber dans des pièges cachés... Ce cours !
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Un ordinateur dans une perspective logicielle 15
Jeux
CompilateursÉditeurs Interprétation de commandes
Suite bureautique
Système d’exploitation
Langage machine
Multiprogrammation
VirusCourriel
Dispositifs physiques
Programmesd’application
Programmessystème
Matériel
Fenêtrage
Applications,...
Le grand public ne voit que le haut et le fenêtrage...
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 9/104
DCE — Distributed Computing Environment 16
Applications
XDS
CDS X500DTS
Sécurité (Kerberos,...)
RPC (Remote Procedure Call)
Threads
Systèmes d’exploitation Réseaux
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Pourquoi ce cours en 2A ? 17
• ¡Parce que !
• Informatique et donc systèmes d’exploitation partout
• Vernis aux futurs ingénieurs dans la salle
• Comprendre la problématique
• Sirènes graphiques : une interface graphique ne fait quecacher la complexité qui réapparaît en cas de problème...
• Nécessité de comprendre comment cela fonctionne !
• Plein d’astuces réutilisables dans la vie de tout les jours
Programmation
Optimisation
Gestion de production
Gestion de son potager
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 10/104
Pourquoi ce cours en 2A ? 18
Gestion de son agenda
Gestion de son carnet de bal
...
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Bibliographie 19
• Les bases (un peu d’histoire) : « Systèmes d’exploitation des
ordinateurs : principes de conception », Paris : Dué, J. Briat, B.Canet, E. Cleemann, J.C. Derniame, J. Ferrié, C. Kaiser, S.Krakowiak, J. Mossière, J.-P. Verjus4 5 5 6 8 @ @ P I V E P I ¢ E ¥ S @ ¥ § © @ E 4 5 !
• Cours du CNAM
4 5 5 6 8 @ @ # H 6 5 $ I ¥D F E P I ¢ E ¥ S @ ( I ) H $ U I H H I 5 @ 1 P ! H 2 S F W ¢ 5 F $ S H @ § 3 5 @ § 1 ) 5 H H )
4 5 5 6 8 @ @ # H 6 5 $ I ¥D F E P I ¢ E ¥ S @ ( I ) H $ U I H H I 5 @ 1 P ! H @ 7 § 5
4 5 5 6 8 @ @ # H 6 5 $ I ¥D F E P I ¢ E ¥ S @ ( I ) H $ U I H H I 5 @ 1 P ! H § 6 H P $ ¢ ! $ ) ¢ 5 $ F I @ 8 9
4 5 5 6 8 @ @ # H 6 5 $ I ¥D F E P I ¢ E ¥ S @ ( I ) H $ U I H H I 5 @ 1 P ! H § 6 H P $ ¢ ! $ ) ¢ 5 $ F I @ § 3
•4 5 5 6 8 @ @ P V $ E V I $ U H E P 4 @ A W $ ! ! ¢ S # @ ) 1 ) 5 H H 5 5 @
cours en français de
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 11/104
Bibliographie 20
David Billard
• « UNIX Internals: The New Frontiers », Uresh Vahalia, October,1995, Prentice Hall Engineering/Science/Mathematics4 5 5 6 8 @ @ B B B E 6 4 6 5 S E P F @ 6 5 S W F F ) @ H ) ¢ ¤ ¦ ¤ ¤ © E 4 5 !
• « Operating systems : a modern perspective », Gary J. Nutt,Addison Wesley, 1997
• « The Magic garden explained : the internals of UNIX System Vrelease 4 : an open systems design », B. Goodheart ; J. Cox,Prentice-Hall, 1994
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Bibliographie Linux 21
• « Linux Internals », Moshe Bar, 2000, The McGraw-HillCompanies, Inc.
• « Linux device drivers », Alessandro Rubini & Jonathan Corbet,
O’Reilly & associates, 1998, 2nd Edition June 2001,0-59600-008-1, Order Number: 0081, 586 pages, $39.954 5 5 6 8 @ @ B B B E ¤ 0 ! E P F @ ! # # @ P 4 ¢ 6 5 H S @ W F F @ W F F $ I # H 6 # ¥ E 4 5 !
• « Linux Kernel Internals », Tigran Aivazian,4 5 5 6 8 @ @ B B B E F ) H ) E V ! $ I V E I H 5 @ 6 ¢ 5 P 4 H ) @ ! $ E 4 5 !
• « The Linux Kernel », David A Rusling,4 5 5 6 8 @ @ B B B E ! $ I V 4 E P F @ U V $ # H ) @ " @ 5 ! E 4 5 !
ISI 204 — Systèmes d’exploitation —Introduction—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 12/104
Plan 22
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Historique 23
• 1945–1955
Pas de système d’exploitation
Tout faire à la main
• 1955–1965
Langages de plus haut niveau Générations de machines
• 1965–1985
Multiprogrammation
Temps partagé
Gros systèmes
• 1985–· · ·
Ordinateurs personnels
Stations de travail
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 13/104
Historique 24
Réseaux (Internet)
Systèmes distribués
4 5 5 6 8 @ @ B B B E P F 6 V 5 H S E F S U @ @ 4 $ ) 5 F S 1
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1945–1955 : ordinateur séquentiel 25
Principes de ECKERT, MAUCHLY et VON NEUMANN, années 1940 :une mémoire contient des données ET un programme
Orgue arithmétique
Contrôle
Mémoire
+ Entrées-sorties sur un des chemins de données
concept d’ordinateur universel en 1946 : ENIAC. 18000 tubes àvide, 30 tonnes, 174 kW, 5000 +/s, 333 ×/s à 10 chiffres, modifié
plus tard avec programme en mémoire
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 14/104
1945–1955 : ordinateur séquentiel 26
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1945–1955 : ordinateur séquentiel 27
• Tout manuel
• Ordinateur à relais, voire à lampe
• Langage binaire au mieux, câblage avec des fils standard
• Cartes perforées
• Applications numériques : génération de tables, balistique,...
• IBM 704 (1954) : nombres flottants
• Arriver à faire tourner 1 programme avant qu’un tube ne grille ouun bug se coince dans un relai
• Jay FORRESTER & Bob EVERETT, Whirlwind, simulateur tempsréel à mémoire à tores, 500000 +/s, 50000 ×/s, $32 000 de
tubes/mois (1951)
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 15/104
1955–1965 : Jusqu’à l’OS 28
• Toujours qu’un seul utilisateur, réservation par tranche horaire
• Traitement par lots : faire la queue
• Mono-programmation
• 1957 : John BACKUS (IBM), langage & compilateur Fortran
vitesse de programmation
• 1957 : Seymour CRAY, CDC1604, supercalculateur touttransistor
• 1957 : Disque dur IBM 305 RAMAC (≈ 2 réfrigérateurs)
• 1959 : Bull Gamma 60, instructions de parallélisme (parce que lamémoire était trop rapide par rapport au processeur !)
• Spécialisation des tâches pour optimiser globalement les coûtsen utilisant plusieurs ordinateurs au lieu d’un seul plus gros ;
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1955–1965 : Jusqu’à l’OS 29
Petit IBM 1401 pour faire du transfert cartes perforées
bandes magnétiques (données)
Gros calcul sur IBM 7094
Petit IBM 1401 pour faire du transfert bandes magnétiques imprimantes (données)
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 16/104
1965–1985 : Multiprogrammation, temps partagés 30
• Gros systèmes
• Multiprogrammation : plusieurs programmes résident enmémoire
• Temps partagé : terminaux interactifs• spool : Simultaneous Peripheral Operation On Line : on empile
les requêtes d’impression et on fait autre chose
• Mémoire
Pagination : gestion plus fine simplifiée
Segmentation : différents espaces d’adressage
• Technologie
Transistors puis circuits intégrés, micro-processeur ≡ briquede base de l’informatique
Disques magnétiques
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1965–1985 : Multiprogrammation, temps partagés 31
Mécanisme d’interruption
Accès direct à la mémoire
Écrans ± graphiques
Modems
« Grosses » mémoires
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 : leMinitel avant l’heure
Plus difficile que prévu abandonné mais grande influence
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 17/104
1965–1985 : Multiprogrammation, temps partagés 32
dans la communauté4 5 5 6 8 @ @ B B B E V ! 5 $ P $ ¢ I ) E F S U @
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Unix Story 33
• En attendant la suite, Ken Thomson de BTL écrit un jeu Space
Travel qu’il fait tourner sur un PDP-7 (machine pas trop chère)
• Problème : pas d’environnement de développement sur PDP-7et nécessité de faire de l’assemblage croisé sur Honeywell 635roulant GECOS
• Pour faciliter le développement du jeu, développement d’unsystème d’exploitation pour le PDP-7 : système de fichier simple(s5fs ), système de gestion de processus, interpréteur decommande (shell )
• Le système devient auto-suffisant et est nommé Unix en 1969, jeu de mots en opposition à Multics
• Portage d’Unix sur PDP-11 et développement de l’éditeur de
texte
¡ et du système de composition de texte
©£ ¡ 3 3
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 18/104
Unix Story 34
• Développement de langage interprété B utilisé pour développerles outils
• Dennis Ritchie fait évoluer le langage en C dont le succès alargement dépassé le cadre d’Unix
• 1972 : 10 machines sous Unix...
• Unix réécrit en C en 1973 et la distribution version 4 contientelle-même
¢ ¢
• L’université de Berkeley récupère une licence (gratuite à caused’un procès antitrust de 1956 entre AT&T et Western ElectricCompany)
• La version 7 de 1979 est la première version réellement portable
• Beaucoup d’améliorations fournies par les utilisateurseux-mêmes (de même que BSD & Linux maintenant) favorisé
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Unix Story 35
par le côté non commercial
• MicroSoft et Santa Cruz Operation collabore sur un portage pouri8086 : Xenix
• Portage sur machine 32 bits (Vax-11) en 1978 : UNIX/32V qui
est récupérée par Berkeley• Rajout d’utilitaires (
¢ "
de Bill Joy) et d’un système de pagination
• La DARPA donne un contrat à Berkeley pour implémenter IP :BSD
Dernière version en 1993 : 4.4BSD. En tout : apport dessocket , d’IP, d’un fast file system , des signaux robustes, lamémoire virtuelle
Société BSDI créée pour vendre 4.4BSD lite en 1994,
débarrassé de tout code d’origine AT&T
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 19/104
Unix Story 36
• 1982 : loi antitrust qui éclate AT&T en baby-Bell dont le AT&TBell 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 : mémoire partagée,sémaphores), les STREAMS , le Remote File Sharing , lesbibliothèques partagées,...
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 système de fichier générique, nouveaumécanisme de gestion mémoire
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1985– : Micro-ordinateurs 37
• Montée en puissance du microprocesseur
• Micro-ordinateurs ≡ ordinateur à base de microprocesseur :quasiment tout ordinateur
• Explosion du multi-fenêtrage interfaces plus sympathiques
• Gros ordinateur (parallèle) rassemblements de nombreuxprocesseurs
• Apparition des systèmes distribués
• Stations de travail
• Généralisation des réseaux d’abord pour partager disquescoûteux : NFS
• WWW devenu synonyme d’Internet 30 après
• 1981 : le premier PC
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 20/104
1985– : Micro-ordinateurs 38
Grand retour en arrière (...pour les spécialistes) :mono-programmation : MS-DOS 1.0, PC-DOS 1.0
Système de fichier primitif (...mais robuste), pas derépertoire,...
• Milieu des années 1980 à Carnegie-Mellon University développeMach, un micro-noyau avec des serveurs implémentant unesémantique 4BSD. OSF/1 & NextStep sont basés sur Mach
• 1987 Andrew Tanenbaum publie « MINIX: A UNIX Clone with
Source Code for the IBM PC »4 5 5 6 8 @ @ B B B E P ) E V E I ! @ A ¢ ) 5 @ $ I $ E 4 5 !
• 1987 : AT&T achète 20% de Sun prochaines version deSunOS basées sur System V : SunOS 5 (Solaris 2)
• 1989 : co-développement AT&T-Sun de SVR4 : inclut lesfonctionnalités de SVR3, 4BSD, SunOS & Xenix. Création d’Unix
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
1985– : Micro-ordinateurs 39
Systems Laboratories pour développer et vendre Unix
• Novell achète une partie d’USL en 1991 pour développerUnixWare (Unix + Netware) et tout USL en 1993
• Linus Torwald récupère Minix sur PC i80386 et le développe en
Linux en 19914 5 5 6 8 @ @ B B B E # $ I ¢ E # @ A ¢ W S ¢ 4 ¢ @ $ I V ) ¢ ) ¢ ¢ I H I W ¢ V E 4 5 !
• 1994 : première version publique de Linux : 1.0.Développements pris en main par des programmeurs répartissur Internet. Intégration des utilitaires GNU
• Arrivée de NT (New Technology ) : mélange de MS-DOS,MacOS, VMS et Unix
• Novell cède la marque Unix au X/Open puis Sun rachète les
droits de SVR4 à Novell en 1994
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 21/104
1985– : Micro-ordinateurs 40
• Chorus, société française, développe un micro-noyau
• Rachat de Chorus par Sun. JavaOS ?
• Un système Unix ≡ programmes utilisateurs + bibliothèques +utilitaires + système d’exploitation qui fournit le supportd’exécution et les services
• Unix tourne sur toutes les plates-formes depuis les systèmesembarqués jusqu’aux supercalculateurs massivement parallèles
• 2000 : Windows 2000 : plus stable, plus gros. Exposépassionnant sur l’ingéniérie du projet dans « From NT OS/2 toWindows 2000 and Beyond - A Software-Engineering Odyssey »4 5 5 6 8 @ @ B B B E V ) H I $ E F S U @ H H I 5 ) @ V ) H I $
¡
B $ I @ $ I $ 5 H # 5 ¢ ! )
• 2001 : Windows XP : encore plus stable, encore plus gros
ISI 204 — Systèmes d’exploitation —Historique—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Concepts de base 41
• Multiprogrammation
• Temps partagé
• Pagination & segmentation
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 22/104
Multiprogrammation 42
• Mieux utiliser processeur
• Partage la mémoire entreplusieurs processus
• Recouvre desentrées-sorties avec ducalcul
• Protection des programmesentre eux
Programme 1
Programme 2
Programme 3
Système d’exploitation
Base 1
Base 2
Base 3
Déplacement 1
Déplacement 3
Déplacement 2
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Code translatable 43
Éviter des conflicts d’adresses entre programme
• Ne pas figer (à la compilation) les adresses des objetsmanipulés par un programme
• Solution
Calculer les adresses au moment du chargement Utiliser un mécanisme matériel : adresse relative par rapport
à une base
Tout sous-traiter à une unité de traduction d’adresse
• La solution logicielle est tout de même utilisée pour
Compilation séparée : fusion de¨ ¡
par édition de liens
Bibliothèques dynamique
Chargement de code à la volée
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 23/104
Base et déplacement 44
• Remplacer
par
¡ ' ¥ " ¡
¡
£
• Changer de place enmémoire : changer
' ¥ "
• Protection mémoire : vérifiertoujours
d ∈ [0, dmax]
Registres
base = 2000
dmax = 26
=:2000 ≤ base + d ≤ 2026
• Processeur à mode
d’adressage compliqué :CISC
Mémoire
2000
2026
Base
d
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Temps partagé – tourniquet 45
• Donner illusion de disposerd’une machine à soi tout seul
• Lié à l’invention du terminalinteractif
• Changer de programme àchaque quantum de temps
• Privilégier les requêtes peugourmandes par rapport auxprogrammes de calcul : faire
des heureux facilement aveccaisse moins de 10 Articles
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 24/104
Blocage dans le tourniquet 46
• Blocage possible d’unprocesseur avant la fin deson quantum de temps
• Libère du temps pour lesautres
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Pagination 47
• Mémoire trop petite pour contenir tout un programme
• Concept de mémoire virtuelle
• Casser la mémoire physiqueen pages
Rajouter composant detraduction entre mémoirevirtuelle et mémoirephysique : Memory
Management Unit
Programmes utilisent desadresses virtuelles
Page de mémoire
virtuelle
Soit mémoire physique Soit en mémoire de
masse (sur disque dur) Soit inexistante
Mémoire virtuelle Mémoire physique
MMU
Adresse virtuelle Adresse physique
0
1
2
3
4
5
0
1
2
3
4
5
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 25/104
Pagination 48
• Fonctionne bien avec le principe de multiprogrammation : si unepage n’est pas là, exécute un autre programme en attendant
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Segmentation 49
• Programme, système, applications : non monolithiques
Modules
Couches
Objets
...
Segments de mémoireindépendants
• Addressage propre à chaque segment : permet de croîtrearbitrairement sans conflit
• Protection spécifique à chaque segment : lecture, écriture,
exécution
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 26/104
Segmentation 50
• Moins fondamental avec grands espaces d’adressage
sur 64 bits
ISI 204 — Systèmes d’exploitation —Concepts de base—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Plan 51
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers
Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Concurrence & Parallélisme—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 27/104
Plan partie gestion concurrence & parallélisme 52
Hypothèses sur architecture matérielle Notion de noyau
Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Concurrence & Parallélisme—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Schéma d’un monoprocesseur 53
Unitéd’échange
Unitéd’échange
UnitéCentrale
Mémoire
• Unité centrale : interprète instructions des programmes
applicatifs et du système d’exploitation
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 28/104
Schéma d’un monoprocesseur 54
• Unités d’échange (contrôleur, canal) : assurent le suivi desentrées-sorties
• Mémoire : accessible via le bus par unité centrale et unitésd’échangePour décharger le processeur : accès directe à la mémoire parunités d’échange
Direct Memory Access (DMA)
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Mécanisme d’interruptions 55
Interruption ≡ événement prioritaire qui interrompt déroulementnormal d’un programme en cours d’exécution sur une unité centrale
Interruption Sauvegarde du contexte matériel
Programme de traitement d’interruption
Restitution du contexte matériel
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 29/104
Mécanisme d’interruptions 56
Sauvegarde du contexte matériel
Restitution du contexte matériel
Interruption 1
Sauvegarde du contexte matériel
Restitution du contexte matériel
Interruption 2
Interruption 1Sauvegarde du contexte matériel
Restitution du contexte matériel
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Mécanisme d’interruptions 57
Types d’interruptions :
• Externes : matériellesDéclenchées par du matériel externe : horloge, clavier, réseau,entrée-sortie, fin de ligne vidéo, panne de courant,...
• Internes : interruptions logicielles, déroutementInstruction de passage dans le noyau, division par 0, instructioninexistante, instruction non autorisée, accès mémoire invalide,...
Le concept équivalent d’interruption existe au niveau logiciel :signaux Unix ≡ fonction (handler ) exécutée sur certaines conditions(erreur, communication possible,...),...
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 30/104
Mécanisme d’interruptions — détail 58
• Contexte matériel : registres à sauvegarder quand survient uneinterruption
Compteur ordinal
Sommet de pile de programme Mot d’état du programme
État du pipeline interne
Dépend du processeur
• Possibilité de masquer les interruptionsÉventuellement automasquage pour éviter récursion infinie
• Niveaux (priorités) d’interruptionsParer au plus urgent
• Structure de pile pour accepter un nombre arbitraired’interruptions en cours
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Schéma d’un multiprocesseur 59
Mémoire communeUnité
d’échangeUnité
d’échangeUnité
Centrale
Mémoire
UnitéCentrale
UnitéCentrale
Mémoire MémoireMémoire
• Plusieurs unités centrales pour augmenter la puissance :interprètent instructions des programmes applicatifs et dusystème d’exploitation
• Mémoire : plusieurs bancs pour augmenter taille et débit
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 31/104
Interruptions & multiprocesseur 60
Hypothèses :
• Chaque processeur peut masquer localement les interruptions
• Interruption matérielle aiguillée vers processeur
Ne masquant pas interruptions
Si possible celui exécutant le processus de plus faible priorité
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Classes d’architectures matérielles 61
• Architectures centralisées
Monoprocesseurs
Multiprocesseurs à mémoire partagée
• Architectures réparties
Multiprocesseurs à mémoire distribuée : communication parmessages
Réseaux
ISI 204 — Systèmes d’exploitation —Architecture—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 32/104
Plan partie gestion concurrence & parallélisme 62
Hypothèses sur architecture matérielle
Notion de noyau
Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Notion de noyau 63
• Couche de logiciel, voire de matériel
• Met en œuvre le concept de processus
• Tourne dans une machine physique ou virtuelle
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 33/104
Noyau Unix 64
Plus qu’un noyau minimal : presque tout le système d’exploitation
Gestion mémoire Systèmes de gestion de fichiers
Entrées-sorties de bas niveau
Entrées-sorties de haut niveau
Sécurité
...
Mais évolution vers des Unix modulaires...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Notion de micro-noyau 65
Entrées−sorties
Traitement
interruptions
Gestion processus
Ordonnancement
Synchronisation
communications
Machine sous−jacente
Processus
Interruptions
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 34/104
Mises en œuvres de la concurrence 66
Faire tourner plusieurs choses
• Sur machine nue
Système d’exploitation lui-même Application de contrôle de procédé, temps réel « dur »
• Sur machine virtuelle (qui permet la concurrence)
Temps réel : émulation d’un système d’exploitation sur unautre système d’exploitation
Temps simulé : simulation numérique, prévisionmétéorologique,...
Dans la suite on se focalise sur concurrence et systèmesd’exploitation
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Fonctions d’un micro-noyau 67
• Partager le ou les processeurs entre les processus
• Gérer naissance et mort des processus• Cacher les interruptions (entrées-sorties et horloge)
• Fournir un service d’entrées-sorties de bas niveau
• Fournir outils d’exclusion mutuelle, de synchronisation et decommunication inter-processus
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 35/104
Noyau et interface de programmation 68
Processus 1 Processus 2
Il y a quelque chose de nouveau
Noyau
J’attends quelque chose
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Structure Unix traditionnel (ab initio) 69
Sélectionneur
pilote mode bloc
Système fichiers Mémoire virtuelle Chargeur programme
disquePilote
bande
Pilote
imprimantePilote
réseau
Pilote
tty
Pilote
pilote mode caractèreSélectionneur
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 36/104
Séparer politique et mécanisme 70
Serveur
mémoire
Processus
client
Processus
client
Serveur
fichiers
Serveur
processus
Noyau : bus logiciel
Mécanisme de clients-serveurs autour d’un bus logiciel
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Structure Unix moderne 71
Pilote TTY
Ordonnanceur
Commodités
communes
Mémoire
virtuelle
Périphériques
Fichiers
Choix format
exécutable
Système de fichier
virtuel
a.outCOFF
ELF
NFS
FFSS5FS
RFS
EXT3
Temps réel
Temps partagé
Système
STREAMS
Pilote réseau
Sélectionneur
pilote bloc
Pilote disque
Pilote bande
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 37/104
Centralisation contre distribution 72
2 types de systèmes
• Systèmes centralisés : 1 seul noyau
Monoprocesseur
Multiprocesseur à mémoire partagée
• Systèmes distribués ou réseau : autant de noyau que deprocesseurs
Multiprocesseur sans mémoire commune
Réseaux d’ordinateurs, stations de travail
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Systèmes distribués 73
Processus
Noyau
Machine
Processus
Noyau
Machine
Réseau
Autant de noyaux que de machines (qui peuvent être desmultiprocesseurs à mémoire partagée...)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 38/104
Contrôle donné au noyau 74
• Quand un processus actif appelle une fonction système (dunoyau)
Créer un processus
Attendre la fin d’unprocessus
Indiquer que l’on a terminé
Se bloquer en attente d’unévénement
Demander uneentrée-sortie de bas niveau
Attendre un certain temps
Envoyer un message
Recevoir un message
• Quand une interruption matérielle survient
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Informations gérées par le noyau 75
• Données globales au noyau (temps, mémoire,...)
• Connaît tous les processus (table des processus)• Descripteur de chaque processus
Contexte matériel
Une partie du contexte logiciel
• Gère transitions entre états des processus
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 39/104
Graphe des états d’un processus 76
Actif ou activable
BloquéEn attente d’un événement,d’un signal, d’une condition
Se bloque(généralement lui−même)
Débloqué à la suited’une opération d’unautre processus oud’un événement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Graphe des états d’un processus sous Unix 77
fork
Appel système,interruption Retour
exit wait
stopcontinue
wakeup
fork
stop continue
Stoppé
Actif
hors noyau
Actif
dans noyauInitialisation
Activable
Zombie
Endormi
Stoppé et
endormi
sleep
wakeup
stop
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 40/104
Atomicité des actions noyau 78
• De nombreuses actions concurrentes dans le système : mise à jour liste processus, modification entrées-sorties à faire,...
• Besoin d’assurer cohérence des informations gérées par lenoyau
• Utilisation de l’exclusion mutuelle
Mono-processeur : masquage des interruptions
Multiprocesseur à mémoire commune : masquage desinterruptions et construction de verrous avec des instructionsspéciales insécables (test and set ,
"
¥
,
¡
,...)
Il y a aussi les dispositifs d’échange qui peuvent modifier lamémoire...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Contexte matériel 79
• Processus arrêtés lorsqu’une interruption matérielle ou logiciellesurvient
• Sauvegarde (minimale) des registres de la machine nécessaires
au (re)fonctionnement d’un processus Registres de travail
Compteur ordinal (pointe instruction courante)
Mot d’état du programme (bits de protection, résultatsd’opération)
Pointeur de pile
Éventuellement état du pipeline sur processeur complexes,...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 41/104
Sauvegarde et restitution de contexte 80
Comment modifier l’exécution des processus ?
Processus P1
Mémoire
Unité centrale
P1 est interrompu P2 est rendu actif
Contexte matériel Contexte matériel
Registres
Zone mémoire
1 4
2 3
Processus P2
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Sauvegarde et restitution de contexte 81
1. P1 actif
2. Une interruption survient. Les registres de la machine sontsauvegardé dans une zone mémoire (selon le processeur, celapeut aussi être un jeu de registres supplémentaire). Passage enmode superviseur
3. Le noyau s’exécute
4. Le noyau fait une copie de cette zone dans le descripteur duprocessus P1 (contexte matériel)
5. Le noyau choisit de rendre le processus P2 actif. Il copie lecontenu du contexte matériel du processus P2 dans la zonemémoire
6. L’instruction de retour sur interruption copie la zone mémoire
dans les registres du processeur
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 42/104
Sauvegarde et restitution de contexte 82
7. P2 commence/continue sa vie
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Appel système 83
ProcessusBibliothèque(typiquement en C) Noyau
a) Préparation des paramètres
b) Interruption logicielle
c) Préparation des résultats
attendFils(num)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 43/104
Entrée et sortie du noyau 84
• Entrée
Sauvegarde du contexte matériel
Passage en mode superviseur/noyau Masquage local des interruptions
Si multiprocesseur, prélude de boucle d’attente active (avectest & set ,
¡
,...) sur certaines structures du noyau
• Sortie
Si multiprocesseur, postlude d’exclusion mutuelle
Démasquage local des interruptions
Restitution du contexte matériel et passage en modeutilisateur/esclave
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Contexte logiciel d’un processus 85
Regroupe
• Ce que le noyau a besoin de savoir sur le processus
Minimal si micro-noyau
• Ce que le reste du système d’exploitation a besoin de savoir
Si processus léger (thread ) : peu de choses
Processus lourds beaucoup de choses :
Gestion des processeurs Gestion de la mémoire Gestion des fichiers
Sous Unix, système et noyau ne font qu’un...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 44/104
Plan partie gestion concurrence & parallélisme 86
Hypothèses sur architecture matérielle Notion de noyau
Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Vie et mort d’un processus 87
Ailleule Descendante
Crée un descendant
Fin d’une longue vie
Attend l’ailleule
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 45/104
Vie et mort d’un processus version Unix 88
Père Fils
exit();
fork();
wait();
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Distinguer le père du fils en Unix ? 89
Clones parfaits pas toujours utiles brisure de symétrie
¡
¡
¡
©
¢
"
© $ ¥ $ ¤ 3 ¡ ¦ ¡
£ ¨
¡
¡
¡
©
¢
¡
©3
"
3 ¡ "
© $ ¥ $
¤
£
¡ ¡ 3 ¡ ¦ ¡
£
¢ " $
£
¥ £
¡!
0 ¥ £
% ¡ #
£ ¨
$ ¡ &
¤ ¤
&
£ ¨
(
3 ¡ "
© $ ¥ $ ¤ ¤
¤
£
1
"
©
" 3
"
3
¡
¢£
¡
© £
¥
©$
¡ 0 ¥
§ §
£
¤
£
¡ ¡
¢ ¡
£
¡
¥) £ " 3
" £ ¥
¥ "
§
¥ ¢
!
#
£ ¨
$ ¡ &
¤ ¤ 6
£ ¨
(
7
£ £
!
¢© $ ¥
9¥
§
¥
"
¢
¨
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 46/104
Distinguer le père du fils en Unix ? 90
(
"
1
"
©
"
¢
$ "
© $ ¥ $ ¢ ¡ £ $
£ $ £ ©
§!
¡
¡
©3
"
¨ ¨ ¨
(
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Vie et mort d’un processus version thread 91
Thread POSIXPère Fils
pthread_create();
pthread_join(); pthread_exit();
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 47/104
Threads POSIX 92
• Créer un thread
£ $
$
¥
¡§
¢ ¥ $ ¡
$
¥
¡§
$
$ ¥
¡
¢ ¡ £ " $
$ ¥
¡ §
¥ $ $
§
$
¥ $ $ ¤ £ ©
£¡
¡
¡
£ $
£
¡£
¡
¡
£
£¡
¡
¥ 0
£
£ $
indique la fonction à exécuter avec les paramètres¥ 0
• Pour terminer£
¡
¡
$ ¥
¡ §
$ ¡£
¡
¡
" $ ¥ $
©"
£
Transmet dans" $ ¥ $ © "
une cause de terminaison
• Attendre la fin d’un fils thread
£ $
$
¥
¡§
9 ¡
£ ¡
$
¥
¡§
$
$ ¥
¡
£¡
¡
" $ ¥ $
©"
£ ¨
Récupère dans" $ ¥ $
©"
une information sur la cause de la
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Threads POSIX 93
terminaison
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 48/104
Contexte logiciel processus lourd UNIX 94
• État du processus (stoppé, activable,...)
• Date de lancement du processus
• Temps unité centrale utilisé
• Identificateur du processus (PID process identification )
• Identificateur du père du processus
• Pointeur sur le segment de code (les instructions)
• Pointeur sur le segment des variables globales (initialisées à 0)
• Pointeur sur le segment BSS (variables pré-initialisées par leprogrammeur)
• Table (de bits) des signaux en attente
• Identité du propriétaire-utilisateur UID (user identification ) réel,UID effectif (droits temporaires empruntés à un utilisateur)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Contexte logiciel processus lourd UNIX 95
• Identité du groupe GID (group identification ) réel, GID effectif(droits temporaires empruntés à un groupe)
• Droits d’accès par défaut sur les fichiers crées (masque UMASK)
• Répertoire de travail courant
• Répertoire racine (vision du monde changeable pour enfermerdes processus : sécurité, test,...)
• Descripteurs (objet) des fichiers manipulés par le processus
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 49/104
Contexte logiciel UNIX en 2 parties 96
Pour des raisons d’optimisation mémoire centrale, division du
contexte d’un processus :
• U area informations utiles lorsque le processeur est actif peuvent être stockées sur disque lorsque le processus netourne pas
• Proc area informations indispensables au noyau en permanence
Commandes d’information sur les processus (
"
,$ ¡
,...)
peuvent provoquer du swap car besoin d’accéder à l’U area
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Espace virtuel des processus UNIX 97
Chaque processus lourd UNIX possède un espace d’adressage(virtuel) propre
Pile Haut de la mémoire
↓
↑
Tas
Données globales
BSS
Code
Page 0 Bas de la mémoire (0)
• Besoin d’une convention (collective) de bon usage etprogrammation
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 50/104
Espace virtuel des processus UNIX 98
• Pile contient au départ arguments de
£ $
§
¥
£ ¡
£ $ ¥ 0 ¢
¢
¥
¥ 0
£¡ £ ¢
¢
¥
£
£
¡ £ ¢
£
Les¥ 0 ¢
paramètres¥ 0
£
de la ligne de commande
Variables d’environnement dans £
£
¡ £
BSS données initialisées
Données globales initialisées à 0
Tas utilisé pour les variables allouées par §
¥ ¡ ¢ ¡
£
ou£
Code d’un programme (lecture seule) partageable parplusieurs processus
Chasse au bugs : la page 0 ne contient pas de mémoire :permet de déclencher les erreurs d’accès
¡
¥
£
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Communications inter-processus sous UNIX 99
•3 ¡ ¦ ¡
£
crée un clone du père
Ne partagent que les valeurs initiales
En fait optimisation : partage des pages de mémoire et copieseulement lors de la première écriture
• Par construction espaces d’adressages propres et étanche Pas de données partagées par défaut un peu plus
complexe pour communiquer
Communications par fichiers (à protéger avec des verrous).Ex. courrier entre facteur et lecteur de courrier
Communication par messages (pipe , socket ,...). Ex. envoi decourrier et entre facteurs
IPC (InterProcess Communication ) : sémaphores, mémoire
partagée,...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 51/104
Processus légers 100
Exemple sous UNIX
• Les threads (processus légers) s’exécutent dans un processuslourd UNIX
• Partagent données globales du processus lourd UNIX
• Mais les threads disposent en propre
Numéro (thread-id )
Contexte matériel : image des registres de la machine(compteur ordinal, pointeur de pile, ...)
Pile
Masque de signaux UNIX
Priorité Mémoire locale via le tas global et la pile
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Threads utilisateurs dans un processus 101
Données globales processus lourd
Contexte matériel
Contexte logiciel
Pile
Thread
Contexte matériel
Contexte logiciel
Pile
Thread
Contexte matériel
Contexte logiciel
Pile
Thread
Pile processus lourd
Processus lourd
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 52/104
2 niveaux d’ordonnanceur 102
UC UC
P PPP
U U U UUUUU UU
• Ordonnanceur du noyau : processus lourds
• Ordonnanceur utilisateur dans chaque processus lourds :
threads
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Avec ordonnanceur de threads noyau 103
UC UC
P PPP
U U U UUUUU UU
LWP
K
LWP LWP LWP LWP LWPLWP
K K K K K KK K K
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 53/104
Processus et threads : combien ça coûte ? 104
Dans une vieille version de Solaris (2.4) sur un vieux Sun
Temps de création Synchro sémaphore
User thread 52 µs 66 µs
LWP 350 µs ? 390 µs
Processus 1700 µs 200 µs
Compromis d’utilisation
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Plan partie gestion concurrence & parallélisme 105
Hypothèses sur architecture matérielle
Notion de noyau Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 54/104
Entrées-sorties physiques (bas niveau) 106
BibliothèqueAppel, formatage, spool
Partie indépendantepériphérique
Pilote du périphérique(partie dépendante périphérique)
Traitement de l’interruption
Matériel
(contrôleur, unité d’échange)
Micro noyau
Noyau
(Unix)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Déroulement d’une entrée-sortie physique 107
1. Processus 1 s’exécute (actif)
2. Exécution d’une fonction de demande d’entrée-sortie
3. Appel au noyau via interruption logicielle
(a) Préparation de l’entrée-sortie
(b) Lancement de l’entrée-sortie
(c) Ordonnanceur
4. Processus 1 bloqué (dans et hors noyau)
5. Interruption matérielle de fin d’entrée-sortie
(a) Traitement de fin d’entrée-sortie
(b) Ordonnanceur
6. Processus 1 activable
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 55/104
Plan partie gestion concurrence & parallélisme 108
Hypothèses sur architecture matérielle Notion de noyau
Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Temps 109
• Attribution des ressources à tour de rôle
• Temps : crucial dans un système d’exploitation
• Périphérique particulier qui donne le temps : l’horloge
• Besoin
Connaître l’heure
Faire des choses à intervalles régulier
• Part d’une fréquence régulière de base qu’on divise d’un bonfacteur
• Base selon richesse et précision :
Oscillateur RC
Filtre céramique
Courant secteur 50 Hz
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 56/104
Temps 110
Résonnateur à quartz (éventuellement thermostaté)
Horloge atomique (MASER au césium 133)
Stations radios (GPS, France Inter ou BBC en GO,...)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Génération d’événements 111
• Mécanisme matériel avec 1 registre T et un compteur C
• À chaque coup d’horloge faire
% %
3 ¡
¤ ¤
¤
£
¤
!
£
!
"
0 £ ¥ ¡
©
£ $
©
$
¡ £
(
• Exemple d’usage à chaque interruption
Gérer un temps macroscopique en incrémentant un autrecompteur ( si débordement du compteur...)
Rendre activables ou stoppés certains processus
Redonner la main à l’ordonnanceur qui choisit quel processus
faire tourner
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 57/104
L’heure et sa distribution 112
• Des horloges partout...
• ...Mais rarement à l’heure, ni synchronisées
• Problématique si systèmes de fichiers distribués et¡
¥ ¦ 3
par
exemple ou corrélation de phénomènes physiques• Besoin de synchronisation globale : diffusion d’une référence
par un moyen quelconque et recalage
Radiodiffusion
Radio Frankfurt 10 MHz Modulation porteuse France Inter GO RDS de la bande FM Satellite GPS
Protocoles réseau NTP :
• Distribution du temps
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
L’heure et sa distribution 113
• Mesure statistique du temps de transmission depuis un
serveur de référenceP 4 ¢ $ ! ! 1 © ©
¡
H S 1 H ! ! I 5 6
¡
6
S H F 5 H S H ¥ $ # )C 5 5 B 4 H I 6 F ! ! S H ¢ P 4 # H ! ¢ 1 F ¥ ¥ ) H 5 # $ ) 6
¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢
¥
F S U H I F 1 P ¢ I F I E $ I S $ ¢ E ¥ S V ¤ ¦ ¦ ¨ ¨ E E E ¤ ¦
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 58/104
Plan partie gestion concurrence & parallélisme 114
Hypothèses sur architecture matérielle
Notion de noyau
Processus lourds & légers, threads
Entrées-sorties
Gestion du temps qui passe
Ordonnancement
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Ordonnancement 115
• 2 objectifs difficiles à atteindre
S’assurer d’un bon taux d’utilisation des processeurs
S’assurer que chaque processus a le service qu’il souhaite
• Satisfaction des processus interactif au détriment des travauxpar lots
• Coût des changements de contexte, des transferts de mémoireprincipale–mémoire secondaire,...
• Processus souvent connus qu’à l’exécution ordonnancement dynamique
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 59/104
Priorité 116
Associer une priorité à chaque processus en fonction de
• Objectifs globaux du système (systèmee à temps partagé,traitement par lots, contrôle de
• Caractéristiques de chaque processus (échéance temporelle,périodicité, temps processeur récemment consommé, tempsrécemment passé en sommeil,...)
• Caractéristiques de chaque périphérique : ne pas ralentir despériphériques qui sont déjà lents,...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Unix : 2 ordonnancement 117
Interaction avec mémoire virtuelle et mémoire secondaire car 1processeur ne peut exécuter que des instructions en mémoireprincipale
• Au niveau bas : ordonnanceur choisit de rentre actif 1 processus
activable présent en mémoire principale
• Au niveau haut : ordonnanceur gère le va-et-vient (swap ) entrela mémoire principale et la mémoire secondaire. Modifie lespriorités pour favoriser processus qui viennent de rentrer enmémoire principale, etc.
Choix averti de l’ordonnanceur noyau a constamment en mémoireprincipale une table de l’ensemble des processus avec donnéesnécessaire au fonctionnement de l’ordonnanceur
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 60/104
Ordonnancement et va et vient 118
• Certaines informations liées à un processus restent en mémoireprincipale
Paramètres d’ordonnancement
Adresses sur disques des segments/pages du processus Informations sur les signaux UNIX acceptés
...
• D’autres informations suivent le processus quand il est mis(swap out ) en mémoire secondaire
Contexte matériel
Table de descripteurs de fichiers
Pile du noyau (stockage des variables locales du noyaulorsqu’il traite le processus) et la pile « utilisateur » (stockagedes variables locales lors des calculs)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Quelques politiques d’ordonnancement 119
• Premier Arrivé Premier Servi (PAPS) ou First In First Out (FIFO)
• Tourniquet (round robin ) ou partage du temps
• Priorité statique (temps réel) ou dynamique
• Shortest job first ... Mais nécessite de connaître la durée de latâche (future)
• Earliest deadline first ... Mais nécessite de connaître la date defin (future)
• Smaller period first (Rate Monotonic scheduling )... Nécessite depréciser les intervalles de lancement
• ...
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 61/104
Priorités dans Unix 120
Priorité ( pbase) Exemple Type
+19 (+ faible) Useur d’écran...
... Plutôt utilisateur
+1
0 (standard) Jeux vidéo
-1 Numérisation d’un cours...
... Plutôt système
-20 (+ forte)
• Processus « noyau » ont une priorité (négative en Unix...) forte
• Processus utilisateurs ont une priorité (positive en Unix...) faible
• Un utilisateur peut seulement baisser la priorité d’un processusutilisateur (modifie sa base) à l’aide de la commande
£
¢
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Priorités dans Unix 121
• Le super utilisateur peut augmenter la priorité
• Ordonnancement :
Un processus utilisateur qui a dépassé son quantum de
temps est remis en queue de sa file d’attente (tourniquet) Toutes les secondes, on recalcule les priorités sur le thème
pbase + tempsutilisation processeur
Avec pbase donné par la commande£
¢
(0 par défaut)
• Rajout aussi d’ordonnanceur « temps réel » en plus dans lesUnix modernes : permet d’avoir aussi des processus quitournent avec des contraintes fortes
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 62/104
Inversion de priorité 122
Supposons
• 3 processus P 1, P 2 et P 3
• Un système à priorités fixes dures
• Priorités p(P 1) > p(P 2) > p(P 3)
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Inversion de priorité 123
Cas pathologique :P1
P2
P3
Temps
• P 1 attend un message de P 3
• P 2 fonctionne à la place de P 3 car plus prioritaire
• Paradoxe : P 2 fonctionne à la place de P 1 et est donc plusprioritaire !
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 63/104
Mars Pathfinder Mission on July 4th, 1997 124
4 5 5 6 8 @ @ B B B E S H ) H ¢ S P 4 E $ P S F ) F ¥ 5 E P F @ A W @ 7 ¢ S ) ¢ 2 6 ¢ 5 4 ¥ $ I # H S
The Mars Pathfinder mission was widely proclaimed as "flawless" inthe early days after its July 4th, 1997 landing on the Martian surface.Successes included its unconventional "landing"-bouncing onto theMartian surface surrounded by airbags, deploying the Sojournerrover, and gathering and transmitting voluminous data back to Earth,including the panoramic pictures that were such a hit on the Web.
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Tâche martienne de priorité forte 125
A bus management task ran frequently with high priority to movecertain kinds of data in and out of the information bus (1553 bus).Access to the bus was synchronized with mutual exclusion locks(mutexes).
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 64/104
Tâche martienne de priorité faible 126
The meteorological data gathering task (ASI/MET) ran as an
infrequent, low priority thread, and used the information bus topublish its data. When publishing its data, it would acquire a mutex,do writes to the bus, and release the mutex. If an interrupt causedthe information bus thread to be scheduled while this mutex washeld, and if the information bus thread then attempted to acquire thissame mutex in order to retrieve published data, this would cause it toblock on the mutex, waiting until the meteorological thread releasedthe mutex before it could continue.
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Tâche martienne de priorité moyenne 127
The spacecraft also contained a bus communications task that ranwith medium priority.
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 65/104
Bug martien 128
Most of the time this combination worked fine. However, veryinfrequently, it was possible for an interrupt to occur that caused the
(medium priority) communications task to be scheduled during theshort interval while the (high priority) information bus thread wasblocked waiting for the (low priority) meteorological data thread. Inthis case, the long-running communications task, having higherpriority than the meteorological task, would prevent it from running,consequently preventing the blocked information bus task fromrunning. 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 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Debug martien 129
• Vitesse de la lumière Terre-Mars ≈ 14 mn
• Récupérer une version du système temps réel (vxWorks)spécialement instrumentée pour le debug avec collecte de traced’exécutions
• Faire tourner avec les mêmes tâches que sur Mars unemaquette identique
• Bug apparu au bout de 18 heures
• Analyse : sémaphore utilisé sans option d’héritage de priorité(non mis par défaut pour des raisons d’optimisation)
• Besoin de modifier le code sur... Mars !
• Conception d’une rustine logicielle (patch )
• Mise en place avec une procédure spéciale... qui avait été
prévue !
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 66/104
Plan 130
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Gestion des mémoires 131
• Plusieurs types de mémoire
Grosses mémoires : pas chères
Magnétiques : disques durs, bandes, (disquettes),... Optiques : DVD, (CDROM),...
Problème : lentes !
Mémoires rapides : FLASH-ROM : moyennement rapide DRAM : rapide SRAM : très rapide
Problème : faible capacité, très chères
• À moins d’être très riche (cf vieux supercalculateur Cray,...)besoin d’un compromis !
• Idée : garder le plus près possible de l’utilisation les données
dans la mémoire la plus rapide
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 67/104
Hiérarchie mémoire 132
Utilisation
Sauvegarde
SauvegardesCPU
Cache
niveau 1
Cache
niveau 2RAM Disque
1 Ko 10 Mo 1 Go 1 To + 1 To1 Mo
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Hiérarchie mémoire version réseau 133
Réseau
Processeur
RAM
Processeur
RAM
Processeur
RAM
Processeur
RAM
Processeur
RAM
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 68/104
Dépasser des limitations d’adressage 134
• Réduction du coût du matériel dans applications grand public(lave linge,...) : microcontrôleur 1-4-8 bits
• Mémoire adressable < mémoire physique
• Comment accéder à des grosses mémoires lorsqu’on ne peutmanipuler que des données sur 8 voire 16 bits (65536 valeursd’adresses) ?
• Utilisation d’une fonction de translation a p = f (av) donnantl’adresse physique à partir d’une adresse virtuelle
• Cas des vieux PC avec i8088 : utilisation d’un registre desegments pour accéder à 1 Mo avec des registres d’adresse sur16 bits :
a p = av + 16 × sPermet simplement d’avoir plusieurs programme simultanémentchargés en mémoire (multiprogrammation) : pour changer la
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Dépasser des limitations d’adressage 135
zone du programme exécuté changer s
• Cas du Goupil 3 avec 6809 : pagination avec accès possible à16 pages de 4 Ko parmi 256 pages (1 Mo) sélectionnable avecl’aide du système d’exploitation
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 69/104
Dépasser des limitations d’adressage 136
Page 0Page 1
Page 2Page 3Page 4Page 5Page 6Page 7Page 8Page 9Page 10Page 11Page 12Page 13Page 14
Page 15
Page 0
Page 255Page 254Page 253Page 252
Page 100Page 99Page 98
Page 60Page 59
Page 2
Page 1
Page 251
Page 101Page 102
Page 97
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Dépasser la mémoire physique 137
• Cas avec processeurs courants 32 ou 64 bits : mémoirephysique (1 Go) < mémoire adressable (16 Eo)
• Simuler la mémoire manquante avec de la mémoire moins chère : mémoire secondaire (sur disque dur)
• Utilise grand espace disponible pour se simplifier la vie : on peutespacer les objets sans (trop) compterPar exemple si besoins de piles de taille inconnue pour desprocessus légers p sur une machine à 64 bits, on peut les placeraux adresses p.232 et elles peuvent grossir chacune jusqu’à 4 Go
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 70/104
Intérêts de la mémoire virtuelle 138
• Adresse physique des objets pas forcément connue à lacompilation ni l’édition de lien
• Permet de changer adresse d’un objet au chargement ou en
cours d’exécution• Permet de faire apparaître un objet à plusieurs adresses
(duplication)
• Permet simplement d’avoir plusieurs programme simultanémentchargés en mémoire (multiprogrammation)
• Autorise une meilleure gestion de la mémoire : permet dedonner une vision plus propre de la mémoirePar exemple peut donner un gros bloc de mémoire à uneapplication même si physiquement il n’y a pas assez de mémoirecontiguë, sans avoir à la compacter
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Intérêts de la mémoire virtuelle 139
• Partage de zones mémoire par plusieurs processus
Code si plusieurs instances du même programme
Variables globales si processus légers
Segments de mémoire partagée demandés explicitement pardifférents processus via les IPC (Inter ProcessCommunicarion)
• Permet de virtualiser le concept de mémoire de manièrearbitraire : cela ressemble à de la mémoire mais c’est un disque,un fichier, un écran,...
Mémoire virtuelle (traduction d’adresse) généralement effectuée parune MMU (Memory Management Unit )
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 71/104
Grande mémoire virtuelle 140
• En général taille mémoire virtuelle mémoire physique
• Comment réaliser la MMU qui calcule une adresse physique sur40 b à partir d’une adresse virtuelle sur 64 b ?
f : av −→ a p
/264
−→ (
/240
)264
Nécessite une table de 264 entrées de 40 bits ! Soit bien plusque la mémoire de tout ordinateur
K Idée 1 : raisonner au grain d’une page de taille t et non plusd’une case mémoire :
a p = f (av
t) + (av%t)
Divise la table de la MMU par t ! Si pages de 4 Ko, plus« que » 252 pages
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Grande mémoire virtuelle 141
Page 0Page 1Page 2Page 3Page 4Page 5Page 6Page 7Page 8Page 9Page 10Page 11Page 12
Page 13Page 14Page 15
Page 0
Page 255Page 254Page 253Page 252
Page 100Page 99Page 98
Page 60Page 59
Page 2Page 1
Page 251
Page 101
Page 102
Page 97
MMU PhysiqueVirtuel
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 72/104
Grande mémoire virtuelle 142
K Idée 2 : structure « creuse » : impossible qu’un programme nonpervers utilise autant de mémoire physique et donc de pages ne stocker que les traductions d’adresses (valeurs de f ) pour lespages utiles
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Traduction des adresses des pages 143
Récupère l’adresse de la page physique à la ligne correspondant àl’adresse de la page virtuelle
Existence Page physique
0 0
1 1 0x23fe
2 1 0x5fde
3 1 0x2345
4 0
5 1 0x0
6 0...
...
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 73/104
Traduction des adresses des pages 144
Traduction de l’adresse 0x37890 ( 3 0x7890 ) en 0x23457890
( 0x2345 0x7890 )
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Tailles de pages 145
Compromis
• Petites pages
Grande liberté de traduction
Nécessite de nombreuses entrées de traduction
• Grandes pages
Utile pour allouer rapidement de grosses zones de mémoire
Petite table des pages
Certains microprocesseurs ont plusieurs tailles de pagespossibles
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 74/104
Pagination à 3 niveaux sur SPARC 146
• Besoin de compacter la représentation de la table (creuse) detraduction
• Choix par exemple d’une pagination à 3 niveaux de table dansles processeurs
• ind1 ind2 ind3 dépl traduite en v dépl
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Défaut de page 147
Si une page n’existe pas (invalide) la MMU génère uneinterruption
Le système d’exploitation
Regarde dans la table des pages s’il existe une traduction
correcte (fait matériellement par certains processeurs) Si la page existe mais pas en mémoire physique par
exemple, on la charge depuis la mémoire secondaire(mécanisme d’échange ou swap )
Éventuellement on évacue des pages depuis la mémoirephysique (si pages modifiées) pour faire de la place
Cette interruption peut remonter au niveau de l’application etêtre utilisée (signal segmentation violation sous Unix)
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 75/104
Vision objet de la mémoire virtuelle 148
• Mécanisme de défaut de page : déclenche l’exécution d’unefonction quelconque par interruption
• Permet de surcharger les « méthodes »!
¢
$
© ¡
£
et ¢ $
© ¡
£
d’une zone mémoire
• Permet de simuler n’importe quel comportement
Mémoire artificielle
Émulation d’un autre ordinateur
Mémoire vidéo
Mémoire virtuellement partagée (SVM) transmise ailleurs parréseau
...
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Mémoire virtuelle et localité 149
• Localité spatiale : si un objet est référencé, des objets proches
en mémoire seront référencés bientôt (tableaux, structures,variables locales, variables d’instances)
• Localité temporelle : si un objet est référencé, il sera à nouveauréférencé (boucles récursivité, ...)
Utiliser ces observations pour choisir les pages à échanger
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 76/104
Limiter les défauts de pages 150
Comment éviter que le système passe son temps à traiter des défaut
de pages ? Bien choisir la page à vider
• Réserver un espace à chaque processus dans la mémoirephysiqueLe processus qui génère un défaut de page cherche une page àvider parmi ses propres pages
• Ou bien, faire le choix des pages à vider parmi toutes les pagesen mémoire
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Accélérer la traduction d’adresse 151
• Utiliser une mémoire associative pour stocker les traductions lesplus courante : cache spécialisé (Translation Look-aside Buffer )
• Marche bien car localité spatiale se retrouve au sein d’une page
• Table des pages consultée (par le matériel ou le systèmed’exploitation) que lorsque la traduction n’est pas dans le TLB
• Le contenu du TLB constitue l’espace de travail (working set ).En cas de changement de processus on intérêt à sauvegarder etrestaurer ces traductions pour garder la localité
ISI 204 — Systèmes d’exploitation —Gestion mémoire—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 77/104
Contenu d’un TLB 152
• Numéro de page virtuelle
• Numéro de page physique
• Bit de validité
• Bit indiquant si la page a été modifiée par une écriture duprocesseur
• Bits de protection (autorisation) d’écriture, de lecture, d’exécution
• Éventuellement bit indiquant que la page a été lue ou accédée(exercice : comment le simuler ?)
ISI 204 — Systèmes d’exploitation —Disques—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Choix des pages à enlever du TLB 153
Nombreux algorithmes possibles
• FIFO (première rentrée, première sortie) : un peu violent
• NRU (Not Recently Used ) : régulièrement met à 0 le bitindiquant l’accès. Si a la fin du quantum de temps le bit esttoujours à 0 : candidat à l’éjection
• LRU (Least Recently Used ) : garder la date de dernièreutilisation de chaque page et virer la plus ancienne
ISI 204 — Systèmes d’exploitation —Disques—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 78/104
Donner de l’espace aux processus 154
• Un processus doit avoir suffisamment de pages pour avancersans trop de défauts de pages
• Si pas possible, virer de la mémoire centrale un autre processusen concurrence
• Ne pas libérer des pages partagées par d’autres processus avecle processus qui nous intéresse
• Ne pas libérer des pages bloquées pour des entrées-sorties
• Garder du mou en mémoire centrale pour l’allocation denouveaux espace : existence en tâche de fond d’un démon qui
vide des pages régulièrement
ISI 204 — Systèmes d’exploitation —Disques—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Plan 155
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers
Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Disques—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 79/104
Architectures virtuelles 156
∃ Différences entre ce que voit l’utilisateur et la réalité
• Communication par message : réseau Paradigme par messages peut utiliser de la mémoire
partagée
• Réseau : communication par message
Paradigme variables partagées au dessus d’un réseau avecdes messages
Transparence
... ¡ mais attention parfois aux performances !
ISI 204 — Systèmes d’exploitation —Disques—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Machines virtuelles 157
• OS/360 : traitement par lots
• Aller plus loin : volonté de partage de temps
• Système à temps partagé :
Multiprogrammation Machine étendue avec interface plus sympathique que la
vraie
K Idée : dissocier les 2
• Permet de faire tourner n’importe quoi dans la machine virtuelle
• Programme utilisateur dans chaque VM/370, voire un autresystème d’exploitation dans VM/370 : CMS spécialisé pourl’interactif, Unix,...
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 80/104
Machines virtuelles 158
• Principe encore vivant :
JVM : Java JVM compile once, run everywhere
Langages PERL (Parrot), Python, C# (CDL),...
Emacs Langage de programmation Emacs-LISP, interpréteur et
machine virtuelle (exécute du bytecode ) Système d’exploitation portable : processus,
intercommunication,... Système de multi-fenêtrage Peut aussi servir d’éditeur de texte...
Faire tourner des PCs virtuels dans des PCs : VMware,ple x86 4 5 5 6 8 @ @ B BD B E 6 ! H E F S U @ ,...
Faire tourner des PCs sur n’importe quoi (PC, Mac, Sun,...) :BOCHS 4 5 5 6 8 @ @ B B B E W F P 4 ) E P F @ ,...
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Machines virtuelles 159
4 5 5 6 8 @ @ B B B E ) V S ¥ H S ) F I ¢ P $ # E P F @ 6 ¢ U H ) @ B $ I SD U E 4 5 ! « Microsoft’s
Windows RG (Really Good Edition) » : des applicationsWindows dans Widows RG en Flash qui tourne dans unemachine virtuelle Flash qui tourne dans un navigateur WWWqui tourne dans un processus qui tourne sur un processeurphysique (qui tourne dans...)
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 81/104
Machines virtuelles - fonctionnement 160
• Moniteur de machine virtuelle juste au dessus du matériel
• Prend en charge la multiprogrammation
• Copie conforme de matériel si bas niveau : simule
Modes noyau, utilisateur
Mémoire virtuelle
Interruptions
Dispositifs virtuels d’entrée sortie : lèvent une interruption etla machine physique fait l’opération
Lecture de secteurs disques sur un disque virtuel encommandant le contrôleur disque virtuel (minidisk )
Écriture dans la mémoire écran : déclenche une exception aumoment de l’écriture dans la mémoire transformé enécriture dans une fenêtre de l’écran physique
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Machines virtuelles - fonctionnement 161
• L’aspect multiprogrammation reste simple : commuter desmachines virtuelles
• Difficile à optimiser
Fait tourner 2 processus identiques sur 2 OS identiques enmême temps sans partage de pages...
Écriture dans l’écran virtuel même si fenêtre non visible...
• VMware & ple x86 4 5 5 6 8 @ @ B B¤ B E 6 ! H E F S U @ : simule plusieursmachines x86 sur une machine x86
Utilise le x86 sous-jacent pour exécuter la majorité du code rapide
Mémoire simulée par la mémoire virtuelle via la MMU
Périphériques détournés par la MMU et simulés
• BOCHS4 5 5 6 8 @ @ B BD B E W F P 4 ) E P F @
: simulateur complet de machine
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 82/104
Machines virtuelles - fonctionnement 162
virtuelle à processeur A sur processeur B
Instructions de A interprétées par B ou traduites (compilées)et exécutées par B
Mémoire et périphériques gérés par l’interpréteur
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Plan 163
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers
Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 83/104
Fichiers 164
Cf transparents de Robert Rannou
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
( Disques magnétiques ) 165
Plateau 2
Tête 0
Tête 1
Tête 2
Cylindre 2Cylindre 1
Plateau 1
Cylindre 0
Piste 0
Secteur 0
Plateau 0
Secteur 1
Piste 2
Piste 1
Unix FFS optimisé pour les disques :
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 84/104
( Disques magnétiques ) 166
• Partition (ou tranche) : ensemble de cylindres consécutifs
localité
• Allocation dans des cylindres consécutifs
• Allocation dans des secteurs consécutifs avec un saut (temps derotation)
• Laisse des cylindres vides régulièrement pour allouer plusrapidement de nouveaux secteurs
Problèmes des caches dans les contrôleurs disque qui éloignent de
la réalité...
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Partitionnement des disques 167
• Découpe des disques pour des usages différents
• Augmente la localité (et donc performances) des accès au seinde chaque partition
• Limites infranchissables (contre certains utilisateurs expansifs)
• Fournit des zones brutes pouvant avoir chacune leur système defichier (indépendant et même de type différent) voir sans (swap,base de donnée)
• Peuvent avoir des politiques d’exportation différentes sous NFS
• Éviter d’avoir 2 partitions qui se recouvrent sans raison...
• Partitionnement fait automatiquement et graphiquement par laprocédure d’installation
• Mais en cas de problème sur un disque, de remplacement, de
changement du partitionnement : connaissance utile
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 85/104
Partitionnement des disques 168
• Chaque système d’exploitation a sa convention departitionnement (n’est pas déterminé au niveau du disquelui-même)
• Solaris découpe en 8 ou 10 partitions avec comme conventionl’usage courant
0 : contient
1 : du swap
2 : tout le disque (déborde sur les autres...)
3 :
¡ $
sur un serveur
4 :
¡ $
"
¥
sur un serveur
5 :
¡
$
6 :
©"
7 :
¡
§
ou
¡ $
¡
§
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Partitionnement des disques 169
8 : sur PC contient le système de boot et pointe au début dudisque
9 : sur PC contient les blocs alternatifs utilisés à la placed’autres en panne et pointe après la partition 8
• Sur PC nécessité d’une « convention collective des OS » pourfaire du multi-OS. Convention de partitionner un disque jusqu’en4 partitions via
3
¡
" ¦
. Solaris prend une de ces partitions et larepartitionne avec son propre système
• La loi de Murphy veut que le partitionnement choisi n’est jamais le bon... En général, et le swap sont trop petits
• Loi de Murphy numéro 2 : difficile de changer lepartitionnement dynamiquement...
ISI 204 — Systèmes d’exploitation —Machines virtuelles—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 86/104
Utilitaire format 170
Utilisation :
• Installation d’un nouveau disque :
Formattage
Partitionnement
• Affiche les disques reconnus sur le système
• Affiche des informations et leur partitionnement
• Test d’un disque
• Réparation d’un disque
• Destruction du contenu (sensible...) avant renvoi
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
format à l’œuvre 171
Les commandes sont abrégeables
•
¥ $
$
¡ £
gère et affiche le partitionnement (
$
£$ ¡ ¢
donneaussi l’information)¢ ¡ £ ¥ § ¥ §
£ £ ¥ ! ¡ £ ¥ § ¥ § ¥ ¡ % & ' £ § 0 § ¡ & 2 4
6
¥ ¡ & 8 § 9 @ A C & § 8 £ 9 ¡ E ¡ § & ¡ % & 4 G I P Q G ' £ 9 £ E 8 A C & § 8 £ 9 2
U
¡ £ ¥
6
¡ 0 V & ¡ 0
C & § 8 £ 9 W § X Y & A @ 9
`
£ ¥ a b P c G e G
`
P f h I p Y ' G q r
`
r
`
2 s t u q h
`
t 9 a ¡ a
G h c t u
`
t f
`
h w Y ' t s G r
`
r
`
2 G G e t G P
`
G % ¡ A @
a b
`
c G I G t f h s w Y ' G I P r
`
r
`
2 s
`
q s s s I
P
¡ 9 9 § 0 8 a b
` `
'
`
r
`
r
`
2
`
s
¡ 9 9 § 0 8 a b
` `
'
`
r
`
r
`
2
`
I
¡ 9 9 § 0 8 a b
` `
'
`
r
`
r
`
2
`
q
9 £ a b t u t c G I G q s P f G P p Y ' e G r
`
r
`
2 t P t u P P
`
u
¡ 9 9 § 0 8 a b
` `
'
`
r
`
r
`
2
`
e % ¥ a
`
c
`
u f e s p Y ' t r
`
r
`
2 t q
`
q I
h ¡ & ¥ £ ¡ ¥ 9 a
tx c G t I f q h p Y ' G r
`
r
`
2 P G t P
`
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 87/104
format à l’œuvre 172
Adresses aussi en cylindre / tête / bloc
Format propose un partitionnement par défaut
•¢
© £ $
décrit le disque courant3 ¡
§
¥ $
¢¢
©
© £ $
" ¦ ¤ ¢
¤
$ ¢
¡¤
' ¥ " "
£
¤
¦
¦
% ¤
6 ¨
¤
& %
¤ ¤ ¤
¢¢
¨
& & ¥ $ &
¡
& " ¢ &
¢¢
" '
©" !
3
¤
"
¡ §
¥ !
¢
¤ ¤ ¤ ¤¤
"
!
¤¤ ¤
¤ ¤
"
¡
! ¢
¤
•3 ¡
§
¥ $
reformate le disque
•' ¥ ¢ ¦ ©
récupère un label (la table des matières du disque) de
secours en cas de perte du label principal
•¥ £ ¥ "
permet de tester le disque avec un effet plus ou moins
destructeur
•
¥
répare 1 bloc du disque en le rajoutant dans la liste des
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
format à l’œuvre 173
défectueux et en remet un autre à la place. En cas de problèmematériel
• ¡
3 ¢ $
permet de gérer la liste des défauts (1 gros disque estrarement parfait...)
•£
¡ £ ¥
§
donne un nom au disque. Au CRI on donne des nomsde conteneurs pour s’y retrouver.
0 ¡
©$ $
aura moins d’octetsque
' ¥ " "
£
. Même nom qu’on retrouve monté
• ¥ '
entérine les modifications
$ ¢
3 ¡
§
¥ $ ¨
¡
¥ $
contient les paramètres de formatage (géométrie,etc) des disques connus
• Disque récent (SCSI-2) en bon état : informe directement3 ¡
§
¥ $
• Sinon, lire la documentation ou récupérer un3 ¡
§
¥ $ ¨
¡
¥ $
récent
(ou le contraire !)
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 88/104
Étape fdisk sur PC 174
• Partage du disque disque entre plusieurs OS¢ ¡ £ ¥ § ¨ ! " " # $ § % ¨ &
(
$ § % ¨ & 2 3 4 3 5 6 5 2 9 @ $ £ B @ § ¡ #
(
$ § % ¨ &
E ¥ & £ £ ¡ % F £ ¥ £ H $ P F £ ¥ & £ Q % ¨ R % S £ T U
V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
2 X Y F ` b Y' F 4 5 4 5 2 3
9 d e F f g X h 5 2 2 4 2 5 2 3
i p
# £ q F ¡ § ¥ & 2 4 9
i
5 3 9 5 5
i
9
r s b X t F $ £ ) u i 5 ! 5 v¢ 9 9 i 3 i 4
F Q R Q
(
e b Q e Y w Q Y e R R e y X b h `
2 ( & ¥ £ ¥ P ¥ & £ £ ¡ %
9 F P # $ £ T ¥ # £ q P ¥ & £ £ ¡ %
i
d § £ ¥ P ¥ & £ £ ¡ %
r
Q £ 6 H P ¨ ¥ £ ¨ # ¡ % S H & ¥ £ ¡ % ¥ % ¨ £ B
5
(
¥ % # § 6 £ £ T ¡ H £ H P ¨ ¥ £ % S ¨ # ¡ % S H & ¥ £ ¡ % B
Q % £ & F § # £ ¡ % `
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Étape fdisk sur PC 175
• 1 seule partition Solaris par disque
• Partition Solaris alignée sur 1 cylindre
• Épargner le Master Boot Record sur le cylindre 0
• Subtilité
1. On formate le disque avec3 ¡
§
¥ $
2. On partitionne globalement avec3
¡
" ¦
appelabledirectement depuis
3 ¡
§
¥ $
3. On partitionne la partition Solaris générée avec3 ¡
§
¥ $
ànouveau...
• Mode non interactif pour extraire des configurations et configurerde manière précise un disque brute style
¡
£
¡
" ¦
¢
¤
$
¤ ¡ ¤ ¤ .
Intérêt pour faire des installations automatiques multi-système
d’exploitation
ISI 204 — Systèmes d’exploitation —Formattage—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 89/104
Systèmes de fichiers sous Solaris 176
• Utilise le Virtual File System : définit une interface permettant derajouter assez simplement un nouveau type de système defichiers
• Masque les détails : possibilité de lire, écrire, consulter, etc. quelque soit le type de système de fichiers (local, distant,...)
• Systèmes de fichiers de type disque local
UFS : Unix File System, basé sur le FFS 4.3BSD, Système defichier par défaut
HSFS : High Sierra et ISO-9660 (version officielle de laprécédente) pour CD-ROM. Lecture seule. Extension RockRidge fournissant la sémantique UFS (sauf les liens durs et...l’écriture !)
PCFS : lecture et écriture sur des disques au format MS-DOS(typiquement disquettes)
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Systèmes de fichiers sous Solaris 177
S5FS : lecture et écriture sur des disques au format System Vsur PC
• Système de fichiers de type accès distant
NFS : Network File System pour accéder à des fichiers distantscomme s’ils étaient locaux (modulo des différences de
performance)
• Système de fichiers virtuels
CacheFS : Cache File System pour stocker localement unecopie rapide. CD-ROM, Intranet distant,...
TMPFS : Temporary File System pour stocker en mémoire pouraller très vite. Configuration par défaut de
$
§
(accélérationdes compilations...) qui est doublement volatil
LOFS : Loopback System pour faire apparaître à un autre
endroit une partie de la hiérarchie (y compris montages NFS)
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 90/104
Systèmes de fichiers sous Solaris 178
PROCFS : Process System montre la liste des processus entrain de tourner sous forme de répertoires. Utilisé par desoutils de debug et d’analyse
5 autres systèmes de fichiers à usage interne sans
administration particulière
• LOFI Loopback file driver permet de générer un pilote brut àpartir d’une image fichier
Montage de l’image d’un CD-ROM ¡ 3
¥
¡§
% ¥
" ¡ %
% © ¢ % "
¥ ¢ %
£
¨
" ¡
§
¡
©£ $ %
¥
" 3 " % ¡ ¡
¡
£
¡ 3
§
£ $
Montage de l’image d’une disquette
• Tâche de l’administrateur ?
Créer de nouveaux systèmes de fichiers
Rendre les ressources locales et distantes accessibles aux
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Systèmes de fichiers sous Solaris 179
utilisateurs
Connexion et ajout de nouveaux disques
Mise en place d’une excellente politique de sauvegarde
Vérification et correction des fichiers endommagésPour les hackers :
3 "
¡
'
un debogueur de système de fichierspour récupérer un accident...
• Commandes générique : §
¡
©£ $
,©
§
¡ © £ $
, §
¦ 3 "
,3 " ¢ ¦
,... acceptentl’option
%
¥¤ ¦ ¨
et appellent en fait §
¡ © £ $
,©
§
¡
©£ $
§¤ ¦ ¨
,§
¦ 3 "
§¤ ¦ ¨
,3 " ¢ ¦
§¤ ¦ ¨
,... Voir les documentations deces dernières commandes pour les détails intrinsèques
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 91/104
Montage/démontage d’un système de fichiers 180
• Pour accéder à un système de fichier : montage pour attacher lesystème à un répertoire de la hiérarchie préexistante
• est toujours monté (lancement du noyau) et indémontable
• Montage cache les fichiers préexistants dans le répertoire
• Démontage du système de fichier fait réapparaître d’éventuelsfichiers préexistants
• Démontage possible seulement si plus aucun process n’utilise lesystème de fichier
• Démontage utile pour faire une sauvegarde d’une partition enétant sûr que personne ne la modifie
• Arrêt du système utilise une procédure de démontage
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
UFS journalisé 181
• Unix File System est celui utilisé par défaut sous Solaris.Extension du FFS 4.3BSD. La partition est divisée en groupesde cylindres
Boot Block 8 Ko permettant le démarrage. Existe même si paspartition de boot
Superblock contient les informations sur le système de fichier :taille, statut, label, taille des blocs, date de dernièremodification, nom du dernier répertoire de montage, etc.Contient des drapeaux précisant le fonctionnement
État clean , stable , active , logging et unknown . Permet desavoir où en est le disque lors d’un accident. clean , stable
ou logging ne nécessite pas de3 " ¢ ¦
Extended Fundamental Type (EFT) pour avoir desnuméros d’utilisateurs, de groupes et de devices sur 32 bits
Large file systems système de fichiers de 1 To en tout.
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 92/104
UFS journalisé 182
Pratique si stripping/RAIDs à la DiskSuiteLarge files pour fichiers dépassant les 2 Go. Par défaut
Comme l’information des superblocs est critique, elle estrépliquée dans tous les groupes de cylindres et décalée de
telle manière qu’elle soit répartie en plus sur tous les plateauxInodes contiennent toutes les informations sur un fichier sauf
son nom : type (normal, répertoire, device,...), mode,propriétaire et groupe, taille, dates,... et tableau de 15adresses de blocs de données. L’adresse 13 pointe vers unbloc d’adresses, l’adresse 14 pointe vers un bloc d’adressesde blocs d’adresses et l’adresse 15 encore un niveau de pluspour les très gros fichiers
Blocs de données stockent le contenu des fichiers et desrépertoires (fichiers de noms et d’adresses d’inodes). Blocsde taille 8 Ko ou 1 Ko (fragments) par défaut
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
UFS journalisé 183
Blocs libres blocs non utilisés (ni inodes, ni données, ni blocsd’adresse) par groupe de cylindre. Garde trace de lafragmentation pour limiter sa propagation
Pour des raisons de performance, on arrête le remplissage dudisque à 90 % de la capacité pour ne pas perdre trop de temps à
chercher de la place• Journalisation
Penser les modifications aux fichiers sous forme detransactions
Stocker les transactions dans un journal
Appliquer (plus tard) les transactions au système de fichier
Après accident, lors du redémarrage les transactionsincomplètes sont éliminées mais les transactions complètes
sont prises en compte cohérence maintenue
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 93/104
UFS journalisé 184
Plus besoin de faire tourner de longs3 " ¢ ¦
au démarrage
Démarré par option% ¡ ¡ 0 0
£ 0
au montage
Le journal est alloué dans la liste de blocs vides
• §
¦ 3 " %
¥
©3 "
permet de créer un système de fichier en spécifianttous les paramètres
•£
3 "
crée un système de fichier standard en appelant §
¦3 " %
¥
©3 "
avec des paramètres par défaut¨ ¥ H q § § f & ¡ ¡ £ % f q ¢ ¨ q ¢ & ¨ ¢ # 4 £
r
¨ 4 5
% ` # ¡ % £ & H # £ ¥ % § $ £ u ¢ ¨ q ¢ & ¨ ¢ # 4 £ r ¨ 4 5 ` 6 $ ¢ % B ¨ $
u f Y H ¢ ¨ q ¢ & ¨ ¢ # 4 £
r
¨ 4 5 5 v 9 3 v
r r
9 2
r
2 9 "I 2 ) v 9 2 4 9
r
3
r
9 2 3 ! 3 2
r r
£ 4 f 2 " 2 9 "
¢ ¨ q ¢ & ¨ ¢ # 4 £ r ¨ 4 5 ` 5 v 9 3 v r r # £ ¡ & % 9 i 4 " # $ § % ¨ & ¡ 2 9 £ & ¥ # 9 2 r # £ ¡ &
9 " v
r
4 g % 3 2 # $ § S & ¡ H P 6
i
" # ¢ S
r
! 3 5 g ¢ S ! v
i
3 ¢ S B
H P & f @ § ¡ # @ ¥ # H PI 6 ¡ & # f Y H f ¡ @
V
B ¥ £ `
i
9 v ! "
r
4 2 v 5 3
r
" 9 v
i r
5 3
i
v 2 9 3
r
r
" v 4 ! 9 5 " 3 " " 4 3 "
r
3 " " ! " 9
r
v 3 " " 4
i
4
r
v ! " 2 2 9 2 4 ! 5 v 9 4 2 2 !
i
! 9 " 2 9 ! 2 5
i
3 2
i
3 v
i r r
2
r
3 ! 2 5 9 2 5 3 2
i
! 3 2 3 5 vI 2 ) "
r
2 ! 5 3 v v 9 2 " 5
r
" 4 4 2 v 5 9 3 4 " 9 4 5 4
r
2 3 9 2
r
" 9 9
r
9 9
r
3 4
i
9 9
i r i
"
r
4 9
r r
2 3
r
"
9 5 i v r 5 3 9 3 i ! 9 3 r 9 ! i 5 4 ! 9 9 " i 9 " " 4 9 v i 4 3 " " i 4 9 " r v 3 i 2 9 9 ! 9 4 i 9 9 4 5 9 "
i i
2) "
i i
3
i r
2 3 2
r r
i
5 2
i
v 5 9
i
3 2 2 ! 3 4
i
! 4 v 5 3 "
i
" 4 !
i
! 3
i
v 4 5 2 "
r
r
4 4 9 v v 9
r
2 4 4 " 4 4
r
2) v " 3 4 "
r
9 v 3
r
2 3
r i
v
r
9 9
r
r r
v 9 4
i
9
r
5 " v "
r
4
r
3 "
r
4 3
r
r
! " 2 " ! 9
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
UFS journalisé 185
r
" ! v 3 " 4
r
v ! !
r
" " 5 4 ! 5 9 v 3 5 2 !
i
2) 4
r
5 9 ! 4 v 2 9 5
i
3 " ! 9 4 5
r
3 3 5 9 " 5 5 3
r i i
3
5 3 3 9 2
r r
5 ! 5 v v 5 9 5 " 5 ! ! 3 4
Il peut être utile de stocker cette information pour avoir l’adressedes superblocs en cas de coup dur.
•$ © £ 3 "
permet de fignoler les paramètres après coup. Moinsutile avec tous les caches des disques
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 94/104
Vérification d’un système de fichiers 186
• Beaucoup de choses sont faites de manière asynchrone pouraccélérer un système de fichiers.
3 " 3 © "
effectue les écrituresen tâche de fond
•
" £ ¢
re-synchronise les disques avec ce que pense l’utilisateur(utile si obligé d’arrêter salement une machine)
• Suite à un reboot intempestif ou une panne matérielle, structuresde données incohérentes dans le système de fichier : fichiers àmoitiés effacés, superbloc endommagé,...
• Lancement d’un3 " ¢ ¦
au démarrage si un système de fichiern’est pas marqué clean (démonté proprement à l’arrêt), stable
(non démonté proprement à l’arrêt mais non modifié après ledernier
" £ ¢
ou3 " 3 © "
avant l’arrêt) ou ¡ 0
(système de fichier journalisé). Parcours de toute la structure du disque : long !Mais analyse de plusieurs disques en parallèle
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Vérification d’un système de fichiers 187
Corrige le superbloc (taille, nombre d’inodes, nombre deblocs et d’inodes libres)
Peut récupérer un superbloc de secours. Si le système esttrop HS pour savoir où le trouver, chercher si vous n’avez pasla sortie de
£
3 "
quelque part sinon faire un£
3 " %
du
disque pour faire un système de fichiers pour de faux Vérification des inodes (nombre de liens vers l’inode, taille,
blocs de données référencés 2 fois)
Correction des répertoires «¨
» et «¨ ¨
» dans les répertoires
...
Si fichiers et répertoires (inodes) non référencés dans unrépertoire : reliés à
¡ " $ ¡ 3 ¡
©£
¡
• Certains problèmes sont insolubles automatiquement : choix
questions à l’utilisateur. Possibilité de faire un3 " ¢ ¦
à la main
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 95/104
Vérification d’un système de fichiers 188
(sur un système de fichier inactif !) avec3 " ¢ ¦
¡
£
¡
" ¦
¢ ¤ ¦
¨¨
•3 " ¢ ¦
n’a aucun moyen de réparer le contenu des fichiers...
• Ne pas monter a priori de disque local via
$ ¢
£3 " $ ¥ '
sanspréciser que le
3 " ¢ ¦
doit être fait au démarrage. Un%
dans
$ ¢
£3 " $ ¥ '
indique pas de3 " ¢ ¦
,
pour3 " ¢ ¦
séquentiel dansl’ordre du
$ ¢
£3 " $ ¥ '
et plus que 1 pour dire que les fsck sontensuite faits en parallèle sur les disques
•3 " ¢ ¦
ne remplace pas les RAID et encore moins lessauvegardes ! Évite juste les restaurations en cas de problèmesmineurs
• Pour hackers et pompiers le débogueur de système de fichiers :3 "
¡
'
,3 "
¡
'
§
©3 "
,...
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Plan 189
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers
Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Système de fichiers—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 96/104
Plan 190
Fonctions d’un système d’exploitation
Historique
Concurrence & parallélisme
• Processus et gestion des processus
• Entrées-sorties de bas niveau
• Gestion du temps
• Ordonnancement
Gestion de la mémoire
Virtualisation
Mise en œuvre des fichiers Systèmes de fichiers réseau
ISI 204 — Systèmes d’exploitation —Systèmes de fichiers distants—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Pouvoir délocaliser les fichiers 191
• Dès début années 1970 développement des réseaux etprotocoles de transfert de fichiers : UUCP, FTP,...
• Pas très élégant car pas de vision globale du système
Émergence de systèmes de fichiers permettant des accèstransparents aux fichiers distants dans les années 1980
Network File System (NFS) de Sun Microsystems
Remote File Sharing (RFS) d’AT&T
Andrew File System (AFS) de Carnegie-Mellon University quia évolué en Distributed File System d’OSF/DCE
ISI 204 — Systèmes d’exploitation —Systèmes de fichiers distants—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 97/104
Propriétés importantes 192
Un système de fichiers distribué peut avoir :
• Transparence de l’accès distant• Transparence de la localisation
• Nom indépendant de la localisation
• Mobilité possible de l’utilisateur
• Tolérance aux pannes
• Extensibilité
• Mobilité des fichiers
ISI 204 — Systèmes d’exploitation —Systèmes de fichiers distants—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Considérations de conception 193
• Espace de nommage : uniforme ou pas
Espace de nommage uniforme : la localisation n’apparaît pas
Un client peut greffer (« monter ») une arborescence distantedans sa propre hiérarchie avec un nom, voire un usage(FTP,...), dépendant de la machine distante
• Fonctionnement avec ou sans état du serveurCertaines requêtes possèdent un état qu’il faut stocker quelquepart :
¡
£
, " ¦
,...
Serveur sans état persistant : chaque client doit envoyer desrequêtes auto-suffisantes (position dans le fichier où on doitécrire,...). Serveur plus simple
Serveur avec état persistant : conserve des informations surles clients, moins de trafic réseau mais plus complexe
(récupération de l’état en cas de plantage du serveur,...)
ISI 204 — Systèmes d’exploitation —Systèmes de fichiers distants—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 98/104
Considérations de conception 194
• Sémantique du partage
Sémantique Unix : toute modification par un client doit êtrevisible immédiatement par un autre client. Contrainte forte performances
Sémantique de session : modifications propagées aux autresclients qu’au niveau du
¢ ¡ "
ou à intervalle régulier,...
• Méthodes d’accès à distance : pas toujours limitées à un simplemodèle client-serveur dans le cas d’un serveur à état à cause dumécanisme de récupération de panne du serveur
ISI 204 — Systèmes d’exploitation —Systèmes de fichiers distants—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Network File System (NFS) 195
• Introduit en 1985 avec la version 2 par Sun Microsystem
• Accès transparent à des systèmes de fichiers distants
/
dev etc usr bin usershome
chailly
barrique3 vasque1bassine3
deauville
bassine2
keryell
TeXRMAILetc
/
dev etc usr bin usershome
chailly
barrique3 vasque1bassine3
deauville
bassine2
keryell
TeXRMAILetc
NFS chailly
NFS deauville
NFS chailly
Autredisque local
• Standard de facto
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 99/104
Network File System (NFS) 196
• Modèle client-serveur
Serveur de fichiers exporte un ensemble de fichiers
Clients de NFS accèdent à ces fichiers
Possible avoir machines à la fois clients et serveurs
Communications par des Remote Procedure Call
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Buts de conceptions 197
• Non restreint à Unix
• Protocole indépendant du matériel
• Mécanisme simple de récupération après plantage du client ouserveur
• Accès transparents pour les applications : pas de noms,bibliothèque ou compilation spécifiques
• Sémantique Unix maintenue dans le cas de clients Unix
• Performances NFS comparables à celles des disques locaux
• Réalisation indépendante de la couche transport
Serveur de fichiers exporte un ensemble de fichiers
Clients de NFS accèdent à ces fichiers
Possible avoir machines à la fois clients et serveurs
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 100/104
Buts de conceptions 198
Communications par des Remote Procedure Call : invocationde fonctions distantes avec passage d’arguments locaux etrécupération des résultats
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Composants de NFS 199
• Protocole RPC : interaction entre client et serveur
• Extended Data Representation (XDR) : encodage desinformations indépendant de l’harchitecture matérielle
• Programme du serveur NFS : gère requêtes des clients
• Programme du client NFS : transforme appels systèmes auxfichiers distants en appels RPC aux serveurs NFS
• Protocole de montage : gère montage et démontage dessystèmes de fichiers NFS
• Plusieurs processus « démons » :£ 3 "
¡ gère les requêtes NFSet §
¡
©£ $
¡ gère montage sur serveur,'
¡
¡ gère sur le client lesentrées-sorties asynchrones à des blocs de fichiers
• Rajout mécanisme de verrou sur fichiers via NFS avec Network
File System et Network Status Monitor ( ¡ ¢ ¦
¡ et" $ ¥ $
¡ )
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 101/104
NFS : sans état 200
• Pas d’état concernant le client dans le serveur
• Chaque requête auto-suffisante et indépendante des autres
• Pas de mécansime d’¡
£
ou¢ ¡ "
• Les
¦
et
© doivent contenir leur propre offset
• Plantage du client : besoin de remonter le système de fichiers
• Plantage du serveur : client répète ses requêtes jusqu’à uneréponse. Pas de différence entre serveur lent ou serveur quiredémarre...
• Sans état
Protocole séparé pour le verrouillage (NLM)
Toute modification des fichiers doivent être écrits sur disquesdu serveur avant de répondre au client car en cas deplantage client ne serait jamais au courant de la perte
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
NFS : sans état 201
d’information... Lent, accélérateurs matériels, NFS v.3
ISI 204 — Systèmes d’exploitation —NFS—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 102/104
Conclusion 202
• Informatique et donc systèmes d’exploitation : partout !
• Ingénieur comprendre comment cela marche
• ∃ quelque chose derrière les interfaces graphiques
• Savoir bien utiliser le système
• Donne plein d’exemples de bonnes idées pour la gestion deressources
• Continuer l’apprentissage du C
ISI 204 — Systèmes d’exploitation —Conclusion—DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Table des matières 203
List of Slides
1 Copyright (c)
Introduction
2 Le cours
3 Problématique
4 Plan5 Introduction
7 Machine Virtuelle Étendue
9 Abstraction de fichier
10 Fichiers et fichiers spéciaux
11 Transparence et opacité
14 Nirvana des systèmes
15 Un ordinateur dans une perspective logicielle
16 DCE — Distributed Computing Environment
17 Pourquoi ce cours en 2A ?
19 Bibliographie
21 Bibliographie Linux
22 Plan
23 Historique
Historique
25 1945–1955 : ordinateur séquentiel
28 1955–1965 : Jusqu’à l’OS
30 1965–1985 : Multiprogrammation, temps partagés
33 Unix Story
37 1985– : Micro-ordinateurs
41 Concepts de base
Concepts de base
42 Multiprogrammation
43 Code translatable
44 Base et déplacement
45 Temps partagé – tourniquet
46 Blocage dans le tourniquet
47 Pagination
49 Segmentation
ISI 204 — Systèmes d’exploitation —Conclusion—
DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 103/104
Table des matières 203
51 Plan
Concurrence & Parallélisme
52 Plan partie gestion concurrence& parallélisme
53 Schéma d’un monoprocesseur
Architecture
55 Mécanisme d’interruptions
58 Mécanisme d’interruptions— détail
59 Schéma d’un multiprocesseur
60 Interruptions & multiprocesseur
61 Classes d’architectures matérielles
62 Plan partie gestion concurrence& parallélisme
63 Notion de noyau
Noyau
64 Noyau Unix
65 Notion de micro-noyau
66 Mises en œuvres de la concurrence
67 Fonctions d’un micro-noyau
68 Noyau et interface de programmation
69 Structure Unix traditionnel (ab initio)
70 Séparer politique et mécanisme
71 Structure Unix moderne
72 Centralisation contre distribution
73 Systèmes distribués
74 Contrôle donné au noyau
75 Informations gérées par le noyau
76 Graphe des états d’un processus
77 Graphe des états d’un processus sous Unix
78 Atomicité des actions noyau
79 Contexte matériel
80 Sauvegarde et restitution de contexte
83 Appel système
84 Entrée et sortie du noyau
85 Contexte logiciel d’un processus
86 Plan partie gestion concurrence & parallélisme
87 Vie et mort d’un processus
88 Vie et mort d’un processus version Unix
ISI 204 — Systèmes d’exploitation —Conclusion—
DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Table des matières 203
89 Distinguer le père du fils en Unix ?
91 Vie et mort d’un 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-processussous UNIX
100 Processus légers
101 Threads utilisateurs dans un processus
102 2 niveaux d’ordonnanceur
103 Avec ordonnanceurde threads noyau
104 Processus et threads : combien ça coûte ?
105 Plan partie gestion concurrence& parallélisme
106 Entrées-sortiesphysiques (bas niveau)
107 Déroulement d’une entrée-sortie physique
108 Plan partie gestion concurrence& parallélisme
109 Temps
111 Génération d’événements
112 L’heure et sa distribution
114 Plan partie gestion concurrence & parallélisme
115 Ordonnancement
116 Priorité
117 Unix : 2 ordonnancement
118 Ordonnancement et va et vient
119 Quelques politiques d’ordonnancement
120 Priorités dans Unix
122 Inversion de priorité
124 Mars Pathfinder Mission on July 4th, 1997
125 Tâche martienne de priorité forte
126 Tâche martienne de priorité faible
127 Tâche martienne de priorité moyenne
128 Bug martien
129 Debug martien
130 Fichiers et gestion mémoire
131 Gestion des mémoires
Gestion mémoire
ISI 204 — Systèmes d’exploitation —Conclusion—
DÉPARTEMENT INFORMATIQUE — ENST Bretagne
8/3/2019 Systeme d Exploitation Presentation Systeme Cnrs
http://slidepdf.com/reader/full/systeme-d-exploitation-presentation-systeme-cnrs 104/104
Table des matières 203
132 Hiérarchie mémoire
133 Hiérarchie mémoire version réseau
134 Dépasser des limitations d’adressage
137 Dépasser la mémoire physique
138 Intérêts de la mémoire virtuelle
140 Grande mémoire virtuelle
143 Traduction des adresses des pages
145 Tailles de pages
146 Pagination à 3 niveaux sur SPARC
147 Défaut de page
148 Vision objet de la mémoire virtuelle
149 Mémoire virtuelle et localité
150 Limiter les défauts de pages
151 Accélérer la traduction d’adresse
152 Contenu d’un TLB
153 Choix des pages à enlever du TLB
Disques
154 Donner de l’espace aux processus
155 ( Disques magnétiques )
157 Partitionnement des disques
160 Utilitaire format
161 format à l’œuvre
Formattage
164 Étape fdisk sur PC
166 Systèmes de fichiers sous Solaris
Système de fichiers
170 Montage/démontage d’un système de fichiers
171 UFS journalisé
176 Vérification d’un système de fichiers
179 Plan
180 Plan
181 Architectures virtuelles
182 Machines virtuelles
Machines virtuelles
185 Machines virtuelles - fonctionnement
188 Plan
ISI 204 — Systèmes d’exploitation —Conclusion—
DÉPARTEMENT INFORMATIQUE — ENST Bretagne
Table des matières 203