3.5 KiB
3.5 KiB
Cours 1 : Gestion de l'activité
Processus
Notion de processus
1. Définition:
- activité/programme en exécution
- aspect actif vs. passif (programme/fichier)
- unité de travail dans la plupart des sys.
2. Objectif:
- exécution concurrente
- multiprogrammation
- temps partagé
Quelques aspects des processus
- les processus utilisent des ressources
- processeur
- mémoire
- I/O
- ..
- processus sys. vs. processus util.
- le S.E. est responsable de la gestion des processus:
- création
- destruction
- allocation de ressources
- ordonnancement
- synchronisation
- communication inter-processus
- ..
- processus à multiples flots de contrôle (threads)
Implantation d'un processus
1. Eléments consistuants d'un processus:
composante | description |
---|---|
section de texte | source en asm |
compteur d'instructions | position actuelle dans le prog. |
contenu des registres | dans le cache proc. |
pile d'exécution | mémoire dynamique d'exécution |
section des données | variables globales |
Remarque: 2 processus peuvent exécuter le même programme mais ils ne partagent rien.
2. Bloc de contrôle d'un processus
+----------+--------------------+
| pointeur | état du processus |
+----------+--------------------+
| numéro de processus |
+-------------------------------+
| compteur de programme |
+-------------------------------+
| registres |
+-------------------------------+
| limites mémoire |
+-------------------------------+
| liste des fichiers ouverts |
+-------------------------------+
| ... |
+-------------------------------+
PCB: Process Control Bloc
Contenu d'un PCB
- état courant du processus
- compteur d'instructions: adresse de la prochaine exécution à exécuter
- registres de processeur: doivent être sauvegardés afin de revenir au processus après interruption
- ..
- informations sur la gestion de mémoire: valeur des registres de base et de limite, tables de pages ou de segments
- information de comptabilisatio: temps CPU et réel, limite de temps, etc
- information de statut I/O: listes des périphériques alloués
Etat d'un processus
Remarque: à un instant donné
- un processus au plus est en exécution par le processeur
- plusieurs processus peuvent être prêts ou en attente
Commutation de contexte
- c'est la sauvegarde de l'état du processus courant et le chargement de l'état sauvegardé d'un nouveau processus
- contexte = PCB
- cout de la commutation (temps perdu) varie d'une machine à l'autre (sur certaines machines: dispositifs spéciaux pour la copie des registres) : de 1 à 1000 us.
- aspect critique de l'efficacité d'un système !!
Threads
- implémentent les flots d'exécution multiples (processus multithreadés - multithreaded processes)
- intérêt:
- contrôle centralisé des différentes tâches (un seul processus) par le programmeur
- économie de mém. (la plupart des informations du PCB sont communes aux différents threads)
Ordonnancement des processus
- Objectif: gérer l'accès concurrent aux ressources par les processus
- Gestion par files d'attentes
- file d'attente des travaux : tous les processus
- file d'attente des processus prêts (liste chainée de PCBs)
- file d'attente pour chaque périphérique