Chap2 SE Processus
Chap2 SE Processus
Chap2 SE Processus
Introduction
Gestion des processus
Synchronisation des processus
Gestion de la mémoire
Gestion des fichiers
Interblocage!!!
2
1) Qu’est-ce qu’un processus?
Processus ≠ Programme :
– un programme peut être exécuté plusieurs fois et se
trouver dans plusieurs unités d’exécution en même
temps
3
2) Structures utilisées pour la gestion des processus
4
• Le SE permet d'attribuer des zones mémoire à chaque
processus et on dit parfois, par abus de langage, que
chaque processus travaille dans son propre espace
mémoire.
5
2.1) Structure de l'espace mémoire d'un processus
L'espace mémoire utilisé par un processus est divisé en
plusieurs parties . On trouve en particulier le segment de
code (souvent appelé segment de text), le segment de
données, et la pile (stack en anglais).
text
data
BSS
Tas (heap)
↓
↑
Pile ( stack)
6
• Le segment de code
7
• Afin d'éviter ce problème, c-à-d éviter d'avoir à
modifier toutes les adresses du code , le segment de
code est toujours placé dans des zones fixes de la
mémoire (virtuelle), c'est-à-dire au début de la zone
disponible.
8
Le segment de données
Au dessus du segment de code se trouve le segment de
données.
10
Exemple : la pile (que nous représenterons de gauche à
droite dans ce texte) contient les données ABCD et
l'instruction en cours fait appel à une fonction.
12
13
La signification des 4 transitions légales est la suivante :
15
Rôle de l’ordonnanceur:
16
• Rendement :
l'ordinateur doit exécuter le maximum de programmes
en un temps donné ;
• Temps d'exécution :
chaque programme doit s'exécuter le plus vite possible ;
• Interactivité :
les programmes interactifs doivent avoir un faible
temps de réponse ;
• Équité :
chaque programme a droit au temps processeur
17
Algorithmes
Il existe deux familles d'algorithmes :
18
ASR
19
Pour les ASR, on utilise :
20
- soit exécution du job le plus court en premier :
21
Lorsque plusieurs travaux d'égale importance se
trouvent dans une file, l'ordonnanceur élit le plus
court d'abord.
22
Exemple :
• sans ordonnancement :
Tmoyen = 1/4 (Tb+Tf+Td+Ta) =
14
avec Tb=8, Tf=8+4,
Td=8+4+4, Ta=8+4+4+4
• avec ordonnancement :
Tmoyen = 1/4 (Tf+Td+Ta+Tb) = 11
avec Tf=4, Td=4+4,
Ta=4+4+4, Ta=8+4+4+4
23
AAR = Algorithme avec réquisition
24
Allocation du processeur aux processus
25
• Dans la pratique, la valeur du quantum est d’environ 10
ms (temps d’exécution de quelques millions
d’instructions sur un processeur à 1 GHz).
26
Mécanisme d’allocation du processeur = Mécanismes
de commutation
27
2. Réaliser l’allocation proprement dite. Deux étapes :
28
Ordonnancement circulaire (tourniquet)
Il s'agit d'un algorithme ancien, simple et fiable.
30
31
Ordonnancement avec priorité
32
1) Si la priorité du processus actif devient inférieure à
celle du deuxième processus de plus haute priorité, la
commutation a lieu.
Ou bien
33
Ordonnancement garanti
34