Was ist der Linux-Protokollstapel?

WBOY
Freigeben: 2022-07-14 16:21:45
Original
2418 Leute haben es durchsucht

Unter Linux ist der Protokollstapel eine spezifische Softwareimplementierung der Protokollsuite des Computernetzwerks. Dabei handelt es sich um die Summe der Protokolle auf allen Ebenen im Netzwerk. Ein Protokoll in der Protokollsuite ist normalerweise nur für einen bestimmten Zweck konzipiert Um das Design einfacher zu gestalten, spiegelt der Protokollstapel den Dateiübertragungsprozess in einem Netzwerk wider.

Was ist der Linux-Protokollstapel?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Was ist der Protokollstapel von Linux?

Der Protokollstapel (englisch: Protocol Stack), auch Protokollstapel genannt, ist eine spezifische Softwareimplementierung der Computernetzwerkprotokollsuite. Ein Protokoll in einer Protokollsuite ist normalerweise nur für einen Zweck konzipiert, was den Entwurf erleichtert. Da jedes Protokollmodul normalerweise mit zwei anderen darüber und darunter liegenden Protokollmodulen kommuniziert, können sie normalerweise als Schichten in einem Protokollstapel betrachtet werden. Die Protokolle der untersten Ebene beschreiben immer die physische Interaktion mit der Hardware. Jede fortgeschrittene Stufe fügt weitere Funktionen hinzu. Benutzeranwendungen verarbeiten nur die Protokolle der obersten Ebene.

Erklärung: Die Summe der Protokolle auf jeder Ebene im Netzwerk spiegelt den Prozess der Dateiübertragung in einem Netzwerk wider.

Einführung in den Linux-Speicherprotokollstapel:

Was ist der Linux-Protokollstapel?

Datenfluss:
Die Anwendung gibt einen Schreibvorgang aus Anforderung durch einen Systemaufruf. Das ultimative Ziel besteht darin, Daten auf die Festplatte zu schreiben. Das Dateisystem ist dafür verantwortlich, den Speicherort der Schreibanforderung zu lokalisieren, sie in die vom Blockgerät benötigten Blöcke umzuwandeln und die Anforderung dann an das Gerät zu senden .

    Der Speicher spielt in diesem Prozess die Rolle eines Festplatten-Cache und isoliert den oberen und unteren Teil in zwei asynchron laufende Prozesse. Für den oberen Teil ist es der beste Weg, die Daten im Speicher zu behalten, da es keine Möglichkeit gibt, sie vorherzusagen ob es in Zukunft Änderungen geben wird. Wenn derselbe Speicherort häufig geändert werden muss, ist eine kontinuierliche Datensynchronisierung mit der Festplatte nicht erforderlich. In der zweiten Hälfte werden die Daten vom Seitencache (Page Cache) auf die Festplatte synchronisiert und die ausgegebene Anforderung in eine Anforderung gepackt. Eine Anforderung enthält einen Satz von BIOS, und jede Bio enthält die Datenseiten, die benötigt werden synchronisiert werden.
  1. Anwendungsschicht

Anwendungen greifen über Systemaufrufe auf Dateien zu. Zum Beispiel offener Aufruf

Systemaufruf

Benutzeranwendungen können über Systemaufrufe auf verschiedene vom Kernel bereitgestellte Dienste zugreifen und diese nutzen. Der Kernel stellt eine Reihe von Systemaufrufschnittstellen bereit, über die Anwendungen auf Systemhardware und Betriebssystemressourcen zugreifen können.

Die Anwendung ruft die Systemaufrufschnittstelle auf –>Kernel->betreibt die Hardware –>kehrt zum Kernel zurück –>Anwendung

