Was ist ein Linux-Kernel?

藏色散人
Freigeben: 2023-03-23 10:20:50
Original
5389 Leute haben es durchsucht

Linux-Kernel bedeutet Linux-Kernel, der hauptsächlich für die Verwaltung von E/A-Treibern, TCP/IP und Aufgabenplanung zuständig ist. Der Linux-Kernel ist die Hauptkomponente des Linux-Betriebssystems und die Kernschnittstelle zwischen Computerhardware und seinem Prozess für zwei Kommunikation zwischen Benutzern und Ressourcenverwaltung so effizient wie möglich.

Was ist ein Linux-Kernel?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

Was ist der Linux-Kernel?

Linux-Kernel bedeutet Linux-Kernel, der hauptsächlich dazu dient, die Verwaltung von E/A-Treibergeräten, TCP/IP und die Aufgabenplanung abzuschließen.

Linux-Kernel wird als Linux-Kernel übersetzt. Linux ist ein in der Sprache C geschriebener Kernel, auf dem bestimmte Betriebssysteme wie Red Hat Linux und Open Suse Linux basieren Systeme, die auf dem Linux-Kernel basieren Das gesamte Betriebssystem wird Linux-Betriebssystem oder GNU/Linux genannt.

Einführung in den Linux-Kernel

Der Linux-Kernel ist die Hauptkomponente des Linux-Betriebssystems (OS) und die Kernschnittstelle zwischen Computerhardware und ihren Prozessen. Es ist für die Kommunikation zwischen beiden verantwortlich und verwaltet zudem die Ressourcen möglichst effizient.

Er wird Kernel genannt, weil er wie der Samen in der harten Schale einer Frucht innerhalb eines Betriebssystems ist, das alle wichtigen Funktionen der Hardware steuert, egal ob es sich um ein Telefon, einen Laptop, einen Server oder einen anderen Computertyp handelt.

Die Rolle des Linux-Kernels

Der Inhalt hat die folgenden vier Funktionen:

  • Speicherverwaltung: Verfolgen, wie viel Speicher gespeichert ist und wo

  • Prozessverwaltung: Bestimmen, welche Prozesse die zentrale Verarbeitung nutzen können ( CPU), wann verwendet und wie lange

  • Gerätetreiber: Fungiert als Vermittler/Interpreter zwischen der Hardware und dem Prozess

  • Systemaufruf und Sicherheitsüberwachung: Akzeptiert Serviceanfragen vom Prozess

Bei Implementierung Korrekt ist, dass der Kernel für den Benutzer unsichtbar ist und in seiner eigenen kleinen Welt (dem sogenannten Kernel-Space) arbeitet, von der aus er Speicher zuweist und den Überblick darüber behält, wo alles gespeichert ist. Was der Benutzer sieht (z. B. den Webbrowser und Dateien), wird als Benutzerbereich bezeichnet. Diese Anwendungen interagieren mit dem Kernel über die System Call Interface (SCI).

Man kann es sich so vorstellen: Der Kernel ist wie ein vielbeschäftigter persönlicher Assistent, der Führungskräften (Hardware) dient. Die Aufgabe des Assistenten besteht darin, Nachrichten und Anfragen (Prozesse) von Mitarbeitern und der Öffentlichkeit (Benutzer) an Führungskräfte weiterzuleiten, sich zu merken, was wo gespeichert ist (Speicher) und festzulegen, wer die Führungskraft zu einem bestimmten Zeitpunkt besuchen kann und wann Besprechungen möglich sind . Wie lange.

Für den Linux-Kernel schauen wir uns zunächst die Verzeichnisstruktur an. Hier nur ein paar wichtige Anweisungen.

arch enthält den gesamten Kerncode im Zusammenhang mit der Architektur. Von innen können wir Ordner wie arm, alpha, i386, mips und ia64 sehen. Jede Prozessorarchitektur verfügt über unterschiedliche Hardwaremodule. Hier müssen wir unterschiedliche Initialisierungen für unterschiedliche Architekturen durchführen.

init enthält den Kernel-Initialisierungscode (nicht den Systemstartcode), der über eine Datei main.c verfügt, mit der alle Initialisierungsarbeiten des Kernels ausgeführt werden (einschließlich Initialisierung des Speichers, Initialisierung der gesamten Hardware, Erstellung der ersten Aufgabe task0, und Setzen der Interrupts-Zulassungsflagge), wechseln Sie dann in den Benutzermodus und rufen Sie die Funktion fork() auf, um einen neuen Prozess zu erstellen und die Shell auf der Konsole auszuführen.

Kernel enthält den Kerncode der Kernelverwaltung. Schauen Sie sich einfach den Namen an und Sie werden wissen, dass es sich um ein schweres Verzeichnis handelt. Es enthält alle Programme, die Aufgaben verarbeiten, einschließlich Fork, Exit, Scheduler (sched.c) und einige Systeme Aufrufe (sys.c), Signalverarbeitung (signal.c), Zeitfunktion (time.c) sowie eine Reihe von Funktionen mit komplizierten Aufrufbeziehungen, wie z. B. Interrupt-Ausnahmebehandlung, Energieverwaltung usw.

mm enthält den gesamten Speicherverwaltungscode. Dazu gehören die Implementierung der Zuordnung der logischen Adresse des Prozesses zur tatsächlichen physischen Adresse, die Implementierung des Paging- und Segmentierungsmechanismus sowie die Implementierung des Interrupt-Handlers für Speicherseitenausnahmen usw.

Treiber umfassen alle Gerätetreiber im System, wie CD-ROM, Bluetooth, PCI, i2c usw.

ipc enthält den Kerncode für die prozessübergreifende Kommunikation.

fs speichert den von Linux unterstützten Dateisystemcode, der eine Reihe von Verzeichnissen wie ext2, ext3, ext4, fat, ntfs usw. enthält.

net ist der Netzwerkteilcode des Kernels. Jedes Unterverzeichnis entspricht einem Aspekt des Netzwerks, z. B. den Verzeichnissen ieee80211, ipv4 und ipv6.

lib enthält den Kernbibliothekscode, einschließlich Funktionen wie strcpy, sprintf und sort.

Verwandte Empfehlungen: „Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist ein Linux-Kernel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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