Upload
m4kn4sh
View
824
Download
4
Embed Size (px)
Citation preview
Généralités sur les Systèmes d'Exploitation
Thierry ParquetThierry.Parquet@ helha.be
1ère année Bachelor Informatique – 2009-2010HELHa - Haute Ecole Louvain en Hainaut
Systèmes d'exploitationAnnée 2009 - 2010 2
Ouvrages de référence
● Modern Operating Systems, Andrew S. Tanenbaum, Third Edition, Pearson International Edition
● Support de Cours, F. Pellegrini & D. Sherman, ENSEIRB
● Principes des Systèmes d'Exploitation, A. Silberschatz & P.B. Galvin, Addison Wesley
● Conception de Systèmes Informatiques, O. Bonaventure, INGI1113, 2006
Systèmes d'exploitationAnnée 2009 - 2010 3
Remarques préliminaires
● Le cours est composé des différents éléments suivants:
– Ces transparents qui servent à illustrer la partie didactique du cours.
– Les notes de cours “Systèmes d'exploitation” réalisées par François PELLEGRINI et David SHERMAN
– La participation active aux exposés et aux séances d'exercices.
● L'évaluation sera réalisée sur base du contenu de tous les éléments repris ci-dessus
Systèmes d'exploitationAnnée 2009 - 2010 4
Contenu du cours
● Chapitre 1 : Introduction● Chapitre 2 : Gestion des Processus● Chapitre 3 : Gestion de la Mémoire● Chapitre 4 : Gestion des Systèmes de Fichiers● Chapitre 5 : Exemples et Travaux Dirigés
Systèmes d'exploitationAnnée 2009 - 2010 5
Chapitre 1
INTRODUCTION
Systèmes d'exploitationAnnée 2009 - 2010 6
Introduction● Système d'Exploitation ?
– Gestion des ressources de la machine...● CPU (partage du temps d'exécution)● Espace mémoire● Disques / Fichiers● Unités I/O
– Base pour développement et exécution des programmes applicatifs
– Opérations de contrôle● Evite utilisation incorecte du hardware● Gère la sécurité des accès● Gère protection des données
Systèmes d'exploitationAnnée 2009 - 2010 7
Introduction
● Problématique à l'exécution des programmes?– Multiplicité des ressources– Complexité des composants
● Exemples:– Contrôleur Floppy disk NEC PDP765– Partage d'imprimante
Systèmes d'exploitationAnnée 2009 - 2010 8
Introduction● Contrôleur Floppy disk NEC PDP765 ?
Contrôleur simple et désuet...– Jeu réduit de 16 commandes
● Lecture / Ecriture secteur● Déplacement tête de lecture● Formatage piste● ...
– 13 paramètres codés dans un registre de 9 octets● Nombre de secteurs / piste● Mode d'enregistrement● Intersector gap spacing
– Après exécution commande● 23 Status et code d'erreur sur 7 bytes
– Gestion arrêt / démarage du floppy...
Systèmes d'exploitationAnnée 2009 - 2010 9
Introduction● Contrôleur Floppy disk NEC PDP765 ?
Exemple : Floppy.c
visualisation du fichier
Systèmes d'exploitationAnnée 2009 - 2010 10
Introduction● Partage Imprimante
– Multi-utilisateur● Pas de mélange de documents● Gestion du spooling (rapidité accès)● Gestion des autorisations● Rapport d'utilisation ressources
Systèmes d'exploitationAnnée 2009 - 2010 11
Introduction
● Objectifs de l'OS
– Faciliter la vie du programmeur
– Protéger le système et utilisateurs(fausses manipulations, sécurité d'accès, ...)
– Abstraction --> Vue simple, uniforme et cohérente de la machine
Systèmes d'exploitationAnnée 2009 - 2010 12
Introduction● Operating System – Machine Virtuelle
– Abstraction ● Vue uniforme des IO● Mémoire virtuelle et partageable● Gestion de fichiers et répertoire● Gestion droits d'accès, sécurité, traitement erreurs● Gestion des processus● Gestion communication inter processus
Systèmes d'exploitationAnnée 2009 - 2010 13
Introduction
● Operating System – Gestionnaire de Ressources– Multiplexing
● Assure fonctionnement des ressources et respect délais● Identification de l'usager d'une ressource● Contrôle d'accès aux ressources● Interruption d'utilisation des ressources● Gestion des erreurs● Evitement des conflits
Systèmes d'exploitationAnnée 2009 - 2010 14
IntroductionPlace de l'OS dans l'ordinateur
Systèmes d'exploitationAnnée 2009 - 2010 15
Organisation d'un ordinateur
Systèmes d'exploitationAnnée 2009 - 2010 16
Organisation d'un ordinateurMicroprocesseur● Cerveau de l'ordinateur● Registres visibles
– Program Counter : PC(adresse prochaine instruction)
– Stack Pointer : SP(adresse du stack en memoire)
– Program Status Word : PSW (contient bits de contrôle)
● Mode Kernel / Mode User
MEMOIRE
REGISTRES UAL
Systèmes d'exploitationAnnée 2009 - 2010 17
Organisation d'un ordinateurMicroprocesseur
Systèmes d'exploitationAnnée 2009 - 2010 18
Organisation d'un ordinateurMémoire● Doit être rapide pour ne pas freiner le CPU
Systèmes d'exploitationAnnée 2009 - 2010 19
Organisation d'un ordinateurMémoire● Registre
– Sur le même composant que CPU -> pas de délais– Taille : 32x32 bits sur CPU 32 bits et 64x64 bits sur
CPU 64 bits● Cache : L1 & L2 cache
– Cache Hit (vérification par HW si info en mémoire)– Stocage d'infos très fréquemment utilisées– L1 généralement pour instructions “décodées” (+- 16
KB) – pas de délai d'accès– L2 informations récemment utilisées (plusieurs MB) –
1 à 2 cycles d'orloge de délai
Systèmes d'exploitationAnnée 2009 - 2010 20
Organisation d'un ordinateurMémoire● Memoire principale
– RAM (Random Access Memory) ● Mémoire volatile● Prix en forte chute
– ROM (Read Only Memory)● Programmée en usine● Non volatile
– EEPROM (Electrically Erasable PROM) ● Non volatile mais peut-etre réecrite● Lente
– Flash memory● Moyen de stocage pour les appareils électoniques● Photo, MP3, ...● Vitesse entre RAM et Disque Dur
– CMOS (volatile mais faible consommation)
Systèmes d'exploitationAnnée 2009 - 2010 21
Organisation d'un ordinateurDisque
● Plus de 100 x moins cher que RAM par bit
● Non volatile● Très lent par rapport à
la RAM (1000 x)● Peut contenir la
mémoire virtuelle.● Mapping réalisé par le
CPU au travers du MMU (Memory Management Unit)
Systèmes d'exploitationAnnée 2009 - 2010 22
Organisation d'un ordinateurBandes Magnétiques (Tapes)
● Coût par bit le plus faible● Backup – Copie de sécurité● Très lent● Mise en place de robots...● Remplacées de plus en plus par les disques
optiques
Systèmes d'exploitationAnnée 2009 - 2010 23
Organisation d'un ordinateurUnités Entrée/sortie (I/O Devices)
● IO Devices composées généralement de 2 parties– Controleur
● Interface simplifié pour l'OS● ex. Lire le secteur 11.206 du disque 2● Conversion cylindre, tête, secteur
– Bad sectors– Nombres de secteurs variables
● Device Driver– Windows– Linux– Mac OS
– Unité à proprement parler
Systèmes d'exploitationAnnée 2009 - 2010 24
Organisation d'un ordinateurUnités Entrée/sortie (I/O Devices)
● Device Driver – Intégration à l'OS ...(Kernel mode)– Re-Link OS et Reboot– Mise à jour d'un fichier des devices dans l'OS et reboot– Hot Pluggable Devices – USB & IEEE 1394
● Accès à l'unité– Busy Waiting Method
● CPU passe le contrôle au controleur et attend– Interrupt
● CPU prend en charge le changement de contexte quand réception d'un interupt
– DMA (Direct Memory Access)● Transfert des informations IO en mémoire sans intervention
constante du CPU. A la fin, lancement interrupt
Systèmes d'exploitationAnnée 2009 - 2010 32
Principes des OSExercice 1● Un ordinateur possède un pipeline à 3 niveaux.
Chaque niveau met le même temps à s'exécuter (1 ns).Combien d'instructions par seconde cette machine peut-elle exécuter ?
Systèmes d'exploitationAnnée 2009 - 2010 33
Principes des OSExercice 1● Réponse :
– Le pipeline sort une instruction toutes les nanosecondes ->
– la machine execute 109 soit 1.000.000.000 (1 milliard) d'instructions par seconde.
– L'important est le nombre d'instructions teminées qui sortent du pipeline.
Systèmes d'exploitationAnnée 2009 - 2010 43
Historique des OSGénération '0'● Babbage – (1792 – 1871)
“Machine Analytique”– Eviter les erreurs dans tables
mathématiques– Automatiser la chaine de calcul– Séparation entre le module de
calcul et la mémorisation– Utilisation de cartes perforées– Engagement assistant “Ada
Lovelace” => ADA– Problèmes technologiques
http://histoire.info.online.fr
Systèmes d'exploitationAnnée 2009 - 2010 44
Historique des OSPremière Génération (1945 - 1955)
● Génération des relais mécaniques et tubes à vide– Intensification des efforts pendant la seconde guerre
mondiale– Relais mécaniques -> Temps de cycles en secondes– Remplacement par des tubes à vide
● Millions de fois moins performant que les petits PC actuels...
● Simples calculs numériques (tables de sinus ou log)
● Programmation par cable
Systèmes d'exploitationAnnée 2009 - 2010 45
Historique des OSPremière Génération (1945 - 1955)
● Pas de système d'exploitation.● Utilisateurs travaillaient chacun à leur tour sur
l'ordinateur qui remplissait une salle entière.● Grande lenteur.● Grande fragilité.
Systèmes d'exploitationAnnée 2009 - 2010 46
Historique des OSPremière Génération (1945 - 1955)● Création de l'ENIAC (Electronic Numerical
Integrator and Computer) par P. Eckert et J. Mauchly. La programmation de ce calculateur s'effectue en recablant entre eux ses différents éléments. Composé de 19000 tubes, il pèse 30 tonnes, occupe une surface de 72 m2 et consomme 140 kilowatts. Horloge : 100 KHz. Vitesse : environ 330 multiplications par seconde.
● Apparition du terme “Bug” !
Systèmes d'exploitationAnnée 2009 - 2010 47
Historique des OSDeuxième Génération (1955 - 1965)● Appellation Mainframe● Le passage aux transistors rendait les ordinateurs
plus fiables.● Ils pouvaient être vendus à des utilisateurs
(grandes compagnies, universités ou administrations).
● Mais devant les coûts d'équipement élevés on réduisit les temps de traitement grâce au traitement par lots (batch).
Systèmes d'exploitationAnnée 2009 - 2010 48
Historique des OSDeuxième Génération (1955 - 1965)
Systèmes d'exploitationAnnée 2009 - 2010 49
Historique des OSDeuxième Génération (1955 - 1965)
● Les utilisations principales étaient le calcul scientifique et l'ingénierie (équations différentielles).
● Apparition du JCL (Job Command Language)● Langage : Fortran et Assembler ● OS : FMS (Fortran Monitor System) - IBSYS
Systèmes d'exploitationAnnée 2009 - 2010 50
Historique des OSTroisième Génération (1965 - 1980)● Apparition Circuits Intégrés
– Amélioration rapport coût/performance– Apparition de familles de machines <>
ordinateurs propriétaires● Recherche au niveau des systèmes
d'exploitation “génériques”– Scientifique et commercial– Programmes batch ou Interactifs
● Reponse IBM 360
Systèmes d'exploitationAnnée 2009 - 2010 51
Historique des OSTroisième Génération (1965 - 1980)● MULTIPROGRAMMATION
– Switch de contexte– CPU en attente IO -> basculement
● Scientifique peu d'I/O● Commercial énormément d'I/O
80 à 90 % du temps d'attente
Job 3
SystèmeExploitation
Job 2Job 1
PartitionsPartitionsMémoireMémoire
Systèmes d'exploitationAnnée 2009 - 2010 52
Historique des OSTroisième Génération (1965 - 1980)● SPOULAGE
– Stockage sur disques des jobs écrits sur cartes au fur et à mesure de l'arrivée
– Plus de perte de temps entre fin d'un JOB et démarrage d'un autre
– SPOOL – Simultaneous Peripheral Operation On Line
Systèmes d'exploitationAnnée 2009 - 2010 53
Historique des OSTroisième Génération (1965 - 1980)● TEMPS PARTAGE (Time Sharing)
– Frustration des développeurs des systèmes batch
– Temps d'attente entre compile et résultats...– Création de CTSS (Concurrent Time-
Sharing System) suivi par MULTICS (MULTIplexed Information and Computing Services)
– Multics – 1 machine pour supporter des centaines de users...
Systèmes d'exploitationAnnée 2009 - 2010 54
Historique des OSTroisième Génération (1965 - 1980)● Apparition des mini-ordinateurs (DEC PDP-1 en
1961, 4K mots de 18 bits, pour un prix de 120000 $).
● Thompson écrivit une version simplifiée (mono-utilisateur) de MULTICS ; Kernighan l'appela avec humour UNICS (Uniplexed Information and Computer Service) ; ce nom allait devenir UNIX1.
● D. Ritchie se joignit à K. Thompson pour réécrire UNIX en langage C ; système d'exploitation le plus porté sur toutes sortes de machine.
Systèmes d'exploitationAnnée 2009 - 2010 55
Historique des OSQuatrième Génération (1980 - 1990)● LES ORDINATEURS PERSONNELS● Développement des circuits LSI (Large Scale
Integration circuits)● Apparition de puces comportant des milliers
de transistors sur un millimètre carré de silicium
● même architecture que les mini-ordinateurs mais leur prix est beaucoup moins élevé.
Systèmes d'exploitationAnnée 2009 - 2010 56
Historique des OSQuatrième Génération (1980 - 1990)● Deux systèmes d'exploitation principaux :
MS-DOS (Microsoft Inc.) et UNIX.● Dans le milieu des années 80, apparition de
réseaux d'ordinateurs individuels qui fonctionnent sous des système d'exploitation en réseau ou des systèmes d'exploitation distribués.
Systèmes d'exploitationAnnée 2009 - 2010 57
Historique des OSQuatrième Génération (1980 - 1990)● 1974 – Intel – 8080 (processeur 8 bits)
– OS orienté disque (CP/M) (Control Program for Microcomputers) – Création Digital Research
● 1977 – CP/M récrit pour supporter différents processeurs (Intel 8080, Zilog Z80, ...)
● 1980 – IBM PC – Gates story...– Mise en contact avec Digital Research– Refus de DR– Achat de DOS– Modifications MS-DOS
● 1985 – 1995 – Windows = couche graphique
Systèmes d'exploitationAnnée 2009 - 2010 58
Historique des OSQuatrième Génération (1980 - 1990)● 1995 – Windows 95
– Utilise MS-DOS pour démarrage – Exécution des anciens programmes
● 1999 – Windows 2000 (win NT 4) – 32 bits● 2001 – Windows XP – Réunification ???
6 années● 2007 – VISTA
– Nouveau GUI (IHM) et nouvelles fonctionnalités
– Challenge – Unification chaîne MSFT.
Systèmes d'exploitationAnnée 2009 - 2010 59
Historique des OSQuatrième Génération (1980 - 1990)● UNIX
– Plus positionné dans le monde des serveurs et des stations de travail.
– UNIX supporte un système de fenêtrage appelé X Window System (connu sour X11)
– Prend de plus en plus d'importance sur les Desktop (Inde et Chine)
– Linux est installé de plus en plus sur les PC● GNOME et KDE sont des IHM (GUI) tournant sur
X11
Systèmes d'exploitationAnnée 2009 - 2010 60
Historique des OS5ème génération (1990 - ????)● Les ordinateurs personnels portables
et de poche.● Apparition des PIC (Personal Intelligent
Communicator de chez Sony) et des PDA (Personal Digital Assistant, le Newton de chez Apple)
● Utiles pour les « nomades » (recherche, navigation, communication)
● Très bon marché et capables de se connecter à des ordinateurs distants et performants.
Systèmes d'exploitationAnnée 2009 - 2010 61
Historique des OS5ème génération (1990 - ????)● Systèmes d'exploitation de type « micro-
noyau » :– modulaires (un module par fonction) – Réalisés avec plus ou moins de modules– adaptables à des très petites machines (PDA et
PIC).