La section critique Linux fait référence au programme de chaque processus qui accède aux ressources critiques. Les ressources critiques sont des ressources partagées qui ne peuvent être utilisées que par un seul processus à la fois. et d'autres processus ne sont pas autorisés à entrer après l'entrée.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.
1. Quelle est la section critique ?
Réponse : Le programme de chaque processus qui accède aux ressources critiques est appelé la section critique (les ressources critiques sont des ressources partagées qui ne peuvent être utilisées que par un seul processus à la fois). Un seul processus à la fois est autorisé à accéder à la section critique, et les autres processus ne sont pas autorisés à y entrer après leur entrée.
2. Le principe de planification des processus entrant dans la section critique est le suivant :
① S'il y a plusieurs processus demandant à entrer dans la section critique inactive, un seul processus est autorisé à entrer à la fois. ②À tout moment, il ne peut y avoir plus d'un processus dans la section critique. Si un processus est entré dans sa propre section critique, tous les autres processus essayant d'entrer dans la section critique doivent attendre. ③Le processus entrant dans la section critique doit sortir dans un temps limité afin que les autres processus puissent entrer dans leur section critique à temps. ④ Si le processus ne peut pas entrer dans sa propre section critique, il doit abandonner le CPU pour éviter le phénomène « d'attente occupée » du processus.
L'objet mutex est l'objet du noyau le plus simple, qui peut être utilisé pour obtenir facilement un accès mutuellement exclusif à une certaine ressource. Parce qu'il s'agit d'un objet noyau, il peut générer des signaux. En fait, cela est utilisé dans le programme pour réaliser une exclusion mutuelle.
Si je me souviens bien, la section critique n'est pas un objet du noyau, mais une structure de données fournie par le système. Vous pouvez déclarer une variable de ce type dans le programme puis l'utiliser pour obtenir un accès mutuellement exclusif aux ressources. Lorsque vous souhaitez accéder à une ressource critique, verrouillez d'abord la section critique (si la section critique n'est pas inactive, attendez), et après avoir utilisé la ressource, libérez la section critique.
Généralement, ils sont utilisés pour la synchronisation entre les threads et peuvent généralement être utilisés de manière interchangeable.
Si vous souhaitez implémenter une exclusion mutuelle complexe, vous devez utiliser d'autres méthodes, telles que les objets du noyau sémaphore, etc. Les objets de section critique ne peuvent pas s'étendre sur les processus et sont des objets de synchronisation pour les zones de données partagées entre les threads ; les objets mutex peuvent être utilisés comme objets de synchronisation pour les zones de données partagées entre les processus.
Apprentissage recommandé : "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!