Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à...

31
Joëlle Delacroix AMSI1999/2000 1 Introduction aux systèmes d'exploitation

Transcript of Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à...

Page 1: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 1

Introduction aux systèmes d'exploitation

Page 2: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 2

Les systèmes multiprogramméset les entrées/sorties

CPUMémoirecentrale

UE

• Traitement des entrées-sorties– le mode programmé– les interruptions– le DMA

UE

Page 3: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 3

Le mode programmé

• Traitement des entrées-sorties– un seul programme utilisateur

en MC– le CPU gère l'entrée/sortie

par scrutation de L'UE

Mémoire centraleTant que toutes les données ne sont pas transféréesTant que UE non prêteattendre fin tant quetransférer donnée_suivante dans RDfin tant que

CPU

RC RD

UE

Page 4: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 4

Les Interruptions

CPU

• Traitement des entrées-sorties– L'UE délivre une interruption

pour signaler qu'elle est prête : le processeur ne fait plus de scrutation

Mémoire centraleSous_Programme d'It_UE :transférer donnée_suivante dans RDRTIProgramme principal :Vérifier UE prête;Transférer première_donnée dans RDDémasquer It_UE;Faire autre_chose que l'éntrée-sortie;

UE

RC RD

Page 5: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 5

Les Interruptions Table des vecteursd'interruptions

It 3 0017

Sous traitant It3

Programme

0017

Co 1002

Programme

1002

Interruptionn°3

Co <-- 1002

LatenceSous-Traitant d'IT n°3

Co <-- 00170017

Traitement It

1002

RTI

Page 6: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 6

Le DMA (Direct AccessMémory)

• Traitement des entrées-sorties– le processeur initialise le DMA– le DMA effectue l'entrée/sortie ;

le processeur est inactif– le DMA signale la fin

d'entrée/sortie par une IT

CPU

UE

Sous_Programme d'It_DMA :Vérification transfert OKRTIProgramme principal :Initialiser DMA :

nb = nombre d'octets à transférer@m = adresse premier octet en MC@p = adresse périphériquesens = écriture;

Lancer DMA;attendre la fin de l'entrée/sortie

nb @p@msens

DMA

Page 7: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 7

Système monoprogramméEntrées/Sorties avec DMA et interruption

Lire/EcrireActif

En E/SProg

Actif

InactifDMA

Actif

InactifCpu

Page 8: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 8

Système monoprogrammé --> multiprogramméEntrées/Sorties avec DMA et interruption

Actif

En E/SProg A

Lire/Ecrire

Actif

En E/SProg B

Actif

InactifDMA

Actif

InactifCpu

Page 9: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 9

Le Système d'exploitation :

partager la machine physique

SYSTEME D'EXPLOITATIONVECTEUR D'INTERRUPTIONS

PROGRAMME 1 : CALCULE/S DISQUE

PROGRAMME 2 : E/S IMPRIMANTE

PROGRAMME 3 : CALCUL

CPU

DMAUE • Plusieurs programmes en MC– le DMA gère les entrées/sorties– parallèlement, le CPU effectue

les "calculs"UE

Page 10: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 10

le SE pour partager la machine physique

• Partager la machine physique– le processeur : qui s'exécute?– la mémoire centrale :

• protection SE/ Programmes Utilisateurs

• protection entre programmes Utilisateurs

– les périphériques

CPU

UE UE

Mémoire centraleSE

Programme U1Programme U2Programme U3

Page 11: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 11

le SE pour faciliter la machine physique

ECRIRE(données) Exécuter (Programme)

nb @p@msens

UE

DMA

Initialiser DMA

UE

Gestion par ItCharger le programme(pagination / segmentation...)

MC

Page 12: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 12

le SE pour faciliter la machine physique

ECRIRE(données) Exécuter (Programme)

MACHINE VIRTUELLE

Interface pour masquer les caractéristiques matériellesSE

CPU

UE UE

Mémoirecentrale

Appels Système Commandes

MatérielMACHINEPHYSIQUE

Page 13: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 13

DEFINITION D'UN SYSTEME D'EXPLOITATION

• C'est un ensemble de programmes qui réalisent l'interface entre le matériel de l'ordinateur et les utilisateurs. Il a deuxobjectifs principaux :

