Systeme d Exploitation Presentation Systeme Cnrs

105
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 . This material may be distributed only subject to the terms and conditi ons set forth in the Open Publication License, v1.0 or later (the latest version is presently available at ). Si vous améliorez ces cours, merci de m’envoyer vos modications ! T ransp arents 100 % à base de logiciels libres (LaT E X,...) ISI 204 — Systèmes d’exploitation —Introduction— DÉPARTEMENT INFORMATIQUE — ENST Bretagne

Transcript of Systeme d Exploitation Presentation Systeme Cnrs

Page 1: 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

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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

Page 7: 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 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

Page 8: 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 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

Page 9: 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 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

Page 10: 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 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

Page 11: 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 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

Page 12: 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 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

Page 13: 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 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

Page 14: 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 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

Page 15: 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 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

Page 16: 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 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

Page 17: 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 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

Page 18: 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 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

Page 19: 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 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

Page 20: 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 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

Page 21: 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 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

Page 22: 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 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

Page 23: 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 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

Page 24: 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 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

Page 25: 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 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

Page 26: 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 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

Page 27: 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 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

Page 28: 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 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

Page 29: 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 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

Page 30: 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 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

Page 31: 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 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

Page 32: 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 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

Page 33: 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 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

Page 34: 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 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

Page 35: 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 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

Page 36: 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 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

Page 37: 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 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

Page 38: 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 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

Page 39: 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 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

Page 40: 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 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

Page 41: 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 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

Page 42: 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 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

Page 43: 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 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

Page 44: 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 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

Page 45: 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 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

£ £

!

¢© $ ¥

§

¥

"

¢

¨

 

  

ISI 204 — Systèmes d’exploitation —Noyau—DÉPARTEMENT INFORMATIQUE — ENST Bretagne

Page 46: 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 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

Page 47: 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 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

Page 48: 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 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

Page 49: 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 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

Page 50: 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 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

Page 51: 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 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

Page 52: 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 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

Page 53: 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 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

Page 54: 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 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

Page 55: 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 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

Page 56: 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 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

Page 57: 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 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

Page 58: 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 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

Page 59: 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 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

Page 60: 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 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

Page 61: 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 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

Page 62: 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 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

Page 63: 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 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

Page 64: 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 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

Page 65: 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 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

Page 66: 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 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

Page 67: 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 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

Page 68: 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 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

Page 69: 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 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

Page 70: 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 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

Page 71: 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 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

Page 72: 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 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

Page 73: 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 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

Page 74: 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 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

Page 75: 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 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

Page 76: 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 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

Page 77: 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 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

Page 78: 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 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

Page 79: 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 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

Page 80: 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 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

Page 81: 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 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

Page 82: 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 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

Page 83: 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 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

Page 84: 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 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

Page 85: 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 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

Page 86: 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 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

`

`

s

¡ 9 9 § 0 8 a b

` `

'

`

r

`

r

`

`

I

¡ 9 9 § 0 8 a b

` `

'

`

r

`

r

`

`

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

`

`

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

Page 87: 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 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

Page 88: 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 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

Page 89: 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 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

Page 90: 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 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

Page 91: 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 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

Page 92: 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 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

Page 93: 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 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

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

Page 94: 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 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

Page 95: 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 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

Page 96: 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 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

Page 97: 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 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

Page 98: 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 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

Page 99: 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 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

Page 100: 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 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

Page 101: 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 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

Page 102: 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 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

Page 103: 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 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

Page 104: 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 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