Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche Module gibt es unter Linux?

Welche Module gibt es unter Linux?

青灯夜游
青灯夜游Original
2022-04-14 18:42:073798Durchsuche

Linux verfügt über 5 Hauptmodule: 1. Prozessplanungsmodul, das hauptsächlich zur Verwaltung und Steuerung des vom Prozess verwendeten Prozessors verwendet wird; 2. Interprozesskommunikationsmodul, das hauptsächlich zur Steuerung der Synchronisierung, Datenfreigabe und Datenfreigabe verwendet wird zwischen verschiedenen Prozessen im Benutzerbereich; 3. Speicherverwaltungsmodul, das einen erweiterten virtuellen Speichermechanismus verwendet, um die Speicherverwaltung von Multiprozessen zu realisieren;

Welche Module gibt es unter Linux?

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

Der Linux-Kernel enthält fünf Hauptuntermodule: Prozessplanungsmodul, Interprozesskommunikationsmodul, Speicherverwaltungsmodul, Dateisystemmodul und Netzwerkschnittstellenmodul. 1. Modul zur Prozessplanung Das Prozessplanungsmodul verwaltet und steuert hauptsächlich den vom Prozess verwendeten Prozessor.

Welche Module gibt es unter Linux?【Prozesserstellung】:

Beim Programmieren in einer Linux-Umgebung wird im Allgemeinen die Funktion fork()/vfork() verwendet (fork dient dazu, einen untergeordneten Prozess zu erstellen und die Speicherdaten des übergeordneten Prozesses dorthin zu kopieren). Der untergeordnete Prozess erstellt einen untergeordneten Prozess und verwendet ihn mit der Speicherdatenfreigabe des übergeordneten Prozesses. Natürlich handelt es sich um eine Funktion im Benutzerbereich, die den Systemaufruf clone() aufruft Die von der Funktion clone() gesteuerte Funktion ruft weiterhin do_fork() auf, um die Erstellung des Prozesses abzuschließen.

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

【Prozess rückgängig machen】:

 Nachdem der Prozess beendet ist, muss der Kernel benachrichtigt werden, damit der Kernel die Ressourcen freigeben kann, die dem Prozess gehören, einschließlich Speicher, geöffnete Dateien und andere Ressourcen wie Semaphoren. Die allgemeine Möglichkeit, einen Prozess zu beenden, besteht darin, die Bibliotheksfunktion „exit()“ aufzurufen, die die von der C-Funktionsbibliothek zugewiesenen Ressourcen freigibt, jede vom Programmierer registrierte Funktion ausführt und den Systemaufruf beendet, der den Prozess vom System zurückfordert .

【Prozesswechsel】:

  Prozesswechsel wird auch

Aufgabenwechsel, Kontextwechsel genannt. Dabei handelt es sich um das Verhalten, bei dem der Kernel zur Steuerung der Ausführung eines Prozesses den aktuell auf der CPU ausgeführten Prozess anhält und die Ausführung eines zuvor angehaltenen Prozesses wieder aufnimmt.  Im Wesentlichen besteht jeder Prozesswechsel aus zwei Teilen:

das globale Seitenverzeichnis wechseln, um einen neuen Adressraum zu installieren;

den Kernel-Modus-Stack und den Hardware-Kontext wechseln, da der Hardware-Kontext den Kernel bereitstellt, mit dem er ausgeführt werden soll Alle erforderlichen Informationen, einschließlich der CPU-Register, werden hauptsächlich durch die Funktion switch_to() vervollständigt.

【Prozessplanung】:
  Unter modernem Linux kann der Planungsalgorithmus einen Prozess auswählen, der innerhalb einer festen Zeit ausgeführt werden soll (unabhängig von der Anzahl der ausführbaren Prozesse). Zunächst müssen wir wissen, dass Prozesse in „Echtzeitprozesse und gewöhnliche Prozesse“ unterteilt werden können. Jeder Linux-Prozess wird immer nach den folgenden Planungstypen geplant:
