12

Click here to load reader

Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

  • Upload
    vannhu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

1

1

Principes des Systèmes d’exploitation

Catherine Faron Zucker, UNSA, EPU [email protected]

2

Introduction aux systèmes d’exploitation

Chapitre 1

Page 2: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

2

EPU SI1 Catherine Faron Zucker 3

Définition fonctionnelle d’un OS

Interface Utilisateur - Hardware

Environnement utilisateur

Appels-système (primitives)

Langage-machine (jeu d’instructions)

Microprogrammation

Algèbre de Boole

Interfaces spécifiques aux applications

Micro-machine

Composants architecturaux

Circuits matériels

Applications

Système d’exploitation

Utilitaires, bibliothèques

Har

dwar

eS

oftw

are

EPU SI1 Catherine Faron Zucker 4

Définition fonctionnelle d’un OS

Contrôle, Gestion, ordonnancement des ressources

Ressources physiquesProcesseur(s), mémoire, disques, périphériques

Programmes, processus

InformationStockage, désignation, localisationPartage et échange entre usagers

Protection, sécurité, confidentialité

Page 3: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

3

EPU SI1 Catherine Faron Zucker 5

Appels système

Interface entre applications et OS Créer, détruire, utiliser les ressources gérées par l’OS

Créer des processusGérer la mémoireLire et écrire dans des fichiersGérer les entrées/sorties (lire au terminal, imprimer, etc.)

Les procédures de bibliothèques appellent l’instruction TRAPpour démarrer l’OS qui exécute l’instruction correspondante

Par exemple la procédure C read invoque l’appel système READLes appels systèmes apparaissent comme des appels de procédures ordinaires

Micro-machineComposants architecturaux

Circuits matériels

Applications

Système d’exploitationUtilitaires, bibliothèques

EPU SI1 Catherine Faron Zucker 6

Classification des OS

Par types d’applicationOrdinateurs individuelsSystèmes embarquésSystèmes « temps partagé »Systèmes transactionnelsSystèmes graphiques, CAO

Par types d’architecture de systèmeSystème centraliséSystème multiprocesseurSystème réparti

Micro-machine

Composants architecturaux

Circuits matériels

Applications

Système d’exploitation

Utilitaires, bibliothèques

Page 4: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

4

EPU SI1 Catherine Faron Zucker 7

Histoire des OS

Fortes corrélations avec :Les architectures des ordinateurs Les avancées technologiquesLes langages de programmation

Première génération (1945-1955)Tubes à videVon NeumannGros calculateurs à usage militaireProgrammes en langage machine

EPU SI1 Catherine Faron Zucker 8

Histoire des OS

Seconde génération (1955-1965)Transistors : les ordinateurs deviennent plus fiables

Nette séparation entre concepteurs, constructeurs, opérateurs, programmeurs, personnel de maintenanceDiffusion à 2 usages : calcul scientifique et commercial

2 lignes distinctes de produits incompatibles Machines incompatibles les unes avec les autres

Programmes en assembleur ou en fortranInteraction par des cartes perforées et listingsSystème de batch: traitement (séquentiel) par lotPremiers OS: FMS (Fortran Monitor System), IBYS (IBM)

Page 5: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

5

EPU SI1 Catherine Faron Zucker 9

Histoire des OS

Troisième génération (1965-1980)Circuits intégrés

Augmentation de la performance et diminution du prixIBM 360 : série unique de machines compatibles

Même architecture et même jeu d’instructions, le software écrit pour l’une peut s’exécuter sur les autres

Les modèles diffèrent selon la taille de la mémoire, la vitesse du processeur, les périphériques, etc.

Multitâches: conçues à la fois pour du calcul scientifique et des usages commerciaux

EPU SI1 Catherine Faron Zucker 10

Histoire des OS

Troisième génération (1965-1980)OS/360 et ses successeurs

Enormes et très complexes : millions de lignes de code en langage assembleurMultiprogrammation

Pour pallier aux temps d’attente en E/S

CTSS et MULTICSTemps partagé

Page 6: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

6

EPU SI1 Catherine Faron Zucker 11

Histoire des OS

Quatrième génération (1980-)Circuits LSI

Stations de travail et ordinateurs personnels (prix abordable)Nécessité d’interfaces utilisateur conviviales

Langages de programmation de haut niveauMSDOS

dans les IBM PC et autres machines ayant une CPU Intel 8088 et ses successeurs

UNIXdans les stations et ordinateurs personnels à composants RISC

Windows NT, MAC OS, Linux (multiplateforme)

EPU SI1 Catherine Faron Zucker 12

Structures d’OS

Système monolithiqueOS est un seul moduleSéparation des espaces d’adressage système/utilisateur

Programme utilisateur 2

