cours/Systemes d'exploitation/Cours/1.md

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

Diagramme d'états

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 !!

Schéma de commutation

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