75
Gestion des processus
• La préemption est la mise en attente forcée d’un processus
• C’est l’ordonnanceur qui se charge de la gestion de la
préemption
• Interruption d’horloges pour permettre la préemption par le
SE;
76
Thread
• Afin de séparer les tâches d'un processus, il a été
mis en place la notion de processus léger.
• Chaque processus peut fonctionner comme un SE
en lançant des sous tâches internes au processus.
On l’appelle le multithreading
• Ces sous-tâches sont nommées processus
léger ou thread.
– Un processus peut comporter plusieurs threads.
77
Thread
• Un processus travaille et gère, pendant le quantum de
temps qui lui est alloué, des ressources et exécute des
actions sur et avec ces ressources.
• Les threads situés dans un même processus partagent
les mêmes variables générales de données et les autres
ressources allouées à ce même processus.
Données globales d’un Processus
Données Globales d’un processus
Thread 2
Thread 1
Thread 3
78
Thread vs Multithreading
79
Systèmes multi-utilisateurs
• Permettre à différents utilisateurs d’utiliser les
ressources d’un même ordinateur en même
temps
– À distance avec un serveur (ftp, telnet, ssh , …
– À travers de le terminal de l’ordinateur
• La nécessité d’introduire la gestion des droits
pour éviter la suppression de fichiers ou l’arrêt
de processus
80
GESTION DE LA MÉMOIRE
81
Gestion de la Mémoire
• Un processus doit être chargé dans la mémoire
centrale pour être exécuté
• Une fois le processus est terminé, l’espace
mémoire qui lui est alloué est donc libéré.
• Ce processus (proc1) sera alors situé (par
exemple) aux adresses physiques 0 à 999.
• Un deuxième processus se verra attribué à
espace mémoire correspondant aux adresses
physiques 1000 à 1999
82
Gestion de la Mémoire
• En cas de demande d’extension de la mémoire
par le processus 1, le système d’exploitation ne
pourra répondre que par un autre espace
d’adressage non contigu à celui attribué lors de
la création du processus.
• Ainsi l’extension peut se situer en les adresses
physiques 2000 et 2999.
• À cet effet, la mémoire se trouve fragmentée en
une multitude de petites zones difficilement
utilisables.
83
Gestion de la Mémoire
• C’est alors pour ce but qu’on essaye de
défragmenter la mémoire pour qu’elle soit
correctement utilisée.
• La méthode proposée est la défragmentation de
la mémoire ou le tassage de la mémoire qui
consiste à éliminer toutes les zones libres et à
déplacer les zones de mémoire occupées vers
les adresses basses.
84
Adresse Physique/ Adresse Virtuelle
• Chaque zone mémoire possède deux adresses :
– Une adresse dite physique, qui correspond à la position matérielle
de la zone en mémoire.
– Une adresse dite virtuelle qui est un nombre arbitraire auquel il est
possible de faire correspondre une adresse physique.
• Pendant l’exécution d’un processus, la conversion des
adresses virtuelles utilisées par un processus en
adresses physiques connues par les couches
matérielles.
• Cette conversion doit donc être très rapide (puisqu’elle
conditionne la vitesse d’exécution d’un processus) et est
assurée par un composant électronique logé dans le
processeur : la MMU
85
Types de Mémoire
• La mémoire physique sur un système se divise en
deux catégories:
• Mémoire vive: composée de circuit intégrés, donc
très rapide. Mais sa gestion requiert la participation
avec la mémoire auxiliaire
• Mémoire de masse: composée de supports
magnétiques (disque dur, bandes magnétiques...).
Dispose d’un grand espace mais lente par rapport à
son temps d’accès.