Programme utilisateur 1

OS

Appel système

trapTable de services

procédure de service

Modeutilisateur

ModenoyauM

émoi

re c

entra

le

Procédures de service

Procédures utilitaires

Procédureprincipale

Page 7: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

7

EPU SI1 Catherine Faron Zucker 13

Structures d’OS

Système en couchesGénéralisation du modèle en 3 couchesChaque couche est construite sur celle inférieureTHE, Dijkstra (1968) Opérateur (utilisateur)

Programmes utilisateurs

Gestion d’E/S

Communication opérateur/processus

Gestion de la mémoire

Gestion de la multiprogrammation

5

4

3

2

1

0

EPU SI1 Catherine Faron Zucker 14

Structures d’OS

Machine virtuelleVM / 370 (IBM)

IBM 370 : hardware nu

VM / 370

CMS TPF UNIX

Superviseur

MachinesVirtuelles

Programmes utilisateurs

Page 8: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

8

EPU SI1 Catherine Faron Zucker 15

Structures d’OS

Modèle client-serveur, micro-noyauWindows NT, MACH, CHORUS

Noyau

Processusd’application

Serveur deprocessus

Serveur defichiers

Serveur demémoire …

Modenoyau

Modeutilisateur

Processus serveursProcessus client

EPU SI1 Catherine Faron Zucker 16

Structures de OS

Modèle client-serveur réparti

Noyau

Processusd’application

Serveur deprocessus

Serveur defichiers

Serveur demémoire …

Noyau Noyau Noyau

réseau

Page 9: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

9

17

Principes de l’exécution d’un programme

Chapitre 2

EPU SI1 Catherine Faron Zucker 18

Modèle de von Neumann

Architecture d’ordinateur qui utilise une mémoire unique pour stocker programme et données

Mémoire centrale : programme et donnéesCPU : registres de travail et opérateursJeu d’instructions

Transferts, calculs, ruptures de séquence, privilégiéesModes maître et esclave

Maître: le processeur accède à toutes les ressourcesEsclave: certaines instructions sont interdites au processeur

Page 10: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

10

EPU SI1 Catherine Faron Zucker 19

Mémoirecentrale

Unitécentrale

Contrôleurd’E/S

instructions

données

données

commandesstatuts

interruptions

adresses

Modèle de von Neumann

EPU SI1 Catherine Faron Zucker 20

Processus

Procédure et activitéProcédure : élément structurant d'un programmeActivité : exécution d'une procédure

Programme et processusProgramme

Ensemble de procédures, Résultat statique d'une compilation/édition de liens (binaire exécutable)

ProcessusActivité dynamique résultant de l'exécution d'un programmeEnchaînement d'activités

Page 11: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

11

EPU SI1 Catherine Faron Zucker 21

Processus

ContexteInformation caractérisant l'état courant d'un processus

Sauvegardé lors de la suspension du processus et rechargé lors de sa reprise

Contexte matérielMot d'état, compteur ordinal, registres de l'unité centrale

Contexte logiciel (ou système)Segments de texte (instructions), de données, de pile…Attributs : identification utilisateur, droits d'accès, priorité…Ressources utilisées : fichiers ouverts...

Table des processus Maintenu par l’OS: Tableau de structures dédiées chacune à un processus existant et qui contient son contexteprocessus = adresse mémoire + entrée dans la table des processus

EPU SI1 Catherine Faron Zucker 22

Processus

Espace d’adressage logique d’un processusSegment de données système protégé

Contexte matériel et logicielSegment de texte taille fixe

Code, instructionsSegment de pile taille variable

Variables locale, gestion des sous-programmesSegment de données taille variable

Page 12: Principes des Systèmes d’exploitation · 2006-03-30 · Principes des Systèmes d’exploitation Catherine Faron Zucker, ... Protection, sécurité, ... UNIX dans les stations

12

EPU SI1 Catherine Faron Zucker 23

Interruptions

Evénement asynchrone (inopiné)Fin d'entrée-sortie

Rôle : interrompre le déroulement normal d’un programmeProblème: sauvegarde du contexte

Procédure de traitement d’interruption

Déroulement d’un programme

Interruption

Prise en compte interruption

Sous-programme d’interruptionSauvegarde contexte (registres…)

Recherche cause

Traitement interruption

Acquittement interruptionet retour

EPU SI1 Catherine Faron Zucker 24

Cycle d’exécution d’une instructionCPU

Compteur ordinal

Recherche instruction

Registre instruction

Décodage instruction

Calcul adresse opérande

Registres de calcul

Exécution instruction

Interruption ?

Mise à jour CO

Système d’exploitation

Changementde contexte Exécution d’une

procédured’interruption

Changementde contexte

Mémoirecentrale