Maison  >  Article  >  Opération et maintenance  >  Quels sont les cinq modules majeurs du noyau Linux ?

Quels sont les cinq modules majeurs du noyau Linux ?

王林
王林avant
2020-09-29 16:18:443894parcourir

Quels sont les cinq modules majeurs du noyau Linux ?

1. Module de planification des processus

(Tutoriel recommandé : Tutoriel Linux)

Linux utilise les processus comme allocations de ressources système. L'unité de base adopte un algorithme avancé de processus prioritaire dynamique pour garantir la rationalité de chaque processus utilisant le processeur. Le module de planification des processus gère et contrôle principalement le processeur utilisé par le processus.

[Création de processus] :

Lors de la programmation dans un environnement Linux, la fonction fork()/vfork() est généralement utilisée (fork consiste à créer un processus enfant et à copier les données mémoire de le processus parent dans le processus enfant ; vfork crée un processus enfant et l'utilise avec le partage de données mémoire du processus parent) pour créer un nouveau processus. Bien sûr, il s'agit d'une fonction dans l'espace utilisateur. ) appel système dans le noyau. La fonction clone() continue d'appeler do_fork() pour terminer la création du processus.

fork()/vfork()/_clone--->clone()--->do_fork()--->copy_process()

[Process Undo] :

Une fois le processus terminé, le noyau doit être averti afin qu'il puisse libérer les ressources appartenant au processus, y compris la mémoire, les fichiers ouverts et autres des ressources telles que des sémaphores. La manière générale de terminer un processus consiste à appeler la fonction de bibliothèque exit(), qui libère les ressources allouées par la bibliothèque de fonctions C, exécute chaque fonction enregistrée par le programmeur et termine l'appel système qui récupère le processus du système.

[Commutation de processus] :

La commutation de processus est également appelée commutation de tâches et commutation de contexte. Il s'agit du comportement dans lequel, afin de contrôler l'exécution d'un processus, le noyau suspend le processus en cours d'exécution sur le processeur et reprend l'exécution d'un processus précédemment suspendu.

Essentiellement, chaque commutateur de processus se compose de deux parties :

Changez le répertoire global de la page pour installer un nouvel espace d'adressage et changez la pile de mode noyau et le contexte matériel, car le contexte matériel fournit tout ; les informations nécessaires au noyau pour exécuter le nouveau processus, y compris les registres CPU, sont principalement complétées par la fonction switch_to().

[Planification des processus] :

Dans Linux moderne, l'algorithme de planification peut sélectionner un processus à exécuter dans un délai fixe (indépendant du nombre de processus exécutables). Tout d’abord, il faut savoir que les processus peuvent être divisés en processus temps réel et processus ordinaires. Chaque processus Linux est toujours planifié selon les types de planification suivants : processus en temps réel premier entré, premier sorti, processus en temps réel de rotation des tranches de temps et processus de partage de temps ordinaire. Les algorithmes de planification diffèrent considérablement selon qu'il s'agit d'un processus normal ou d'un processus en temps réel.

2. Module de communication inter-processus

La communication inter-processus est principalement utilisée pour contrôler la synchronisation, le partage de données et l'échange dans l'espace utilisateur entre différents processus. Étant donné que différents processus utilisateur ont des espaces de processus différents, la communication entre les processus doit être réalisée à l'aide du relais du noyau. Normalement, un processus est suspendu pendant qu'il attend la fin d'une opération matérielle. Lorsque l'opération matérielle est terminée, le processus reprend et ce qui coordonne ce processus est le mécanisme de communication inter-processus.

Le module de communication inter-processus garantit que Linux prend en charge une variété de mécanismes de communication inter-processus, notamment les canaux, les canaux nommés, les files d'attente de messages, les sémaphores et la mémoire partagée.

3. Module de gestion de la mémoire

Le module de gestion de la mémoire de Linux utilise un mécanisme de stockage virtuel avancé pour réaliser la gestion du stockage de plusieurs processus. Il fournit des mesures de protection du stockage très fiables et accorde différentes autorisations aux processus. Les utilisateurs ne peuvent pas accéder directement aux programmes et aux données du système, garantissant ainsi la sécurité du système. Dans le même temps, chaque processus utilisateur se voit attribuer un espace d'adressage virtuel indépendant.

4. Module de système de fichiers

Le module de système de fichiers de Linux utilise la technologie avancée de système de fichiers virtuel (VFS) pour masquer les différences entre les différents systèmes de fichiers et fournir une meilleure façon de gérer divers systèmes de fichiers. une interface unifiée et prend en charge plus de 90 systèmes de fichiers physiques différents. Dans le même temps, Linux traite divers périphériques matériels comme des fichiers spéciaux et gère les périphériques de la même manière que les fichiers, ce qui est très pratique et efficace.

5. Module d'interface réseau

Linux possède les fonctions réseau les plus puissantes. Le module d'interface réseau implémente la communication réseau entre les ordinateurs via le mécanisme de socket et utilise le modèle de couche réseau pour prendre en charge plusieurs protocoles réseau et périphériques matériels réseau.

L'interface réseau permet la mise en œuvre de diverses normes réseau et la prise en charge de divers matériels réseau. Les interfaces réseau sont généralement divisées en protocoles réseau et pilotes réseau. La partie protocole réseau est responsable de la mise en œuvre de tous les protocoles de transport réseau possibles. Les pilotes de périphériques réseau sont principalement responsables de la communication avec les périphériques matériels. Chaque périphérique matériel réseau possible a un pilote de périphérique correspondant.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer