Académique Documents
Professionnel Documents
Culture Documents
Pour faire simple, nous écrivons nos programmes informatiques dans un fichier texte
et lorsque nous exécutons ce programme, cela devient un processus qui exécute
toutes les tâches mentionnées dans le programme.
Lorsqu'un programme est chargé dans la mémoire et qu'il devient un processus, il
peut être divisé en quatre sections : pile, tas, texte et données. L'image suivante
montre une disposition simplifiée d'un processus dans la mémoire principale -
SN Composant et description
1
Empiler
Le processus Stack contient les données temporaires telles que les
paramètres de méthode/fonction, l'adresse de retour et les variables locales.
2
Tas
Il s'agit de la mémoire allouée dynamiquement à un processus pendant son
exécution.
3
Texte
Cela inclut l'activité actuelle représentée par la valeur de Program Counter et
le contenu des registres du processeur.
4
Données
Cette section contient les variables globales et statiques.
Programme
Un programme est un morceau de code qui peut être une seule ligne ou des millions
de lignes. Un programme informatique est généralement écrit par un programmeur
informatique dans un langage de programmation. Par exemple, voici un programme
simple écrit en langage de programmation C -
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
SN État et description
1
Commencer
Il s'agit de l'état initial lorsqu'un processus est démarré/créé pour la première fois.
2
Prêt
Le processus attend d'être affecté à un processeur. Les processus prêts attendent
que le processeur leur soit alloué par le système d'exploitation pour pouvoir
s'exécuter. Le processus peut entrer dans cet état après l'état de démarrage ou
lors de son exécution, mais interrompu par le planificateur pour affecter le
processeur à un autre processus.
3
Fonctionnement
Une fois que le processus a été affecté à un processeur par le planificateur du
système d'exploitation, l'état du processus est défini sur running et le processeur
exécute ses instructions.
4
Attendre
Le processus passe à l'état d'attente s'il doit attendre une ressource, par exemple
attendre une entrée utilisateur ou attendre qu'un fichier soit disponible.
5
Terminé ou Quitter
Une fois que le processus a terminé son exécution, ou qu'il est terminé par le
système d'exploitation, il est déplacé vers l'état terminé où il attend d'être
supprimé de la mémoire principale.
Bloc de contrôle de processus (PCB)
Un bloc de contrôle de processus est une structure de données maintenue par le
système d'exploitation pour chaque processus. Le PCB est identifié par un ID de
processus entier (PID). Un PCB conserve toutes les informations nécessaires pour
suivre un processus comme indiqué ci-dessous dans le tableau −
1
État du processus
L'état actuel du processus, c'est-à-dire s'il est prêt, en cours d'exécution, en
attente ou autre.
2
Privilèges de traitement
Ceci est nécessaire pour autoriser/interdire l'accès aux ressources système.
3
ID de processus
Identification unique pour chacun des processus du système d'exploitation.
4
Aiguille
Un pointeur vers le processus parent.
5
Compteur de programme
Le compteur de programme est un pointeur vers l'adresse de la prochaine
instruction à exécuter pour ce processus.
6
Registres du processeur
Divers registres CPU où le processus doit être stocké pour l'exécution pour l'état
d'exécution.
7
Informations de planification du processeur
Priorité de traitement et autres informations de planification nécessaires pour
planifier le processus.
8
Informations sur la gestion de la mémoire
Cela inclut les informations de la table des pages, des limites de mémoire, de la
table des segments en fonction de la mémoire utilisée par le système
d'exploitation.
9
Information comptable
Cela inclut la quantité de CPU utilisée pour l'exécution du processus, les délais,
l'ID d'exécution, etc.
10
Informations sur l'état des E/S
Cela inclut une liste des périphériques d'E/S alloués au processus.
SN État et description
1
Fonctionnement
Lorsqu'un nouveau processus est créé, il entre dans le système comme dans l'état
d'exécution.
2
Ne pas élu
Les processus qui ne sont pas en cours d'exécution sont mis en file d'attente,
attendant leur tour pour s'exécuter. Chaque entrée de la file d'attente est un
pointeur vers un processus particulier. La file d'attente est implémentée en utilisant
une liste chaînée. L'utilisation du répartiteur est la suivante. Lorsqu'un processus
est interrompu, ce processus est transféré dans la file d'attente. Si le processus est
terminé ou abandonné, le processus est rejeté. Dans les deux cas, le répartiteur
sélectionne ensuite un processus dans la file d'attente à exécuter.
Planificateurs
Les planificateurs sont des logiciels système spéciaux qui gèrent la planification des
processus de différentes manières. Leur tâche principale est de sélectionner les
travaux à soumettre au système et de décider quel processus exécuter. Les
planificateurs sont de trois types -
4 Il est presque absent ou Il est également minime Il fait partie des systèmes
minime dans le système de dans le système de de temps partagé.
temps partagé partage de temps
Changement de contexte
Un changement de contexte est le mécanisme permettant de stocker et de restaurer
l'état ou le contexte d'une CPU dans le bloc Process Control afin qu'une exécution de
processus puisse être reprise à partir du même point ultérieurement. En utilisant cette
technique, un sélecteur de contexte permet à plusieurs processus de partager un seul
CPU. La commutation de contexte est une partie essentielle des fonctionnalités d'un
système d'exploitation multitâche.
Lorsque le planificateur fait passer la CPU de l'exécution d'un processus à l'exécution
d'un autre, l'état du processus en cours d'exécution est stocké dans le bloc de contrôle
de processus. Après cela, l'état du processus à exécuter ensuite est chargé à partir de
son propre PCB et utilisé pour définir le PC, les registres, etc. À ce stade, le deuxième
processus peut commencer à s'exécuter.
• Compteur de programme
• Informations de planification
• Valeur de registre de base et limite
• Registre actuellement utilisé
• État modifié
• Informations sur l'état des E/S
• Information comptable
P0 0-0=0
P1 5-1=4
P2 8-2=6
P3 16 - 3 = 13
P0 0 5 0
P1 1 3 5
P2 2 8 14
P3 3 6 8
P0 0-0=0
P1 5-1=4
P2 14 - 2 = 12
P3 8-3=5
P0 0 5 1 0
P1 1 3 2 11
P2 2 8 1 14
P3 3 6 3 5
P0 0-0=0
P1 11 - 1 = 10
P2 14 - 2 = 12
P3 5-3=2
P0 (0 - 0) + (12 - 3) = 9
P1 (3 - 1) = 2
P3 (9 - 3) + (17 - 12) = 11
Temps d'attente moyen : (9+2+12+11) / 4 = 8,5
• Plusieurs files d'attente sont maintenues pour les processus ayant des
caractéristiques communes.
• Chaque file d'attente peut avoir ses propres algorithmes de
planification.
• Des priorités sont attribuées à chaque file d'attente.
Par exemple, les travaux liés au processeur peuvent être planifiés dans une file
d'attente et tous les travaux liés aux E/S dans une autre file d'attente. Le planificateur
de processus sélectionne ensuite alternativement les travaux de chaque file d'attente
et les affecte à la CPU en fonction de l'algorithme affecté à la file d'attente.