fichier PDF

publicité
Multi-programmation,
Temps partagé & Temps réel
• Sous le contrôle du superviseur
• Organisation Entrée/sortie
• Traitement des interruptions :
o Interruptions externes
(généralement indépendantes de la tâche courante)
ƒ Interruption E/S (interruption canal)
ƒ Interruption opérateur/utilisateur(rice)
ƒ Interruption horloge (réveil, …)
ƒ Interruption processeur (systèmes multi-processeurs)
ƒ Interruption de dysfonctionnement
o Interruptions internes (directement liées à la tâche courante)
ƒ Appel superviseur
ƒ Erreurs d'exécution des programmes
ƒ Trapping ou extra-code (micro-coding)
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 1
Un mécanisme simple
interruption
• La tâche de traitement d'interruption est choisie par le superviseur
• Pas d'interruption pendant le traitement d'une interruption
• Les interruptions peuvent être masquées
(pour éviter des ruptures de séquence non désirées)
Routines d'interruption
Application
Superviseur Appel
tâche
Analyse
Evénement
Interruption
interruption
masqué
de 1er type
Fin
fin de
d'interruptiontraitement
Interruption
Evénement
de 2ème type
non masqué
Interruptions
permises
Interruption
Interruptions de 3ème type
interdites
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 2
Implémentation
Registres :
• Masque général d'interruption (MM = 1 : actif; MM = 0 : passif) MM 1
• Requêtes d'interruption : chaîne de bits IR 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0
• Masques d'interruption : chaîne de bits MS 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
ES: 32 bits
• Point d'entrée superviseur pour traitement d'int.
• Zone de mémoire de sauvegarde PC
PS: 32 bits
Interruptions
actives ?
MM=1 ?
Interruptions
masquées ?
n
oui
∑IRi .MSi ≠ 0?
i=1
non
I Å [PC]
Exécuter I
oui
MM Å 0; PS Å PC
PC Å ES
non
• Registre ES peut être remplacé par un vecteur
• Chaque entrée Æ
pointeur vers routine de service spécifique
• Sauvegarde des registres de travail (pile) !
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 3
Multi programmation
Différences de vitesse entre différents composants Æ temps morts
Tâche B : timing ≡ timing tâche A; canaux E/S indépendants
Tâche A
canal
entrée 1
Travail
1
2
3
1
4
2
canal
sortie 2
5
3
4
5
1
2
3
4
2
3
4
5
Tâche B
canal
entrée 3
Travail
canal
sortie 4
1
1
2
3
1
1
2
4
3
2
3
4
5
5
6
Æ configuration
7
4
8
9
5
10 temps
idéale !!!
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 4
Etats des processus
• Traitement concurrent : 3 états identifiés par le schéduleur
• Etat de travail : usage de l'unité de travail (état de calcul)
• Etat d'attente : attente d'une ressource extérieure
• Etat ”prêt” : attente de l'unité de contrôle (ressource principale)
• Schéduleur sert la première tâche ”prête”
• Un système de priorité peut être installé
système oisif (”idle”)
Tâche A
attente prêt
Tâche B attente prêt
attente
Tâche C prêt
1
prêt
3
4
5
6
prêt
attente prêt
prêt
attente
2
prêt
attente
attente
7
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
8
9
10 temps
D. Bertrand 5
Usage des interruptions
• Tâche passant en attente Æ contrôle donné au superviseur :
o Interruption spécifique : Appel au superviseur
o Le système enregistre la transition (travail Æ attente)
o Le système enregistre la condition de redémarrage (ressource libre)
o Le système choisit une tâche prête au travail (priorités !)
o Traitement de l'interruption
o Traitement de la transition d'état (choix de la tâche : schéduleur)
Æ
temps de commutation = coût supervision Aussi petit que possible !
Tâche A
attente
Tâche B
Tâche C
Canal 1
interrupt.
prêt
prêt
attente
prêt
prêt
prêt
prêt
de la tâche A
1
2
3
4
du canal 1
5
6
7
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
8
9
10
D. Bertrand 6temps
Classes de processus et priorités
Deux catégories principales de processus :
• Liés PC : calcul en mémoire centrale; peu de E/S (”number crunching”)
• Liés E/S : peu de calcul; beaucoup d'opérations E/S
• Si seulement processus liés PC : temps libre processeur très petit
Æ pas de gain (parfois des pertes !) avec multi-programmation
• Si seulement processus liés ES : efficacité dépend de la synchronisation
Mélange de processus liés PC et liés ES
A prêt
Tâche A
Tâche B prêt
prêt
E/S tâche
A prêt
Tâche A
attente
prêt
attente
prêt
prêt
Tâche B prêt
1
système
non balancé
(optimisé pour proc.
et non pour périph.)
prêt
E/S tâche
attente
2
3
prêt
4
5
6
système
bien balancé
(inter. horloge)
7
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
temps
D. Bertrand 7
Partage de ressources
• Partage des périphériques”séquentiels” (imprimantes, …) difficile
• Pas de problème pour les unités à accès aléatoire (régions différentes)
Pour résoudre la difficulté :
Système de sortie différé
• Sortie envoyée vers unité de stockage secondaire (disque magnétique)
• A la fin de la tâche : fichier placé dans une file de sortie
• Quand l'unité est prête : traitement d'un fichier de la file de sortie
S
/
E
(tâche spéciale : le symbiont de sortie)
s
é
t
ni
Remarques
u
s
e
d
”
g
”spoolin
• Symbiont: partie du logiciel système mais traité comme tâche utilisateur
• Files définies pour différentes classes de périphériques (staging, …)
• Le même ou différents symbionts peuvent traiter une classe d'unités
• Le même système peut être appliqué à des files d'entrée
• Des priorités peuvent être définies au niveau des files
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 8
Unité
entrée
Evolution des processus
Unité
sortie
Processus
Symbiont
entrée
travail
Schéduleur
tâches
File
entrée
Schéduleur
processus
prêt
Schéduleur
resources
Requête
attente
Schéduleur
sortie
Symbiont
sortie
Terminaison
File
sortie
Le système opératoire gère cette évolution :
Æ tables (états du système et de ses composants)
o contenu des files d'attente
o états des processus
o occupation mémoire/périphériques
Æ algorithmes de choix (schéduleur)
Æ gestion des ressources (allocation)
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 9
Temps partagé
Multi-programmation Æ optimisation de l'usage des ressources
Mais …
Temps de réponse ?
Temps de réponse = temps lecture + temps attente file d'entrée
+ temps exécution
+ temps attente file de sortie + temps écriture
temps exécution = Σ temps travail + Σ temps attente + Σ temps ”prêt”
La réduction du temps d'oisiveté du processeur
peut nuire au temps de réponse
Exemple :
• Deux tâches liées PC
• Temps d'exécution différents(60 minutes ↔ 1 minute)
• Tâches soumises à des moments différents
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 10
1er cas :
Tâche A
Tâche B
prêt
0
11
60 61 temps
• Similaire à de la mono-programmation !
• Mais unité de contrôle utilisée très efficacement
• Utilisateur A satisfait !
• Utilisateur B : 50 minutes d'attente pour une exécution d'une minute !
2ème cas :
Tâche A
Tâche B
0
11 12
61 temps
• Moins efficace (temps de commutation)
• Utilisateur B satisfait (temps de réponse réduit d'un facteur 50)
• Utilisateur A encore satisfait (temps de réponse accru de 1.5 %)
• Temps de réponse moyen : 31 minutes (55 minutes dans le 1er cas)
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 11
Remarques
• Beaucoup de tâches courtes Æ délai pour tâches moyennes et longues
• Temps d'exécution pas toujours connu a priori (erreurs, convergences, …
Æ Autre technique :
• Mettre un processus actif en attente après un temps donné
• Activer un processus ”prêt”
• Continuer avec un autre processus …
interruption horloge
Tâche A
Tâche B
Tâche C
Æ Temps
partagé :
prêt
prêt
prêt
prêt
prêt
prêt
1
2
3
4
5
6
7
8
9
10
temps
• Toutes les tâches systématiquement mises au travail
(quasi-parallélisme)
• Tâches courtes rapidement terminées
• Tâches moyennes et longues : pas de temps d'attente indéfini
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 12
Comparaison
Multi-programmation
Temps partagé
Gestion simultanée
de plusieurs processus
Systèmes multi-gestion
Objet principal
Multi-programmation
Temps partagé
Méthode
Conséquence
Optimisation usage
Gestion de
unité de contrôle plusieurs processus
quasiparallélisme
Optimisation temps
Gestion de
de réponse
plusieurs processus
Meilleur usage
ressources
Certains systèmes opératoires sont basés sur des compromis
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 13
Systèmes interactifs
• Directives de tâche données interactivement par l'utilisateur
• Chaque utilisateur a ses propres unités d'accès
(terminal : clavier + écran)
• Les unités de l'utilisateur ne doivent pas être pilotées par un symbiont
• Les commandes génèrent des interruptions et des transitions d'état
Temps de réponse moyen = n . t
n : nombre d'utilisateurs; t : temps d'exécution moyen d'une commande
• Un tel système est en général en attente (prêt)
• Chaque utilisateur a l'impression d'avoir son propre ordinateur
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 14
Systèmes temps réel
Æ Systèmes temps partagé avec
des contraintes de temps strictes
Systèmes demandant un temps de réponse optimal :
• Contrôle de processus industriels
• Contrôle de sondes spatiales
• Systèmes d'assistance électronique d'automobiles
• Systèmes de navigation des avions
• Systèmes d'acquisition de données (physique, chimie, …)
Systèmes demandant un temps de réponse rapide mais non critique :
• Systèmes de réservation (avions, trains, …)
• Systèmes bancaires, …
Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12
D. Bertrand 15
Téléchargement