PITA Systèmes d’Exploitationdidier/lectures/os_00_intro.pdfSystèmes d’Exploitation Didier...

Preview:

Citation preview

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Systèmes d’ExploitationIntroduction

Didier Verna

didier@lrde.epita.frhttp://www.lrde.epita.fr/˜didier

1/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Table des matières

1 Introduction

2 Préhistoire

3 Histoire

4 Autres Systèmes contemporains

5 Organisation des systèmes d’exploitation

2/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Qu’est-ce qu’un système d’exploitation ?

Ça ? Ça ?

Que dire de command.com, des shellutils, de X11. . . ?

4/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Définition pragmatique

Utilisateur OS Machine

Permettre une utilisationpratique de la machine

Utiliser efficacementles ressources matérielles

Fournir une indépendancevis−à−vis du matériel

1 3

2

5/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Définition(s) technique(s)

La plus répandue :I Allocateur de ressources

(CPU, mémoire, périphériques etc.)I Contrôleur de ressources

(gestion et contrôle dans le temps et dans l’espace)Autres :

I Première couche logicielle au dessus du matérielI Seul programme permanent dans une machineI Portion logicielle qui tourne en mode noyau

6/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1642 : Pascal

http://davidguy.brinkster.net/computer/

Machines Arithmétiques : calcul dirigé manuellement.

8/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1801 : Jacquard

http://lyc-jacquard.scola.ac-paris.fr/historique_1p.html

Automates : métier à tisser doté d’un programme sur unecarte en bois permettant de gérer le mouvement desengrenages.

9/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1843 : Charles Babbage / Ada Byron

http://www-gap.dcs.st-and.ac.uk/~history/

Automate pour le calcul arithmétique : programme sur unecarte en bois, « magasin » pour le stockage des résultatsintermédiaires, automate pour l’exécution du programme.

10/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1936 : Alan Turing

http://www-gap.dcs.st-and.ac.uk/~history/

Définition mathématique précise de la notion d’algorithme.Modèle abstrait pour le calcul informatique. « Machine deTuring ».

12/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1945 : Von Neumann

http://www-gap.dcs.st-and.ac.uk/~history/

Stockage du programme dans le « magasin » (la mémoire),codage de l’information en binaire. Seul le « logiciel » saitdistinguer les instructions et les données.

13/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1945 – 1955 : lampes et jacks

Machines énormesDizaines de milliers de relais mécaniquesprogressivement remplacés par des lampesUtilisation 100% manuelleDirectement en langage machine, panneaux decontrôle électriques.Pas de distinction entre concepteurs, administrateurs etutilisateurs1950 : apparition des cartes perforées

=⇒ Temps de préparation considérable, unité centrale peuactive.

14/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ENIAC (1)Electronic Numerical Integrator and Computer

http://www-gap.dcs.st-and.ac.uk/~history/

15/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ENIAC (2)

http://www-gap.dcs.st-and.ac.uk/~history/

16/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ENIAC (3)

http://www-gap.dcs.st-and.ac.uk/~history/

17/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ENIAC (4)

http://www-gap.dcs.st-and.ac.uk/~history/

18/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ENIAC (5)

http://www-gap.dcs.st-and.ac.uk/~history/

19/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1955 – 1965 : traitement par lots (batch)

Utilisation de transistorsMachines plus fiables (mainframes)Opérateur professionnel

I Engagé pour s’occuper du systèmeI Enchaînement des tâches, surveillance de leur

déroulement etc.I Le programmeur n’a plus accès à la console

Mise en commun des tâches similairesExemple : deux programmes FORTRAN utilisent lemême compilateur

=⇒ Toujours de longues périodes d’inactivité de l’unitécentrale.

20/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Traitement par lots (suite)

Traitement hors ligne (offline)Utilisation de bandes magnétiques comme buffers E/Sde l’unité centrale (IBM-7094). Conversion cartes ↔bandes sur des machines distinctes (IBM-1401).Moniteur résidentPremier système d’exploitation rudimentaire :programme d’enchaînement automatique des tâchescontrôlé par des cartes spéciales ($LOAD, $RUN etc.).