– construction au dessus du matériel d'une machine virtuelle plus facile d'emploi et plus conviviale

– prise en charge de la gestion de plus en plus complexe des ressources et partage de celle-ci

Comme son nom le suggère, le SE a en charge l'exploitation de la machine pour en faciliter l'accès, le partage et pour l'optimiser

Page 14: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 14

FONCTIONS D'UN SYSTEME D'EXPLOITATION

MACHINE PHYSIQUE

Gestion du processeur

Gestion de la mémoire

Gestion des E/S

Mécanisme des interruptions

Gestion des objetsexternes (fichiers)

Gestion de la concurrence

Gestion de la protection

Compilateur Editeur de liens Chargeur Assembleur

Editeur de texte Tableur

Bases de données Navigateur Programmes Utilisateurs

Appels systèmes Commandes

App

licat

ions

Debogeur

SE

Page 15: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 15

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion du processeur

– le système doit gérer l'allocation du processeur aux différents programmes pouvant s'exécuter. Cette allocation se fait par le biais d'un algorithme d'ordonnancement qui planifie l'exécution des programmes

selon le type de système d'exploitation, l'algorithme d'ordonnancement répond à des objectifs différents

Page 16: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 16

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion de la mémoire

– le système doit gérer l'allocation de la mémoire centrale entre les différents programmes pouvant s'exécuter (pagination/segmentation). Comme la mémoire physique est souvent trop petite pour contenir la totalité des programmes, la gestion de la mémoire se fait selon le principe de la mémoire virtuelle.

à un instant donné, seules sont chargées en MC, les parties de code et données utiles à l'exécution

Page 17: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 17

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion des entrées/sorties

– le système doit gérer l'accès aux périphériques, c'est-à-dire faire la liaison entre les appels de haut niveau des programmes utilisateurs (exemplegetchar()) et les opérations de bas niveau de l'UE responsable du périphérique (UE clavier)

c'est le pilote d'entrées/sorties (driver) qui assure cette correspondance

Page 18: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 18

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion de la concurrence

– Comme plusieurs programmes coexistent en mémoire centrale, ceux-ci peuvent vouloir communiquer pour échanger des données. Par ailleurs, il faut synchroniser l'accès aux données partagées afin de maintenir leur cohérence

le système offre des outils de communication et de synchronisation entre programmes

Page 19: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 19

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion des objets externes– La mémoire centrale est une mémoire volatile.

Aussi, toutes les données devant être conservées au delà de l'arrêt de la machine, doivent être stockées sur une mémoire de masse ( disque dur, disquette, cédérom...)

la gestion de l'allocation des mémoires de masse ainsi que l'accès aux données stockées s'appuient sur la notion de fichiers et de système de gestion de fichiers (SGF).

Page 20: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 20

FONCTIONS D'UN SYSTEME D'EXPLOITATION

• Gestion de la protection

– le système doit fournir des mécanismes garantissant que ses ressources (CPU, mémoire, fichiers) ne peuvent être utilisées que par les programmes auxquels les droits nécessaires ont été accordés.

