diff --git a/Systemes d'exploitation/Cours/.1.md.swp b/Systemes d'exploitation/Cours/.1.md.swp index 4e512ba..c1219d1 100644 Binary files a/Systemes d'exploitation/Cours/.1.md.swp and b/Systemes d'exploitation/Cours/.1.md.swp differ diff --git a/Systemes d'exploitation/Cours/1.md b/Systemes d'exploitation/Cours/1.md index 2d2b085..2c4384a 100644 --- a/Systemes d'exploitation/Cours/1.md +++ b/Systemes d'exploitation/Cours/1.md @@ -35,7 +35,8 @@ Cours 1 : Gestion de l'activité - processus à multiples flots de contrôle (threads) -#### Implantation d'un processus +Implantation d'un processus +--------------------------- ##### 1. Eléments consistuants d'un processus: |composante|description| @@ -51,7 +52,7 @@ _Remarque_: 2 processus peuvent exécuter le même programme mais ils ne partage ##### 2. Bloc de contrôle d'un processus +----------+--------------------+ - | pointeur | état des processus | + | pointeur | état du processus | +----------+--------------------+ | numéro de processus | +-------------------------------+ @@ -67,20 +68,42 @@ _Remarque_: 2 processus peuvent exécuter le même programme mais ils ne partage +-------------------------------+ _PCB: Process Control Bloc_ -###### Contenu d'un PCD +###### 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 afi +- 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 -TODO: image sds +##### Etat d'un processus -![Diagramme d'état](/diagrammeetat.png) +![Diagramme d'états](/diagrammeetat.png) _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](/commutation.png) + + +##### 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 + diff --git a/Systemes d'exploitation/Cours/commutation.png b/Systemes d'exploitation/Cours/commutation.png new file mode 100644 index 0000000..894ab52 Binary files /dev/null and b/Systemes d'exploitation/Cours/commutation.png differ