Introduction aux systèmes d`exploitation

publicité
Introduction
aux systèmes d'exploitation
Joëlle Delacroix
AMSI1999/2000
1
Les systèmes multiprogrammés
et les entrées/sorties
Mémoire
centrale
CPU
UE
UE
• Traitement des entrées-sorties
– le mode programmé
– les interruptions
– le DMA
Joëlle Delacroix
AMSI1999/2000
2
Le mode programmé
Tant que toutes les données ne sont pas transférées
Tant que UE non prête
attendre
fin tant que
transférer donnée_suivante dans RD
fin tant que
CPU
RC
RD
UE
Joëlle Delacroix
Mémoire centrale
• Traitement des entrées-sorties
– un seul programme utilisateur
en MC
– le CPU gère l'entrée/sortie
par scrutation de L'UE
AMSI1999/2000
3
Les Interruptions
CPU
RC
Sous_Programme d'It_UE :
transférer donnée_suivante dans RD
RTI
Programme principal :
Vérifier UE prête;
Transférer première_donnée dans RD
Démasquer It_UE;
Faire autre_chose que l'éntrée-sortie;
RD
UE
Joëlle Delacroix
Mémoire centrale
• 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
AMSI1999/2000
4
Les Interruptions
Table des vecteurs
d'interruptions
Co
It 3
0017
0017
Sous traitant It3
1002
Programme
Programme
1002
Latence
Interruption
n°3
Co <-- 0017
Sous-Traitant d'IT n°3
0017
Traitement It
1002
Co <-- 1002
RTI
Joëlle Delacroix
AMSI1999/2000
5
Le DMA (Direct Access
Mémory)
CPU
nb
sens
DMA
UE
Joëlle Delacroix
@p
@m
Sous_Programme d'It_DMA :
Vérification transfert OK
RTI
Programme principal :
Initialiser DMA :
nb = nombre d'octets à transférer
@m = adresse premier octet en MC
@p = adresse périphérique
sens = écriture;
Lancer DMA;
attendre la fin de l'entrée/sortie
• 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
AMSI1999/2000
6
Système monoprogrammé
Entrées/Sorties avec DMA et interruption
Lire/Ecrire
Actif
Prog
En E/S
Actif
DMA
Inactif
Actif
Cpu
Inactif
Joëlle Delacroix
AMSI1999/2000
7
Système monoprogrammé --> multiprogrammé
Entrées/Sorties avec DMA et interruption
Actif
Prog A
En E/S
Lire/Ecrire
Actif
Prog B
En E/S
Actif
DMA
Inactif
Actif
Cpu
Inactif
Joëlle Delacroix
AMSI1999/2000
8
Le Système
d'exploitation :
partager la machine
physique
SYSTEME D'EXPLOITATION
VECTEUR D'INTERRUPTIONS
PROGRAMME 1 : CALCUL
E/S DISQUE
CPU
PROGRAMME 2 :
E/S IMPRIMANTE
PROGRAMME 3 : CALCUL
UE
DMA
UE
Joëlle Delacroix
• Plusieurs programmes en MC
– le DMA gère les entrées/sorties
– parallèlement, le CPU effectue
les "calculs"
AMSI1999/2000
9
le SE pour partager la machine physique
CPU
Mémoire centrale
SE
Programme U1
Programme U2
Programme U3
UE
Joëlle Delacroix
UE
• 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
AMSI1999/2000
10
le SE pour faciliter la machine physique
ECRIRE(données)
Initialiser DMA
nb
sens
@p
@m
Gestion par It
Exécuter (Programme)
Charger le programme
(pagination / segmentation...)
UE
DMA
UE
MC
Joëlle Delacroix
AMSI1999/2000
11
le SE pour faciliter la machine physique
MACHINE VIRTUELLE
ECRIRE(données)
SE
Interface pour masquer les caractéristiques matérielles
Appels Système
Matériel
MACHINE
PHYSIQUE
Commandes
Mémoire
centrale
CPU
UE
Joëlle Delacroix
Exécuter (Programme)
UE
AMSI1999/2000
12
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 deux
objectifs 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
13
Applications
FONCTIONS D'UN SYSTEME D'EXPLOITATION
Editeur de texte Tableur
Programmes Utilisateurs
Navigateur
Bases de données
Compilateur Editeur de liens Chargeur Assembleur Debogeur
Appels systèmes
Commandes
Gestion de
Gestion de la protection Gestion des objets
externes (fichiers)
SE la concurrence
Gestion du
Gestion de la
Gestion des
processeur
mémoire
E/S
Mécanisme des interruptions
MACHINE PHYSIQUE
Joëlle Delacroix
AMSI1999/2000
14
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
15
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
16
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 (exemple
getchar()) 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
17
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
18
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
19
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
20
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
21
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 offrent
simulatnément un service de temps partagé et un
service de traitement par lots (VMS)
Joëlle Delacroix
AMSI1999/2000
22
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énements
synchones 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
23
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
> cd ..
> print
open (fichier)
Joëlle Delacroix
open chdir
print
Système de
gestion de
fichiers
Gestion des
entrées /sorties
AMSI1999/2000
Interpréteur de
commandes
Appels système
SE
24
NOTIONS DE BASE : modes d'exécutions
main()
{
int i, j, fd;
i = 3;
fd = open("fichier", "wr");
read(fd, j, 1);
j = j / i; }
Joëlle Delacroix
protection
• 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 Superviseur
(privilège supérieur)
Mode utilisateur
Exécution de open()
Exécution de
read ()
AMSI1999/2000
25
NOTIONS DE BASE : modes d'exécutions
Mode utilisateur
protection
• Le passage du mode utilisateur au mode superviseur
s'accompagne d'opérations de commutation de
contexte : sauvegarde de contexte utilisateur
Mode Superviseur
(privilège supérieur)
main()
Exécution de open()
{
int i, j, fd;
i = 3;
fd = open("fichier", "wr");
sauvegarde CO, PSW utilisateur
chargement CO <- adresse de la fonction open
chargement PSW <- mode superviseur
Joëlle Delacroix
AMSI1999/2000
26
NOTIONS DE BASE : modes d'exécutions
Mode utilisateur
main()
{
int i, j, fd;
i = 3;
fd = open("fichier", "wr");
protection
• Le passage du mode superviseur au mode utilisateur
s'accompagne d'opérations de commutation de
contexte : restitution de contexte utilisateur
Mode Superviseur
(privilège supérieur)
Exécution de open()
restitution du contexte utilisateur
chargement CO <- CO sauvegardé
chargement PSW <- PSW suavegardé
Joëlle Delacroix
AMSI1999/2000
27
NOTIONS DE BASE : commutations de contexte
protection
Mode utilisateur
Mode Superviseur
Exécution de open()
APPELS SYSTEME
main()
{
int i, j, fd;
i = 0;
fd = open("fichier", "wr");
read(fd, j, 1);
j = j / i; }
IT HORLOGE
Joëlle Delacroix
TRAPPE
erreur irrecouvrable
arrêt du programme
IT
Exécution du
traitant d'it Horloge
MATERIEL
AMSI1999/2000
28
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 à des
instructions 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
29
Chargement du système d'exploitation
RAM
0
vecteur d'It
SE
n
CPU
Joëlle Delacroix
ROM
Bootstrap
(amorce)
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)
AMSI1999/2000
Fichiers
système
30
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)
Joëlle Delacroix
AMSI1999/2000
31
Téléchargement