=⇒ Aucune interactivité dans le traitement des tâches.

21/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

IBM–7094

http://www.columbia.edu/acis/history/

22/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Console 7094

http://www.columbia.edu/acis/history/

23/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

IBM–1401

http://www.columbia.edu/acis/history/

24/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1965 : circuits intégrés

Offrir une gamme de machines compatiblesÉviter les machines dédiées (IBM-1401 vs. IBM-7094).Permettre la montée en puissance progressive.IBM System/360, 370, 4300 etc.Première famille d’ordinateurs dotés de circuitsintégrés. Rapport performance / coût cassé.OS/360 : des millions de lignes d’assembleur. Desmilliers de programmeurs. Autant de bugs.

25/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

IBM–360/91

http://www.columbia.edu/acis/history/

26/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1965 – 1980 : multiprogrammation

Traitement par lots multiprogramméI Idée : 1960, mise en œuvre : 1970.I Problème : inactivité du CPU pendant les E/S.I Solution : faire coexister plusieurs travaux dans la

mémoire, et faire travailler celui qui peut.Spooling (Simultaneous Peripheral Operation Online)

I Utilisation de disques (accès direct) plutôt que debandes (accès séquentiel)

I Plus besoin de conversion cartes ↔ bandesForme rudimentaire d’ordonnancement

I Le système choisi un candidat parmi les travauxdisponibles (modification de l’ordre initial des travaux)

I Premier cas de prise de décision à la place desutilisateurs

27/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Disques magnétiques

http://davidguy.brinkster.net/computer/

28/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Temps partagé (multitâche / timesharing)Extension logique de la multiprogrammation

Plusieurs travaux sont lancés simultanément(multiprogrammation)Commutation très fréquente entre les différentsprogrammes en cours (illusion de parallélisme)Possibilité de dialogue avec le programmeur(celui-ci redevient le contrôleur de ses travaux)CTSS (Compatible Time Sharing System), MULTICS

(MULTiplexed Information and Computing Service).

=⇒ Un accès interactif aux données nécessite un systèmede fichiers, et pose donc les premiers problèmes desécurité.

29/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Pour la p’tite histoire. . .

Mini-ordinateurs : DEC PDP-1 (5% du prix d’un 7094)sorti en 1961. La famille s’agrandi jusqu’au PDP-11.Ken Thompson (Bell Labs) développa une versionsimplifiée de MULTICS sur un PDP-7. Ce travail est àl’origine d’UNIX.UNIX s’est développé en System V (AT&T) et BSD(Berkeley Software Distribution). POSIX est un effort denormalisation IEEE.1987 : Andrew Tanenbaum livre MINIX, un cloned’UNIX à vocation pédagogique.MINIX est à la base de LINUX (Linus Torvalds).

30/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

PDP-11/50

http://www.columbia.edu/acis/history/

31/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Console PDP-11/50

http://www.columbia.edu/acis/history/

32/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1980 – ? : Ordinateurs personnels

LSI (Large Scale Integration)mini-ordinateurs → micro-ordinateurs1974 : CP/M (Control Program for Micro-computers).Premier système d’exploitation pour Intel (8080) parDigital Research. Basé sur floppy (8-pouces).1980 : IBM PC. Bill Gates fourni son interpréteur BASIC