Die wichtigsten, die sich auf das Speichersystem beziehen, sind Lesen, Schreiben, Öffnen
„mmap() wird“. Datei (durch Dateihandle Angegeben durch fd) Ein Block mit einer Länge beginnend mit dem Offset-Offset wird dem Speicherbereich zugeordnet, wodurch ein bestimmter Abschnitt der Datei dem Adressraum des Prozesses zugeordnet wird, sodass das Programm über auf die Datei zugreifen kann
„Ein typisches Beispiel ist die Verwendung von /dev/mem, um einige physische Adressen, auf die die MMU zugreifen kann, auf virtuelle Adressen der Anwendungsschicht abzubilden, um einige zu erreichen.“ einfache Treiberentwicklung.


Virtuelles Dateisystem

Durch die Verwendung eines gemeinsamen Satzes von APIs kann Linux mehrere Dateisysteme auf mehreren Geräten unterstützen. Ein Dateisystem ist ein Mechanismus zum Speichern und Organisieren von Dateien und Daten auf einem Speichergerät.

Linux unterstützt eine Vielzahl von Dateisystemen


„Das virtuelle Dateisystem schützt die Unterschiede zwischen verschiedenen Dateisystemen, indem es eine Abstraktionsschicht auf verschiedenen spezifischen Dateisystemen einrichtet. Durch die geschichtete Architektur des virtuellen Dateisystems sind wir es. Wenn Sie Vorgänge ausführen, tun Sie dies.“ Sie müssen sich nicht um die Details des spezifischen Dateisystems kümmern, in dem sich die relevanten Dateien befinden. „
„Es ist das virtuelle Dateisystem, das diese Art von Operation über verschiedene Speichergeräte und verschiedene Dateisysteme hinweg ermöglicht.“

Gemeinsame API, die von VFS bereitgestellt wird . Es gibt:


rrree

Dateisystem

Ich glaube, dass jeder mit dieser Ebene des Dateisystems vertraut ist. Derzeit ist das von den meisten Linux-Distributionen verwendete Standarddateisystem im Allgemeinen ext4 wird auch bald herauskommen, egal was passiert. Solche Dateisysteme werden durch eine Reihe von mkfs.xxx-Befehlen erstellt, wie zum Beispiel:
mount(), umount() …
 open(),close() …
 mkdir() …
Nach dem Login kopieren

Die vom Kernel unterstützten Dateisystemtypen können über den Inhalt des fs-Verzeichnisses angezeigt werden Kernel-Verzeichnisbaum.

Allgemeine Blockgeräteschicht

Die Rolle dieser Schicht besteht darin, dass verschiedene Festplatten unterschiedliche E/A-Schnittstellen bereitstellen. Der Kernel ist der Ansicht, dass diese unordentliche Schnittstelle der Verwaltung nicht förderlich ist und diese Schnittstellen abstrahiert werden müssen, um eine Einheit zu bilden Auf diese Weise gibt es unabhängig von der Art der Festplatte oder des Treibers keinen Unterschied in den E/A-Schnittstellen, die sie der Außenwelt zur Verfügung stellen, und sie werden alle gleich als Blockgeräte behandelt.

Wenn also Änderungen auf einer Ebene vorgenommen werden, wirkt sich dies direkt auf alle Dateisysteme aus, unabhängig davon, ob es sich um ext3, ext4 oder andere Dateisysteme handelt. Solange auf dieser Ebene Änderungen vorgenommen werden, sind diese betroffen.

Festplatte

Zu den gängigen Festplattentypen gehören PATA, SATA und AHCI usw. In Linux-Systemen werden die für verschiedene Festplatten bereitgestellten Treibermodule im Allgemeinen im Kernel-Verzeichnisbaum drivers/ata und für Allzweckfestplatten gespeichert Laufwerke Der Treiber wird möglicherweise direkt in den Kernel kompiliert, anstatt als Modul zu erscheinen. Sie können dies überprüfen, indem Sie die Datei /boot/config-xxx.xxx anzeigen.

Empfohlenes Lernen: Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Linux-Protokollstapel?. 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