il faut notamment protéger le système et la machine des programmes utilisateurs (mode d'exécution utilisateur et superviseur)

Page 21: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 21

LES DIFFERENTES CLASSES DE SYSTEMES

• Systèmes multiutilisateurs interactifs et en temps partagé

– l'utilisateur est "derrière son clavier et son écran" ; il soumet des exécutions et attend les résultats : il faut donc réduire au maximum le temps d'attente et faire croire à l'utilisateur qu'il est seul à utiliser la machine

systèmes adaptés à la mise au point de programmes (exemple : UNIX, Linux...)

Page 22: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 22

LES DIFFERENTES CLASSES DE SYSTEMES

• Systèmes à traitements par lots

– les programmes sont exécutés en différé, les uns à la suite des autres.

systèmes dédiés aux travaux de production (exemple : MVS...)on peut noter que beaucoup de systèmes offrentsimulatnément un service de temps partagé et un service de traitement par lots (VMS)

Page 23: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 23

LES DIFFERENTES CLASSES DE SYSTEMES

• Systèmes temps réel (réactifs)– les programmes en exécution sont soumis à des contraintes de

temps, c'est-à-dire que leurs exécutions doivent être impérativement achevées à un date butoir appelée échéance. Comme ces systèmes sont souvent interfacés à un environnement dynamique (procédé) délivrant des événementssynchones ou asynchrones auxquels ils doivent réagir, on parle aussi de systèmes réactifs

systèmes adaptés à la commande de procédé (exemple : LynxOS...)

Page 24: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 24

NOTIONS DE BASE

• Les fonctionnalités du système d'exploitation sont accessibles par le biais des commandes ou des appels système

Pg U

open (fichier)

Système degestion defichiers

> cd ..> print

open chdir

Gestion des entrées /sorties

print

Interpréteur de commandes

Appels système

SE

Page 25: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 25

NOTIONS DE BASE : modes d'exécutions

• Lors de l'exécution d'un appel système, le programme utilisateur passe d'un mode d'exécution dit utilisateur à un mode d'exécution dit superviseur.

Mode utilisateurMode Superviseur(privilège supérieur)

main(){int i, j, fd;i = 3;fd = open("fichier", "wr");read(fd, j, 1);j = j / i; }

Exécution de open()

Exécution deread ()

protection

Page 26: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 26

NOTIONS DE BASE : modes d'exécutions

• Le passage du mode utilisateur au mode superviseur s'accompagne d'opérations de commutation de contexte : sauvegarde de contexte utilisateur

Mode utilisateurMode Superviseur(privilège supérieur)

main(){int i, j, fd;i = 3;fd = open("fichier", "wr");

Exécution de open()protection

sauvegarde CO, PSW utilisateurchargement CO <- adresse de la fonction openchargement PSW <- mode superviseur

Page 27: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 27

NOTIONS DE BASE : modes d'exécutions

• Le passage du mode superviseur au mode utilisateur s'accompagne d'opérations de commutation de contexte : restitution de contexte utilisateur

Mode utilisateurMode Superviseur(privilège supérieur)

main(){int i, j, fd;i = 3;fd = open("fichier", "wr");

Exécution de open()protection

restitution du contexte utilisateurchargement CO <- CO sauvegardéchargement PSW <- PSW suavegardé

Page 28: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 28

NOTIONS DE BASE : commutations de contexte

n Mode SuperviseurMode utilisateur

main(){int i, j, fd;i = 0;fd = open("fichier", "wr");read(fd, j, 1);j = j / i; }

Exécution de open()APPELS SYSTEMEpr

otect

TRAPPEerreur irrecouvrablearrêt du programme

ITExécution dutraitant d'it Horloge

io

IT HORLOGE MATERIEL

Page 29: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 29

Notions de base

• Les fonctionnalités du système d'exploitation sont accessibles par le biais des commandes ou des appels système

• Le mode superviseur est le mode d'exécution du système. C'est un mode d'exécution privilégié qui autorise notamment l'appel à desinstructions interdites en mode utilisateur (manipulation des its). Ce mode assure la protection du système d'exploitation.

• Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un appel système, soit par une trappe, soit par l'arrivée d'une interruption

• Le passage entre les modes utilisateur / superviseur s'accompagne de commutations de contexte (sauvegarde du contexte utilisateur -changement de mode d'exécution - restitution du contexte utilisateur)

Page 30: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 30

Chargement du système d'exploitationRAMvecteur d'It

SE

0

CPU

ROMBootstrap(amorce)

n

Exécution du bootstrap- test des composants(POST : Power-OnSelf Test)- installation du vecteur d'Its- chargement des fichiers système stockés sur disque à une adresse prédéfinie (bootstrap loader)

Fichierssystème

Page 31: Introduction aux systèmes d'exploitation - resoo.org · l'algorithme d'ordonnancement répond à des ... ªsystèmes adaptés à la mise au point de programmes ... ªsystèmes dédiés

Joëlle Delacroix AMSI1999/2000 31

Plan du cours

• Introduction aux systèmes d'exploitation (1 cours)• La chaîne de production de programme (3 cours)

– compilation– édition de liens– chargement

• La gestion des objets externes (4 cours)– notion de fichiers– allocation disque

• La gestion de processus (1 cours)• La gestion de la concurrence (1 cours)• La gestion de la mémoire centrale (1 cours)• Révision(1 cours)