Un processus est un processus d'exécution dynamique d'un programme sur un ensemble de données.
Un processus se compose généralement de trois parties : un programme, un ensemble de données et un bloc de contrôle de processus. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
Le programme que nous écrivons est utilisé pour décrire les fonctions que le processus doit remplir et comment le compléter l'ensemble de données ; est le processus d'exécution du programme Les ressources nécessaires au processus ; le bloc de contrôle de processus est utilisé pour enregistrer les caractéristiques externes du processus et décrire le processus de changement d'exécution du processus. Le système peut l'utiliser pour contrôler et gérer le processus. C'est le seul signe que le système perçoit l'existence du processus.
Nous pouvons également comprendre qu'un processus est une activité en cours d'exécution d'un programme avec certaines fonctions indépendantes sur une certaine collection de données. Un processus est une unité indépendante d'allocation et de planification des ressources dans le système.
Vous pouvez également considérer un processus comme une entité composée d'un ensemble d'éléments. Les deux éléments de base d'un processus sont le code du programme (qui peut être partagé par d'autres processus exécutant le même programme) et l'ensemble de données. associé au code. Supposons que le processeur commence à exécuter ce code de programme et nous appelons cette entité d'exécution un processus.
Lorsqu'un processus est en cours d'exécution, à un moment donné, le processus peut être caractérisé de manière unique par les éléments suivants.
1.标识符:跟这个进程相关的唯一标识符,用来区别其他进程。 2、状态:如果进程正在执行,那么进程处于运行态。 3、优先级:相对于其他进程的优先级 4、内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针。 5、上下文数据:进程执行时处理器的寄存器中的数据。 6、I/O 状态信息:包括显示的I/O操作。分配给进程的I/O设备(例如磁带驱动器)和被进程使用的文件列表等。 7、记账信息:可能包括处理器时间综合、使用的是时钟数总和、时间限制、记账号等。
Pourquoi le processus est-il conçu ?
Il est très difficile de concevoir un logiciel système capable de coordonner diverses activités différentes. De nombreuses tâches sont en cours d'exécution à tout moment et chaque tâche comprend de nombreuses étapes qui nécessitent une exécution séquentielle. Il n'est donc pas possible d'analyser des combinaisons de séquences de temps.
En l'absence d'une méthode au niveau du système pour coordonner et coopérer entre toutes les activités, les programmeurs ne peuvent adopter que leurs propres méthodes ad hoc basées sur leur compréhension de l'environnement contrôlé par le système d'exploitation. Cependant, cette méthode est très fragile, notamment face aux petites erreurs de programmation, car ces erreurs n'apparaissent que lorsque de rares occurrences de séries temporelles se produisent.
Le diagnostic peut être difficile en raison de la nécessité de distinguer ces erreurs des erreurs logicielles d'application et des erreurs matérielles. Il est également difficile de détecter les erreurs à temps et d’en déterminer la cause, car il est difficile d’identifier le scénario précis dans lequel l’erreur s’est produite.
De manière générale, les 4 principales raisons de ces erreurs sont les suivantes :
1. Synchronisation incorrecte
2.
3. Fonctionnement incertain du programme
4. Deadlock
La résolution de ces problèmes nécessite une méthode au niveau du système pour surveiller l'exécution de différents programmes dans le processeur. La notion de processus en constitue la base.
Le processus peut donc être considéré comme composé de trois parties :
Un programme qui peut être exécuté
Données pertinentes requises par le programme
Contexte d'exécution du programme
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!