web-dev-qa-db-fra.com

Quelle est la table de processus linux? En quoi cela consiste?

Ce terme continue d'apparaître dans mes notes sur le système d'exploitation, et je ne suis pas tout à fait sûr de ce qu'il est/où il est stocké et comment ou pourquoi.

21
user476033

La table de processus sous Linux (comme dans presque tous les autres systèmes d'exploitation) est simplement une structure de données dans la RAM d'un ordinateur. Il contient des informations sur les processus actuellement gérés par le système d'exploitation.

Ces informations incluent des informations générales sur chaque processus. 

  • identifiant de processus
  • propriétaire du processus
  • processus prioritaire
  • variables d'environnement pour chaque processus
  • le processus parent
  • pointeurs vers le code machine exécutable d'un processus.

Une information très importante dans la table de processus est l'état dans lequel chaque processus est actuellement. Ces informations sont essentielles pour le système d’exploitation, car elles permettent ce qu’on appelle le multitraitement, c’est-à-dire la possibilité d’exécuter virtuellement plusieurs processus sur une seule unité de traitement (CPU). 

Les informations indiquant si un processus est actuellement ACTIF, SLEEPING, RUNNING, etc. sont utilisées par le système d'exploitation pour gérer l'exécution des processus.

En outre, il existe des informations statistiques telles que le moment où le processus a été exécuté pour la dernière fois afin de permettre à la planification de l'OS de décider quel processus doit être exécuté ensuite.

En résumé, la table des processus est l'élément organisationnel central permettant au système d'exploitation de gérer tous les processus démarrés.

Une courte introduction peut être trouvée dans ce fil de discussion:

http://www.linuxforums.org/forum/kernel/42062-use-process-table.html

Et wikipedia contient aussi de bonnes informations sur les processus:

http://fr.wikipedia.org/wiki/Process_management_(computing)#Process_description_and_control

http://en.wikipedia.org/wiki/Process_table

42
Marcus Gründler

La table de processus est une structure de données noyau qui décrit l'état d'un processus (ainsi que la zone de processus U). Il contient des champs qui doivent toujours être disponibles pour le noyau.

Il contient les champs suivants: 

  • champ d'état (qui identifie l'état du processus)
  • champs qui permettent au noyau de localiser le processus et sa zone en mémoire
  • UID pour déterminer différents privilèges de processus
  • PID permettant de spécifier des relations processus n/b (par exemple, fork)
  • descripteur d'événement (lorsque le processus est en veille)
  • paramètres de planification pour déterminer l'ordre dans lequel le processus passe aux états "noyau en cours" et "utilisateur en cours"
  • champ de signal pour les signaux envoyés au processus mais pas encore traités
  • des temporisateurs donnant le temps d'exécution du processus en mode noyau et en mode utilisateur
  • champ qui donne la taille du processus (pour que le noyau sache combien d’espace allouer au processus).

En bref, la table de processus fournit des informations sur les processus au noyau.

1
Luffy

La table de processus est une structure de données dans le noyau Linux, qui stocke des informations sur tous les processus en cours d'exécution. La table de processus contient les ID de processus, l'utilisation de la mémoire du processus, les descripteurs de fichier utilisés dans le processus, etc.

Le noyau suit le processus créé et en cours d'exécution à l'aide du descripteur de processus. Chaque descripteur de processus contient,

1. Identifier - process ID, parent and child process ID, user ID
2. State      - process state, priority
3. Resource   - CUP and Memory

Les informations principales de la table de processus sont,

  • ID de processus 
  • Identifiant d'utilisateur de processus 
  • Processus prioritaire
  • Etat du processus
  • Traiter l'utilisation des ressources

ps aux est une commande Linux utilisée pour répertorier tous les états de processus et l'utilisation des ressources (mémoire, cpu). Vous pouvez voir la liste des processus avec le propriétaire, PID, CPU, MEM, STAT, etc.

0
Sooryaprakhash