(Beginners All-purpose Symbolic InstructionsLanguage). Digital Research refuse de fournir sonsystème d’exploitation. IBM se tourne vers Bill Gates:-(

MS-DOS (Microsoft Disk Operating System)Modification du DOS de Seattle Computer Products

33/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

1980 – ? : Ordinateurs personnels (suite)

1985 : Macintosh / Windows : incorporation d’uneinterface graphique (Engelbart, Xerox PARC). Windowsn’est qu’une interface graphique au dessus deMS-DOS.Windows 95 / 98 / Me : ne retiennent MS-DOS quepour le boot et la compatibilité des applications. Encorebeaucoup de code assembleur Intel 16 bits.Window NT / 2000 : vrai 32 bits.Et bien sûr : LINUX (X11, KDE etc.), Mac OS X.

34/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Apple IIe

http://www.old-computers.com/museum/

35/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Commodore 64

http://www.old-computers.com/museum/

36/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

ATARI 800 XL

http://www.old-computers.com/museum/

37/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Systèmes parallèles / multiprocesseurs :

Plusieurs processeurs partagent les mêmes ressourcesmatérielles (bus, mémoire, périphériques etc.)

I Plus grande capacité de traitement et meilleure fiabilité(« dégradation progressive »)

Multitraitement asymétriqueTâches prédéfinies pour chaque processeur,philosophie maître - esclave (ex. SunOS 4)Multitraitement symétriqueChaque processeur exécute une copie du systèmed’exploitation et communique avec les autres pourl’allocation des tâches (ex. SunOS 5 (Solaris 2) etLINUX)

39/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Systèmes répartis / distribués

Plusieurs processeurs ne partageant pas les mêmesressources matérielles (bus, mémoire, périphériquesetc.)

I Partage de ressources éloignées(imprimantes, fichiers etc.)

I Accélération du calcul (« répartition de charge »)I Fiabilité (nécessite une certaine redondance)I Communication (réseaux)

40/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Systèmes temps réel

Les systèmes temps réel sont principalement utilisés pourdes applications dédiées (ex. robotique industrielle). Ilsdoivent fournir les résultats attendus quelles que soient lescontraintes de temps imposées.

Temps réel rigideSystème garantissant que les tâches critiques finissentà temps. Caractéristique incompatible avec lessystèmes à temps partagé.Temps réel soupleSystème donnant la priorité aux tâches critiquesjusqu’à ce qu’elles se terminent. Cette fonctionnalité seretrouve de plus en plus dans les systèmes modernes(UNIX en particulier).

41/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Structure monolithiquePas (ou peu) de structure

MS-DOS : conçu initialement pour Intel 8088. Pas deprotection matérielle disponible, pas de contrôled’accès, accessibilité de toutes les fonctionnalités auxutilisateurs.UNIX : séparation du système en noyau et programmessystèmes, séparation du noyau en pilotes et interface.

43/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Approche en couches

Chaque couche du système ne peut utiliser que lesfonctionnalités fournies par les couches inférieures (ex.anneaux MULTICS).

Avantages : modularité, plus grande facilité dedébuggage.Inconvénients : difficulté de conception de chaquecouche, perte d’efficacité des appels système.

=⇒ Limiter le nombre de couches, étendre leursfonctionnalités, favoriser la modularité.

44/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Machines virtuellesSimulation logicielle d’une architecture matérielle

Idée d’origine : séparer lamultiprogrammation de la notion de« machine étendue ».

I Avantages : protection desressources, facilité dedéveloppement de nouveauxsystèmes, portabilité.

I Inconvénient : perte d’efficacité àcause de la couche logiciellesupplémentaire.

IBM 370 Hardware

VM/370

CMS CMS OS/360

Virtual 370

Concepts voisinI Mode 8086 virtuel du PentiumI Bytecode (ex. JVM)I Exo-kernels : clônage de machines avec restriction de

ressources

45/46

Systèmesd’Exploitation

Didier VernaEPITA

Introduction

Préhistoire

Histoire

Aujourd’hui

Génie Logiciel

Micro-noyaux

Le moins possible en mode noyauFonctionnalités système déplacées en espaceutilisateur (userland).Modèle client / serveurLes appels système deviennent des requêtes de clients(processus utilisateurs) vers des serveurs(fonctionnalités système en userland).Avantages :

I Tolérance aux pannesI Systèmes distribués

46/46

Recommended