Trois parties du processus Linux : 1. Bloc de contrôle de processus, qui fait d'un programme (y compris les données) qui ne peut pas s'exécuter indépendamment dans un environnement multi-programmes une unité de base qui peut s'exécuter indépendamment et un programme qui peut être exécuté simultanément avec d'autres processus Processus ; 2. Le segment de programme est le segment de code de programme dans le processus qui peut être exécuté par le planificateur de processus sur la CPU ; 3. Le segment de données est le segment de données d'un processus, qui peut être les données originales traitées par le processeur ; programme correspondant au processus, ou il peut. Ce sont les données intermédiaires ou finales générées après l'exécution du programme.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
Un processus est une activité en cours d'exécution d'un programme dans un ordinateur sur un certain ensemble de données. C'est l'unité de base de l'allocation des ressources dans le système et la base de la structure du système d'exploitation. .
En bref, c'est le processus d'exécution du programme.
Un processus est une instance d'un programme en cours d'exécution, c'est-à-dire une tâche en cours d'exécution.
Un processus a un cycle de vie. Il est créé lorsque le programme s'exécute et se termine lorsque le programme se termine.
Un processus est la plus petite unité d'allocation de ressources Tant qu'un processus est créé, [0-3G] d'espace utilisateur est alloué.
Tant que l'utilisateur exécute un programme, le noyau créera une structure task_struct (PCB), qui représente le processus en cours.
Maintient son propre ensemble de descripteurs de fichiers et de tampons au sein du processus. Dès la fin de l'exécution du processus, toutes ses ressources seront récupérées par le système d'exploitation.
L'interrogation par tranche de temps réalise la concurrence
Dynamicité : L'essence d'un processus est un processus d'exécution d'un programme dans un système multi-programmation A. le processus est créé et détruit dynamiquement.
Concurrence : tout processus peut être exécuté simultanément avec d'autres processus
Indépendance : un processus est une unité de base qui peut s'exécuter de manière indépendante, et c'est également une unité indépendante pour l'allocation du système et la planification des ressources
Caractéristique asynchrone : en raison des contraintes mutuelles entre les processus, le processus a une exécution intermittente, c'est-à-dire que le processus avance à une vitesse indépendante et imprévisible
Plusieurs processus différents peuvent contenir le même programme : un programme dans différents processus sont formés dans l'ensemble de données et différents résultats peuvent être obtenus, cependant, le programme ne peut pas être modifié pendant l'exécution ;
La composition du processus se compose de trois parties : le bloc de contrôle de processus PCB (task_struct), le segment de données et le segment de programme.
Bloc de contrôle de processus : faire d'un programme (y compris les données) qui ne peut pas s'exécuter indépendamment dans un environnement multi-programmes une unité de base qui peut s'exécuter indépendamment, un processus qui peut s'exécuter simultanément avec d'autres processus.
Segment de programme : Il s'agit du segment de code de programme du processus qui peut être exécuté sur le CPU par le planificateur de processus.
Segment de données : Le segment de données d'un processus peut être les données originales traitées par le programme correspondant au processus, ou les données intermédiaires ou finales générées après l'exécution du programme.
4.1 Définition du bloc de contrôle de processus
Afin de décrire le fonctionnement du processus de contrôle, la structure de données qui stocke les informations de gestion et de contrôle du processus. dans le système est appelé bloc de contrôle de processus (PCB Process Control Block), qui fait partie de l'entité de processus et de la structure de données d'enregistrement la plus importante du système d'exploitation. Il s'agit de la structure de données la plus importante pour la gestion et le contrôle des processus. Chaque processus possède un PCB. Lorsqu'un processus est créé, le PCB est établi et accompagne l'ensemble du processus d'exécution du processus jusqu'à son annulation.
L'essence du PCB est une structure. Le nom du PCB est différent selon les systèmes d'exploitation. Sous Linux, le PCB s'appelle task_struct et le PCB est le seul moyen de contrôler le processus.
Chaque processus a un descripteur de processus. Ce "descripteur de processus" est task_struct. De nombreuses informations sur le contrôle des processus sont stockées dans task_struct.
Chaque processus met ses informations dans la structure de données task_struct, et task_struct contient le contenu suivant :
Identifiant (pid) : décrit le processus Un identifiant unique utilisé pour distinguer d'autres processus.
Statut : statut de la tâche, code de sortie, signal de sortie, etc.
Priorité : par rapport à la priorité des autres processus (plus le nombre est petit, plus la priorité est élevée).
Compteur de programme : L'adresse de la prochaine instruction à exécuter dans le programme.
Pointeurs de mémoire : y compris des pointeurs vers le code du programme et les données liées au processus, ainsi que des pointeurs vers des blocs de mémoire partagés avec d'autres processus.
Données contextuelles : enregistrer le contexte consiste à enregistrer la valeur dans le registre du processeur dans la mémoire ; restaurer le contexte consiste à restaurer la valeur du registre dans la mémoire du processeur
Informations sur l'état des E/S : y compris ; la requête d'E/S affichée, le périphérique d'E/S affecté au processus et la liste des fichiers utilisés par le processus.
Informations comptables : peuvent inclure le temps total du processeur, le nombre total d'horloges utilisées, les délais, les comptes comptables, etc.
Autres informations
Un processus est un processus d'exécution d'un programme. Il est dynamique, a un cycle de vie et est stocké en mémoire. .
Les programmes sont statiques et n'ont pas de cycle de vie. Stocké sur disque, un programme est un fichier exécutable.
Les processus peuvent décrire la concurrence de manière plus réaliste, mais les programmes ne le peuvent pas.
Les processus ont la capacité de créer d'autres processus, contrairement aux programmes.
Un même programme peut correspondre à plusieurs processus.
Habituellement, un processus peut contenir plusieurs threads, qui peuvent utiliser les ressources possédées par le processus. Dans les systèmes d'exploitation qui introduisent des threads, les processus sont généralement comme les processus. Unité de base pour l'allocation des ressources, les threads sont utilisés comme unité de base pour un fonctionnement indépendant et une planification indépendante. Étant donné que les threads sont plus petits que les processus et ne possèdent fondamentalement pas de ressources système, la surcharge liée à leur planification sera beaucoup plus faible et pourra améliorer plus efficacement la fonctionnalité. degré d’exécution simultanée entre plusieurs programmes du système.
Il existe trois types de processus : processus interactif, processus par lots, processus démon
Processus interactif : le processus interactif est maintenu par le shell et interagit avec l'utilisateur via le coquille .
Par exemple, un éditeur de texte est un processus interactif.
Processus batch : Le processus batch sera placé dans une file d'attente dans le noyau et exécuté au fur et à mesure de l'exécution de la file d'attente. Sa priorité est relativement faible.
Par exemple, le processus de compilation d'un programme par gcc.
Processus démon : Un processus démon est un processus exécuté en arrière-plan. Il démarre lorsque le système démarre et se termine lorsque le système se termine.
Par exemple, divers services sur Windows.
Recommandations associées : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!