Maison > Tutoriel système > Linux > Analyse et application du système d'application à noyau unique et micro-noyau du noyau Linux 2.1

Analyse et application du système d'application à noyau unique et micro-noyau du noyau Linux 2.1

王林
Libérer: 2024-02-13 18:45:27
avant
628 Les gens l'ont consulté

Table des matières

1. Deux formes de systèmes d'application 1.1 Système d'application sans système d'exploitation

Pour les applications SOC simples, telles que la plupart des applications de microcontrôleur à fonction simple, il n'est pas nécessaire d'utiliser un système d'exploitation dans le système. À ce stade, l'application appelle directement le pilote correspondant pour faire fonctionner le matériel sous-jacent, comme le montre la figure. :

Avec ces structures, le logiciel d'application appelle directement le pilote de périphérique pour faire fonctionner le matériel. Les avantages sont : simple, direct et efficace. Convient aux systèmes petits et simples. Pour les systèmes complexes, les systèmes d'application qui doivent partager des ressources matérielles dans différentes fonctions, cette méthode n'est évidemment pas adaptée.

1.2. Système d'application avec système d'exploitation

Pour les systèmes d'application complexes, les scénarios d'application dans lesquels le matériel et d'autres ressources doivent être partagés entre les modules fonctionnels, un système d'exploitation doit être ajouté au système d'application. A cet effet, le système de candidature est tel qu'illustré à droite :

Comme le montre la figure, avec le site officiel du système d'exploitation Hongqi Linux, les applications peuvent utiliser le socket unifié de l'API du système d'exploitation quels que soient les détails matériels spécifiques, ce qui est propice au développement standardisé à grande échelle et améliore l'efficacité du développement.

Le pilote utilise également le socket de périphérique standard fourni par le système d'exploitation pour faire fonctionner différents matériels. Cela protège la couche du système d’exploitation des détails matériels. Le système d'exploitation apparaît ainsi plus stable et efficace.

2. Noyau Linux 2.1 noyau unique et micro-noyau

Actuellement, le système d'exploitation dispose de deux modes d'implémentation typiques du noyau :

Linux est un apprentissage Linux à noyau unique qui s'exécute sur un espace d'adressage distinct. Cependant, Linux a absorbé le raffinement du micro-noyau et possède la conception modulaire, le noyau préemptif, la prise en charge des threads du noyau et la capacité de charger dynamiquement les modules du noyau dont dispose le micro-noyau. Dans le même temps, Linux évite également les défauts de conception des micro-noyauxTutoriel de pilote avancé Linux intégré Linux permet à tous les modules de s'exécuter dans l'état du noyau et d'appeler des fonctions directement sans utiliser de transmission de messages comme les micro-noyaux.

2.2Composition du noyau Linux

Comme le montre la figure, le noyau Linux se compose principalement de cinq parties :

2.3 Planification des processus

La planification des processus est au centre du système et d'autres parties du système en dépendent. Les processus Linux ont un total de six états, et le processus peut basculer entre ces états tout au long de son cycle de vie.

2.4 Gestion de la mémoire vidéo

La fonction principale de la gestion de la mémoire vidéo est de contrôler le domaine de mémoire principale partagé en toute sécurité de plusieurs processus. Chaque processus Linux sur un processeur 32 bits bénéficie d'un espace 4G. Habituellement, 0-3G appartient à l'espace utilisateur et 3G-4G appartient à l'espace noyau. Comme indiqué à droite

嵌入式linux驱动编程实验_嵌入式linux高级驱动教程_嵌入式linux驱动开发教程

2.5 Système de fichiers virtuel

Le système de fichiers virtuel Linux masque les détails spécifiques de différents types de matériel et fournit un socket unifié pour tous les appareils. Il s'agit d'une représentation concrète de chaque système de fichiers spécifique.

Comme le montre la figure, le système de fichiers virtuel fournit un socket d'appel unifié pour le programme d'application sous-jacent, qui est responsable de l'appel des fonctions membres dans la structure file_operations implémentée dans le système de fichiers sous-jacent ou le pilote de périphérique spécifique.

Prise réseau 2.6

La prise réseau donne accès à diverses normes réseau et prend en charge divers matériels réseau. Les sockets réseau Linux sont divisées en

2.7 Communication inter-processus

嵌入式linux驱动开发教程_嵌入式linux驱动编程实验_嵌入式linux高级驱动教程

La communication inter-processus est responsable de la communication entre les processus, y compris les sémaphores, la mémoire partagée, les files d'attente de messages, les canaux, les sockets de domaine UNIX, etc.

3. Espace noyau et espace utilisateur

Les processeurs modernes distingueront différents modes de travail en interne pour distinguer les opérations de différents niveaux et autorisations.

Par exemple, les 8 modes de fonctionnement d'ARM :

Dans l'environnement ARM, le système Linux utilise pleinement les caractéristiques matérielles du CPU pour implémenter des modes de fonctionnement à deux niveaux, le mode utilisateur (usr) et le mode de gestion (svc). En conséquence, il existe deux types d'espaces dans les systèmes Linux :

Supplément 3.1 : À propos de l'interruption douce

qquad a ici un tableau du mode de fonctionnement anormal d'ARM

Pendant l'exécution normale, ARM est en mode utilisateur. Lorsque le CPU exécute l'instruction swi, il entrera manuellement en mode système (mode SVC) et passera à la table des vecteurs d'exception. Accédez à la fonction correspondante via la table vectorielle pour répondre au swi.

Le mode SVC ici est l'abréviation de SupervisorCall, qui en anglais signifie appel de superviseur.

4. Pilote de périphérique Linux 4.1 Classification des périphériques dans le système Linux

Le système Linux divise le matériel périphérique en trois grandes catégories :

Système lié au pilote Linux 4.2

Comme le montre la figure, les périphériques caractères et les périphériques bloc sont mappés aux fichiers et répertoires du système de fichiers Linux.

Les applications peuvent accéder aux périphériques réseau via les sockets Tutoriel du pilote avancé Linux intégré et utiliser deux méthodes pour accéder aux périphériques de caractères et bloquer les périphériques :

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!

Étiquettes associées:
source:itcool.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal