Le processus est l'unité de base pour l'allocation des ressources et la planification dans le système.
Le processus est également l'unité de planification qui préempte le processeur. Il dispose d'un espace d'adressage virtuel complet. (Apprentissage recommandé : Tutoriel vidéo Web front-end )
Lorsque le processus est planifié, différents processus ont différents espaces d'adressage virtuel et différents threads dans le même processus sont dans le même processus et partagent le même espace d’adressage.
Correspondant à un processus, un thread n'a rien à voir avec l'allocation des ressources. Il appartient à un certain processus et partage les ressources du processus avec d'autres threads du processus. Les threads se composent uniquement des registres de pile pertinents (pile système ou pile utilisateur) et de la table de contrôle des threads TCB. Les registres peuvent être utilisés pour stocker des variables locales dans un thread, mais ne peuvent pas stocker de variables liées à d'autres threads. 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 considérés comme l'unité de base de l'allocation des ressources, et les threads sont considérés comme l'unité de base du fonctionnement indépendant et de la planification indépendante. Étant donné que les threads sont plus petits que les processus, ils ne possèdent fondamentalement pas de ressources système ; donc la surcharge consacrée à leur planification sera beaucoup plus petite, ce qui peut augmenter plus efficacement le degré d'exécution simultanée entre plusieurs programmes du système. , améliorant ainsi considérablement l'utilisation des ressources du système et le débit. Par conséquent, les systèmes d'exploitation à usage général lancés ces dernières années ont introduit des threads pour améliorer encore la concurrence du système et les considèrent comme un indicateur important des systèmes d'exploitation modernes.Les entités de thread incluent les programmes, les données et le TCB. Thread est un concept dynamique et ses caractéristiques dynamiques sont décrites par Thread Control Block (TCB).
TCB comprend les informations suivantes :
(1) Statut du fil de discussion. (2) Ressources sur site qui sont enregistrées lorsque le fil n'est pas en cours d'exécution. (3) Un ensemble de piles d'exécution. (4) Stockez les variables locales de chaque thread dans la zone mémoire principale. (5) Accédez à la mémoire principale et à d'autres ressources dans le même processus. Un ensemble de registres et de pile utilisé pour indiquer le compteur de programme de la séquence d'instructions en cours d'exécution, contenir des variables locales, quelques paramètres d'état, des adresses de retour, etc.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!