Heim > System-Tutorial > LINUX > Hauptteil

Analyse und Anwendung des Linux-Kernel 2.1-Einzelkernels und des Mikrokernel-Anwendungssystems

王林
Freigeben: 2024-02-13 18:45:27
nach vorne
546 Leute haben es durchsucht

Inhaltsverzeichnis

1. Zwei Formen von Bewerbungssystemen 1.1 Bewerbungssystem ohne Betriebssystem

Für einfache SOC-Anwendungen, wie z. B. die meisten Mikrocontroller-Anwendungen mit einfacher Funktion, ist es nicht erforderlich, ein Betriebssystem im System zu verwenden. Zu diesem Zeitpunkt ruft die Anwendung direkt den entsprechenden Treiber auf, um die zugrunde liegende Hardware zu betreiben, wie in der Abbildung gezeigt :

Mit diesen Strukturen ruft die Anwendungssoftware direkt den Gerätetreiber auf, um die Hardware zu betreiben. Die Vorteile sind: einfach, direkt und effizient. Geeignet für kleine und einfache Anlagen. Für komplexe Systeme, Anwendungssysteme, die Hardwareressourcen in verschiedenen Funktionen gemeinsam nutzen müssen, ist diese Methode offensichtlich nicht geeignet.

1.2. Anwendungssystem mit Betriebssystem

Für komplexe Anwendungssysteme und Anwendungsszenarien, in denen Hardware und andere Ressourcen zwischen Funktionsmodulen gemeinsam genutzt werden müssen, muss dem Anwendungssystem ein Betriebssystem hinzugefügt werden. Zu diesem Zweck ist das Bewerbungssystem wie rechts dargestellt:

Wie in der Abbildung gezeigt, können Anwendungen mit der offiziellen Website des Betriebssystems Hongqi Linux unabhängig von spezifischen Hardwaredetails den einheitlichen Socket der Betriebssystem-API verwenden, was einer groß angelegten standardisierten Entwicklung förderlich ist und die Entwicklungseffizienz verbessert.

Der Treiber nutzt auch den vom Betriebssystem bereitgestellten Standard-Gerätesockel zum Betrieb unterschiedlicher Hardware. Dadurch wird die Betriebssystemschicht vor Hardwaredetails geschützt. Das Betriebssystem erscheint dadurch stabiler und effizienter.

2. Linux-Kernel 2.1 Einzelkernel und Mikrokernel

Derzeit verfügt das Betriebssystem über zwei typische Kernel-Implementierungsmodi:

Linux ist ein Single-Kernel-Linux-Learning, das in einem separaten Adressraum ausgeführt wird. Allerdings hat Linux die Verfeinerung des Mikrokernels übernommen und verfügt über das modulare Design, den präemptiven Kernel, die Unterstützung für Kernel-Threads und die Fähigkeit, Kernel-Module dynamisch zu laden, die der Mikrokernel bietet. Gleichzeitig verhindert Linux auch die Designfehler von Mikrokerneln Embedded Linux Advanced Driver Tutorial Linux ermöglicht die Ausführung aller Module im Kernel-Status und den direkten Aufruf von Funktionen, ohne die Nachrichtenübermittlung wie bei Mikrokerneln zu verwenden.

2.2Linux-Kernel-Zusammensetzung

Wie in der Abbildung gezeigt, besteht der Linux-Kernel hauptsächlich aus fünf Teilen:

2.3 Prozessplanung

Die Prozessplanung steht im Zentrum des Systems und andere Teile des Systems hängen davon ab. Linux-Prozesse haben insgesamt sechs Zustände, und der Prozess kann während seines Lebenszyklus zwischen diesen Zuständen wechseln.

2.4 Videospeicherverwaltung

Die Hauptfunktion der Videospeicherverwaltung besteht darin, die sichere gemeinsame Hauptspeicherdomäne mehrerer Prozesse zu steuern. Jeder Linux-Prozess auf einem 32-Bit-Prozessor verfügt über 4G-Speicherplatz. Normalerweise gehören 0-3G zum Benutzerbereich und 3G-4G zum Kernel-Speicherplatz. Wie rechts abgebildet

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

2.5 Virtuelles Dateisystem

Das virtuelle Dateisystem von Linux verbirgt die spezifischen Details verschiedener Hardwaretypen und bietet einen einheitlichen Socket für alle Geräte. Es ist eine konkrete Darstellung jedes spezifischen Dateisystems.

Wie in der Abbildung gezeigt, stellt das virtuelle Dateisystem einen einheitlichen Aufruf-Socket für das zugrunde liegende Anwendungsprogramm bereit, der für den Aufruf der Mitgliedsfunktionen in der file_operations-Struktur verantwortlich ist, die im spezifischen zugrunde liegenden Dateisystem oder Gerätetreiber implementiert ist.

2,6 Netzwerkbuchse

Die Netzwerkbuchse bietet Zugriff auf verschiedene Netzwerkstandards und Unterstützung für verschiedene Netzwerkhardware. Linux-Netzwerk-Sockets sind unterteilt in

2.7 Kommunikation zwischen Prozessen

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

Die prozessübergreifende Kommunikation ist für die Kommunikation zwischen Prozessen verantwortlich, einschließlich Semaphoren, gemeinsam genutztem Speicher, Nachrichtenwarteschlangen, Pipes, UNIX-Domänen-Sockets usw.

3. Kernel-Space und User-Space

Moderne CPUs unterscheiden intern verschiedene Arbeitsmodi, um Vorgänge unterschiedlicher Ebenen und Berechtigungen zu unterscheiden.

Zum Beispiel die 8 Arbeitsmodi von ARM:

In der ARM-Umgebung nutzt das Linux-System die Hardwareeigenschaften der CPU vollständig aus, um zweistufige Betriebsmodi zu implementieren: Benutzermodus (usr) und Verwaltungsmodus (svc). Dementsprechend gibt es in Linux-Systemen zwei Arten von Leerzeichen:

3.1 Ergänzung: Über Soft Interrupt

qquad hier ist ein Diagramm des abnormalen Arbeitsmodus von ARM

Während der normalen Ausführung befindet sich ARM im Benutzermodus. Wenn die CPU den SWI-Befehl ausführt, wechselt sie manuell in den Systemmodus (SVCmode) und springt zur Ausnahmevektortabelle. Springen Sie über die Vektortabelle zur entsprechenden Funktion, um auf swi zu reagieren.

Der SVC-Modus hier ist die Abkürzung für SupervisorCall, was auf Englisch Supervisor Call bedeutet.

4. Linux-Gerätetreiber 4.1 Geräteklassifizierung im Linux-System

Das Linux-System unterteilt Peripheriehardware in drei Hauptkategorien:

4.2Linux-Treiber-bezogenes System

Wie in der Abbildung gezeigt, werden sowohl Zeichengeräte als auch Blockgeräte Dateien und Verzeichnissen im Linux-Dateisystem zugeordnet.

Anwendungen können über Sockets auf Netzwerkgeräte zugreifen Embedded Linux Advanced Driver Tutorial und zwei Methoden verwenden, um auf Zeichengeräte zuzugreifen und Geräte zu blockieren:

Das obige ist der detaillierte Inhalt vonAnalyse und Anwendung des Linux-Kernel 2.1-Einzelkernels und des Mikrokernel-Anwendungssystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:itcool.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!