45
Généralités sur les Systèmes d'Exploitation Thierry P arquet Thierry.P arquet@ helha.be 1ère année Bachelor Informatique – 2009-2010 HELHa - Haute Ecole Louvain en Hainaut

Cours OS - Chapitre 1 Introduction - 2009-2010

  • Upload
    m4kn4sh

  • View
    824

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 2: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 3: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 4: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 5: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 5

Chapitre 1

INTRODUCTION

Page 6: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 7: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 8: Cours OS - Chapitre 1 Introduction - 2009-2010

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...

Page 9: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 9

Introduction● Contrôleur Floppy disk NEC PDP765 ?

Exemple : Floppy.c

visualisation du fichier

Page 10: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 11: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 12: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 13: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 14: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 14

IntroductionPlace de l'OS dans l'ordinateur

Page 15: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 15

Organisation d'un ordinateur

Page 16: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 17: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 17

Organisation d'un ordinateurMicroprocesseur

Page 18: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 18

Organisation d'un ordinateurMémoire● Doit être rapide pour ne pas freiner le CPU

Page 19: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 20: Cours OS - Chapitre 1 Introduction - 2009-2010

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)

Page 21: Cours OS - Chapitre 1 Introduction - 2009-2010

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)

Page 22: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 23: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 24: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 25: Cours OS - Chapitre 1 Introduction - 2009-2010

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 ?

Page 26: Cours OS - Chapitre 1 Introduction - 2009-2010

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.

Page 27: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 28: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 29: Cours OS - Chapitre 1 Introduction - 2009-2010

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é.

Page 30: Cours OS - Chapitre 1 Introduction - 2009-2010

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” !

Page 31: Cours OS - Chapitre 1 Introduction - 2009-2010

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).

Page 32: Cours OS - Chapitre 1 Introduction - 2009-2010

Systèmes d'exploitationAnnée 2009 - 2010 48

Historique des OSDeuxième Génération (1955 - 1965)

Page 33: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 34: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 35: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 36: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 37: Cours OS - Chapitre 1 Introduction - 2009-2010

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...

Page 38: Cours OS - Chapitre 1 Introduction - 2009-2010

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.

Page 39: Cours OS - Chapitre 1 Introduction - 2009-2010

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é.

Page 40: Cours OS - Chapitre 1 Introduction - 2009-2010

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.

Page 41: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 42: Cours OS - Chapitre 1 Introduction - 2009-2010

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.

Page 43: Cours OS - Chapitre 1 Introduction - 2009-2010

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

Page 44: Cours OS - Chapitre 1 Introduction - 2009-2010

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.

Page 45: Cours OS - Chapitre 1 Introduction - 2009-2010

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).