SE DUTI2 Chapitre1 GeneralitesProcessus
SE DUTI2 Chapitre1 GeneralitesProcessus
SE DUTI2 Chapitre1 GeneralitesProcessus
Dr Mandicou BA
[email protected]
http://www.mandicouba.net
5 Interruption de processus
Sommaire
5 Interruption de processus
Multi-programmation
✁ Plusieurs programmes (processus) se partagent les ressources
(mémoire, périphérique, etc.) de l’ordinateur :
problème de protection, de concurrence et contrôle
✁ Le processeur exécute un autre processus au lieu de restant inactif
pendant tout le temps pris par l’instruction d’E/S du 1e processus
✁ Cela donne à l’utilisateur que tous les processus s’exécutent en même
temps : pseudo-parallélisme
sur une machine mono-processeur, un seul processus est exécuté à
un instant donné
Dr Mandicou BA (ESP) Systèmes d’exploitation (DUT 2 Informatique) 4 / 25
Qu’est-ce qu’un processus
Definition
✁ Processus = instance d’exécution d’un programme crée par le SE ou
l’utilisateur
✂ il possède son compteur ordinal, ses registres et ses variables en
mémoire
Sommaire
5 Interruption de processus
Sommaire
5 Interruption de processus
Sommaire
5 Interruption de processus
Sagement de code
✁ Copie du segment de code du fichier exécutable
✁ Placé dans des zones fixes de la mémoire (début
de la zone disponible)
✁ La prochaine instruction à exécuter dans ce
segment est repérée par le pointeur d’instruction
✁ Cette zone est en lecture seule
✁ Elle peut être partagée par tous les programmes
exécutant le même programme. Ce qui n’est pas
le cas pour les segment de données et de pile
Sagement de données
✁ Il se trouve au dessus du segment de code
✁ Il est amené à grandir ou à rétrécir durant
l’exécution
✁ il est composé de :
1 Un segment de données initialisées :
copié directement de l’exécution. Par
exemple, les données initialisées
correspondent aux variables globales et
static initialisées d’un programme C
2 Un segment de données non initialisées :
crée dynamiquement. Les données non
initialisées correspondent aux variables
globales et static non initialisées
Pile
✁ Sert à stocker les données obtenues en cours
d’exécution. Son nom, pile, (stack en anglais)
vient de la manière dont elle est géré : empiler
puis dépiler les données
✁ Le plus souvent en haut de l’espace d’adressage
et croit vers le bas
Exemple 1 (Appel d’une fonction)
Empiler le nom de fonction, lui passer les
paramètres et variables locales
Exécuter la fonction. Une fois la fonction
terminée, le SE dépile les données utilisées et
retrouve les données d’avant
Poursuivre l’exécution du programme
Dr Mandicou BA (ESP) Systèmes d’exploitation (DUT 2 Informatique) 18 / 25
Espace mémoire de processus
Tas
✁ Est un autre segment utilisé par le système
d’exploitation pour les allocations dynamiques.
Sommaire
5 Interruption de processus
Interruption
✁ Dans le cas des transitions « actif →↑↓ bloqué » et « actif →↑↓ prêt » on
parle d’interruption (IT)
Traitement d’une IT
1 Arrivée d’une IT : Le processus en cours est interrompu et un
gestionnaire d’IT est chargé dans les registres du processeurs et
s’exécute pour traiter l’IT en question
2 Une fois le signal IT reconnu, le gestionnaire d’IT accède à la table des
vecteurs d’IT et recherche l’adresse du programme associé et l’exécute
3 Une fois l’IT traitée, le SE charge un autre processus à partir de la file
d’attente et l’exécute
Traitement d’une IT
1 Une IT est provoquée par un signal généré soit par un événement interne
soit par un événement externe :
✁ Événement interne : lié au processus
Appel système
Déroutement : dû généralement aux erreurs telles que division par
zéro, débordement de la mémoire, exécution d’une instruction non
autorisée, etc
✁ Événement externe : panne, intervention de l’utilisateur à l’aide
d’une frappe au clavier. C’est l’exemple de «Ctrl+Alt+supp», bouton
«reset», etc.
Traitement d’une IT
1 Deux sortes d’interruptions : Matérielles et Logicielles
✁ IT Matérielles (IRQ) : générées par les périphériques. Parviennent
au processeur par l’intermédiaire d’un contrôleur d’IT
✁ IT Logicielles : des IT internes, c’est le processus qui appelle cette
IT à l’aide du numéro d’IT.
: Par exemple, pour appeler une IT DOS, appeler l’IT N°21H
✁ Si plusieurs interruptions arrivent au même temps, alors celle qui a
le plus petit numéro qui a la plus grande priorité :
Exemple : IRQ horloge système = 0, IRQ port parallèle = 7
Dr Mandicou BA
[email protected]
http://www.mandicouba.net