Système d'exploitation - Processus

Processus

Un processus est essentiellement un programme en cours d'exécution. L'exécution d'un processus doit se dérouler de manière séquentielle.

Un processus est défini comme une entité qui représente l'unité de travail de base à mettre en œuvre dans le système.

Pour le dire simplement, nous écrivons nos programmes informatiques dans un fichier texte et lorsque nous exécutons ce programme, il devient un processus qui effectue 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

Stack

La pile de processus contient les données temporaires telles que les paramètres de méthode / fonction, l'adresse de retour et les variables locales.

2

Heap

Il s'agit de la mémoire allouée dynamiquement à un processus pendant son exécution.

3

Text

Cela inclut l'activité actuelle représentée par la valeur de Program Counter et le contenu des registres du processeur.

4

Data

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;
}

Un programme informatique est un ensemble d'instructions qui exécute une tâche spécifique lorsqu'il est exécuté par un ordinateur. Lorsque nous comparons un programme à un processus, nous pouvons conclure qu'un processus est une instance dynamique d'un programme informatique.

Une partie d'un programme informatique qui exécute une tâche bien définie est appelée algorithm. Une collection de programmes informatiques, de bibliothèques et de données connexes est appeléesoftware.

Cycle de vie du processus

Lorsqu'un processus s'exécute, il passe par différents états. Ces étapes peuvent différer selon les systèmes d'exploitation et les noms de ces états ne sont pas non plus standardisés.

En général, un processus peut avoir l'un des cinq états suivants à la fois.

SN État et description
1

Start

Il s'agit de l'état initial lors du premier démarrage / création d'un processus.

2

Ready

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èsStart state ou pendant son exécution mais interrompu par le planificateur pour affecter le processeur à un autre processus.

3

Running

Une fois que le processus a été attribué à un processeur par le planificateur du système d'exploitation, l'état du processus est défini sur en cours d'exécution et le processeur exécute ses instructions.

4

Waiting

Le processus passe à l'état d'attente s'il a besoin d'attendre une ressource, comme attendre l'entrée de l'utilisateur ou attendre qu'un fichier devienne disponible.

5

Terminated or Exit

Une fois que le processus a terminé son exécution ou qu'il est arrêté 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 gérée par le système d'exploitation pour chaque processus. Le PCB est identifié par un identifiant de processus entier (PID). Un PCB conserve toutes les informations nécessaires pour suivre un processus comme indiqué ci-dessous dans le tableau -

SN Informations et description
1

Process State

L'état actuel du processus, c'est-à-dire s'il est prêt, en cours d'exécution, en attente ou autre.

2

Process privileges

Ceci est nécessaire pour autoriser / interdire l'accès aux ressources système.

3

Process ID

Identification unique pour chacun des processus dans le système d'exploitation.

4

Pointer

Un pointeur vers le processus parent.

5

Program Counter

Le compteur de programme est un pointeur vers l'adresse de la prochaine instruction à exécuter pour ce processus.

6

CPU registers

Divers registres de CPU où le processus doit être stocké pour être exécuté pour l'état de fonctionnement.

sept

CPU Scheduling Information

Priorité du processus et autres informations de planification nécessaires pour planifier le processus.

8

Memory management information

Cela comprend les informations de la table des pages, les limites de la mémoire, la table des segments en fonction de la mémoire utilisée par le système d'exploitation.

9

Accounting information

Cela inclut la quantité de CPU utilisée pour l'exécution du processus, les limites de temps, l'ID d'exécution, etc.

dix

IO status information

Cela inclut une liste des périphériques d'E / S alloués au processus.

L'architecture d'un PCB dépend entièrement du système d'exploitation et peut contenir des informations différentes selon les systèmes d'exploitation. Voici un schéma simplifié d'un PCB -

Le PCB est conservé pour un processus pendant toute sa durée de vie et est supprimé une fois le processus terminé.