Upload
tranhanh
View
222
Download
0
Embed Size (px)
Citation preview
Joëlle Delacroix AMSI1999/2000 1
Introduction aux systèmes d'exploitation
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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).
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)
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...)
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)
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...)
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
Interpréteur de commandes
Appels système
SE
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
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
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é
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
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)
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
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)