First-in-First-out-Echtzeitprozess, Zeitscheibenrotations-Echtzeitprozess, gewöhnlicher Time-Sharing-Prozess

. Planungsalgorithmen unterscheiden sich erheblich, je nachdem, ob es sich um einen normalen Prozess oder einen Echtzeitprozess handelt.
2. Modul zur prozessübergreifenden Kommunikation

  Die prozessübergreifende Kommunikation wird hauptsächlich zur Steuerung der Synchronisierung, des Datenaustauschs und des Austauschs im Benutzerraum zwischen verschiedenen Prozessen verwendet. Da verschiedene Benutzerprozesse unterschiedliche Prozessräume haben, muss die Kommunikation zwischen Prozessen mithilfe von Kernel-Relay erfolgen. Normalerweise wird ein Prozess angehalten, während er auf den Abschluss einer Hardwareoperation wartet. Wenn der Hardware-Vorgang abgeschlossen ist, wird der Prozess wieder aufgenommen, und was diesen Prozess koordiniert, ist der Interprozess-Kommunikationsmechanismus. Das Interprozess-Kommunikationsmodul stellt sicher, dass Linux eine Vielzahl von Interprozess-Kommunikationsmechanismen unterstützt, einschließlich Pipes, Named Pipes usw. Nachrichtenwarteschlangen, Semaphoren und Shared Memory usw.

3. Speicherverwaltungsmodul


  Das Speicherverwaltungsmodul von Linux nutzt den fortschrittlichen

virtuellen Speicher-Mechanismus, um die Speicherverwaltung mehrerer Prozesse zu realisieren. Es bietet sehr zuverlässige Speicherschutzmaßnahmen und gewährt Prozessen unterschiedliche Berechtigungen. Benutzer können nicht direkt auf die Programme und Daten des Systems zugreifen, wodurch die Sicherheit des Systems gewährleistet wird. Gleichzeitig wird jedem Benutzerprozess ein unabhängiger virtueller Adressraum zugewiesen.

4. Dateisystemmodul


 Das Dateisystemmodul von Linux nutzt die fortschrittliche

Virtual File System (VFS)-Technologie, die die Unterschiede zwischen verschiedenen Dateisystemen abschirmt und Lösungen für die Verarbeitung verschiedener Dateisysteme bietet einheitliche Schnittstelle und unterstützt mehr als 90 verschiedene physische Dateisysteme. Gleichzeitig behandelt Linux verschiedene Hardwaregeräte als spezielle Dateien und verwaltet die Geräte auf die gleiche Weise wie Dateien, was sehr praktisch und effektiv ist.


5. Netzwerkschnittstellenmodul

 Linux verfügt über die leistungsstärksten Netzwerkfunktionen. Das Netzwerkschnittstellenmodul implementiert die Netzwerkkommunikation zwischen Computern über den Socket(Socket)-Mechanismus und nutzt das Netzwerkschichtmodell, um Unterstützung für mehrere Netzwerkprotokolle und Netzwerkhardwaregeräte bereitzustellen.

  Die Netzwerkschnittstelle ermöglicht die Implementierung verschiedener Netzwerkstandards und Unterstützung für verschiedene Netzwerkhardware. Netzwerkschnittstellen werden im Allgemeinen in Netzwerkprotokolle und Netzwerktreiber unterteilt. Der Netzwerkprotokollteil ist für die Implementierung aller möglichen Netzwerktransportprotokolle verantwortlich. Netzwerkgerätetreiber sind hauptsächlich für die Kommunikation mit Hardwaregeräten verantwortlich. Jedes mögliche Netzwerkhardwaregerät verfügt über einen entsprechenden Gerätetreiber. Verwandte Empfehlungen: „Linux-Video-Tutorial.“

Das obige ist der detaillierte Inhalt vonWelche Module gibt es unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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