22.processus Flashcards
(36 cards)
programme
ensemble
d’instructions et de variables dont le
but est d’accomplir une tâche
précise.
* C’est donc le code que l’on écrit et qui
est traduit en langage binaire par le
compilateur
processus
composé
* du programme;
* et de l’ensemble des ressources
reliées à l’exécution du programme.
Ces ressources incluent:
* un espace réservé en mémoire;
* des fichiers ouverts;
* du temps de CPU
On divise le temps du microprocesseur en petits morceaux, des
quanta
À chaque quantum, une —– est soulevée
À chaque quantum, une interruption est soulevée
La routine de traitement de l’interruption
Sauvegarde le contexte du processus en exécution (PC, CPSR,
registres)
* Sélectionne un autre processus à exécuter grâce à un programme
nommé l’ordonnanceur
* Restaure le contexte de ce nouveau processus (PC, CPSR, registres)
* Reprend l’exécution du processus où il était rendu
C’est l’—– qui décide quel processus exécuter à chaque quantum.
C’est l’ordonnanceur qui décide quel processus exécuter à chaque quantum.
Est-ce qu’un processus « sait » qu’il a été interrompu?
Non!
À ses yeux, il ne fait que continuer son exécution
comme s’il était seul sur Terre.
peut on faire 2 processus à la fois
non on alterne
À tout moment, un processus possède
un état.
Le système d’exploitation (SE) tient une liste de
tous les processus à exécuter, ainsi que leur état.
le SE stocke cette information dans un
Process
Control Block (PCB) pour chaque processus,
Process
Control Block (PCB) contient x4
son identifiant unique;
* son état;
* ses registres, sa partie de la mémoire et sa pile;
* d’autres informations, comme sa priorité
Un nouveau processus peut être démarré par:x3
une requête de l’usager (ex: exécution de programme);
* le système d’exploitation;
* ou un autre processus
Lorsqu’un processus est démarré, il est tout d’abord examiné
par
l’admission de haut niveau (high level scheduler)
Celui-ci détermine si l’ordinateur possède
les ressources
nécessaires pour exécuter le processus
* Si oui (la majorité du temps), le processus est admis et tombe dans
l’état prêt.
* Sinon, le processus ne peut être démarré.
Processus: état « prêt »
Le processus est prêt d’être exécuté, mais il ne
peut pas: il est en attente du micro-processeur
* Le micro-processeur est alors occupé à exécuter un
autre processus
* Il reste dans l’état prêt jusqu’à ce que
l’ordonnanceur le sélectionne comme prochain
processus à exécuter.
ordonnanceur est
Programme (du système d’exploitation) qui
sélectionne le prochain processus à exécuter
* S’exécute périodiquement grâce à des interruptions qui
redonnent le contrôle au système d’exploitation
Processus: état « en cours »
Le processus contrôle le micro-processeur!
* Il le fait jusqu’à ce que:
* l’ordonnanceur reprenne le contrôle pour pouvoir
exécuter un autre processus
* il revient alors à l’état prêt
Processus: état « terminé »
Lorsque le processus a complété son exécution,
ou lorsqu’on le ferme volontairement, il devient
dans l’état terminé.
L’ordonnancement des processus consiste simplement à
décider quel
processus sera exécuté dans le quantum suivant
Un algorithme d’ordonnancement a les objectifs suivants x9
Assurer l’équité
Maximiser l’exécution
Temps d’exécution min.
Utilisation max du CPU
Utilisation max ressources
Détérioration graduelle (Un système surchargé doit ralentir, pas planter)
Temps d’attente min.
Temps de réponse correct
Prévenir la famine (starvation)( L’exécution d’un processus ne doit pas être reportée indéfiniment.)
Ordonnancement: algorithme général en 4 étapes
- S’il y a un nouveau processus:
1.1. L’admettre en mémoire;
1.2. (Tourniquet seulement): placer le processus à la fin de la file d’attente - Choisir le processus parmi ceux admis en mémoire
selon l’algorithme d’ordonnancement; - Calculer la durée restante du processus choisi;
3.1. Si le processus choisi est terminé, le retirer de la liste
des processus en mémoire;
3.2. (Tourniquet seulement): Sinon, placer le processus à la fin de la file
d’attente - Passer au quanta suivant
algo Premier arrivé, premier servi
Le premier processus admis est exécuté jusqu’à sa fin.
Puis, on exécute le suivant.
* Cet algorithme n’est jamais utilisé. Il détruirait l’illusion
d’une exécution simultanée de plusieurs processus.
algo plus court d’abord
On exécute le processus le
plus court d’abord.
* Avantages: Maximise l’exécution et le temps
d’exécution
* Désavantages: Famine possible, inéquitable