Linux sysfs Dateisystem

Linux sysfs Dateisystem
In Linux hat jedes Verzeichnis seinen eigenen Zweck für seine Existenz. Das gleiche gilt für die sysfs Verzeichnis. Der sysfs Die Einträge werden vom Kernel verwendet, um die Informationen in Prozesse in der Benutzerdomäne zu exportieren und Eingaben vom Benutzer zu erhalten. Diese Einträge reisen durch das Dateisystem, um die dafür registrierten Show- und Speicherfunktionen zu finden.

Einträge in sysfs kann basierend auf dem Busart, Objekttyp, Gerätetyp, übergeordneten/untergeordneten Beziehungen usw. sortiert werden. Symlinks helfen bei der Reduzierung von Entlassungen.

Was werden wir abdecken??

In diesem Artikel werden wir das untersuchen sysfs Dateisystem in Linux. Beginnen wir mit einem Überblick über die sysfs.

Überblick über die sysfs Dateisystem

SYSFS wurde erstmals in Linux in Kernel Version 2 eingeführt.6.0.

Der sysfs ist ein virtuelles Dateisystem unter Linux. Es bedeutet, dass die Dateien auf sysfs wohnen Sie nicht auf einer Festplatte oder einem physischen Medien. Der Inhalt der Dateisysteme wird jedoch im Speicher gespeichert. Ursprünglich, sysfs basierte auf RAMFs und wurde DDFS genannt (Geräte -Treiber -Dateisystem).

SYSFs sendet Daten mithilfe von virtuellen Dateien an den Benutzerraum an den Benutzerraum. Diese Daten umfassen Daten zu verschiedenen Kernel -Subsystemen, Hardware -Geräten und zugehörigen Gerätetreibern.

Normalerweise, sysfs ist auf dem montiert /sys Partition und wird automatisch vom System montiert. Außerdem kann es mit dem manuell am Stiefel montiert werden fstab Datei:

$ Mount -t sysfs sysfs /sys

Aus dem vorherigen Befehl stellen wir fest, dass die sysfs ist auf /sys montiert. Dies ist der Standardstandort, an dem die sysfs ist einmontiert.

Die SYSFS -Hierarchie

Sysfs ist eine Gruppe von Dateien, Ordnern und Symlinks. Die meisten Dateien in der Inneren /sys sind schreibgeschützt. Einige Dateien sind auch beschreibbar, was bei der Änderung von Kernelvariablen hilft. Symlinks werden häufig zum Verknüpfen von Einträgen im gesamten Tree -System verwendet.

Wir empfehlen den Befehl „Baum“, um eine vollständige Ansicht dieses Verzeichnisses anzuzeigen. In unserem System zeigt der Befehl „Baum“ insgesamt 9480 Verzeichnisse und 38635 Dateien, was eine umfangreiche Sammlung von Dateien und Verzeichnissen darstellt.

Auf der obersten Ebene werden 11 Hauptunterverzeichnisse im System Boot erstellt. Diese Unterverzeichnisse sind Darstellungen der mit dem registrierten Hauptsubsysteme sysfs. Bei Boot-up sind diese Subsysteme beim Kobjektkern registriert. Sobald die Initialisierung abgeschlossen ist, finden sie, Objekte zu finden, die in ihren entsprechenden Verzeichnissen registriert sind.

Dateien und Unterverzeichnisse des /sys -Dateisystems

Lassen Sie uns nun ein paar Dateien und Unterverzeichnisse der /sys Dateisystem und diskutieren Sie ihren grundlegenden Zweck. Die wichtigsten virtuellen Unterverzeichnisse auf der oberen Ebene von /sys sind Block, Bus, Hypervisor, Klasse, Geräte, Kernel, Firmware, Modul und Strom.

1. /sys/block: Es hat einen Symlink und Verzeichnisse für jedes Blockgerät, das auf dem System entdeckt wurde. Diese Symlinks verweisen auf ihre jeweiligen Verzeichnisse unter dem Verzeichnis /sys/devices. Hier gibt es viele Unterverzeichnisse:

Diese in Cyan -Farbe gezeigten Blockgeräte verfügen über Attribute, die Informationen zu den Partitionen enthalten. Beispiele für diese Unterverzeichnisse sind SDA, SDB usw.

2. /sys/bus: Ein Bus ist ein Medium/Kanal zwischen einem Prozessor und einem Gerät oder Geräten. Beispiele für Busarten sind PCI, PCMCIA, SCSI oder USB. Für jeden Busart im Kernel gibt es ein Unterverzeichnis, das sich in der befindet /sys/bus Verzeichnis. Jedes solcher Unterverzeichnis hat weitere zwei weitere Unterverzeichnisse: Geräte und Treiber.

i) Geräte: Es enthält Symlinks zu den Einträgen in /sys /Geräten (dem globalen Gerätebaum) für jedes im Bus entdeckte Gerät.

ii) Treiber: Es enthält ein Unterverzeichnis für jeden im Bus geladenen Gerätetreiber. Diese Unterverzeichnisse enthalten Attribute für die Verwaltung von Treiberparametern und Symlinks.

3. /sys/Klasse: Eine Klasse ist eine hochrangige Ansicht eines Geräts. Dieses Verzeichnis enthält ferner eine weitere Ebene von Unterverzeichnissen für jede im System registrierte Geräteklasse. Diese Klassen können Terminals, Netzwerkgeräte, Tongeräte usw. sein. Diese Unterverzeichnisse enthalten Symlinks für jedes Gerät in einer Klasse. Diese Symlinks verweisen auf die Einträge in der /sys/devices Verzeichnis.

4. /sys/class/net: Jeder Symlink in diesem Verzeichnis repräsentiert entweder eines der realen oder virtuellen Netzwerkgeräte, die im Netzwerk -Namespace des Prozesses auf das Verzeichnis zugreifen können. Jeder solche Symlink zeigt auf die Einträge in der /sys/devices Verzeichnis.

5. /sys/devices: Der /sys/merieb Das Verzeichnis enthält den gesamten Kernel -Gerätebaum in der Dateisystemansicht. Es enthält jedes physische Gerät, das von den mit dem Kernel registrierten Busarten gefunden wurde.

6. /sys/firmware: Es enthält Schnittstellen zum Verwalten von Objekten und Attributen, die firmwarespezifisch sind. Hier ist Firmware ein Code, der auf dem System-Boot-up ausgeführt wird. Zum Beispiel kann die Plattform x86 BIOS, OpenFirmware und IA64 sein. Es gibt viele Dateien im EFI -Ordner als Beispiel.

Beispielausgabe:

$ ls firmware/efi/
config_table ESRT fw_vendor runtime systab
efivars fw_platform_size mok-variables runtime-map vars

Jede dieser Dateien enthält einen Wert für einen Parameter.

7. /sys/kernel: In diesem Unterverzeichnis gibt es viele Dateien und Ordner, die Daten über den aktiven Kernel liefern.

8. /sys/modul: Für jedes in den Kernel geladene Modul gibt es ein Unterverzeichnis, das sich in diesem Verzeichnis befindet. Die Benennung dieser Unterverzeichnisse basiert auf dem Namen des entsprechenden Kernels. In jedem Modulverzeichnis befindet sich ein Unterverzeichnis, das Abschnitte genannt wird, das Attribute zu den Modulabschnitten enthält. Viele Dateien sind wie coresize, initSize, initstate, srcversion usw. In ähnlicher Weise gibt es viele Unterverzeichnisse wie Treiber, Inhaber, Notizen, Parameter usw.

9. /sys/Kraft: Es repräsentiert das Leistungssubsystem und hat nur zwei Attribute: Festplatte und Zustand. Die Methode, mit der das System schlafen/suspendiert wird, wird von „Festplatten“ gesteuert. "Staat" erlaubt eine Befugnis, einen Zustand mit geringer Leistung zu erlangen.

Abschluss

In diesem Leitfaden haben wir etwas über die SYSFS-Dateisysteme unter Linux gelernt und auch verschiedene Unterverzeichnisse und ihre Zwecke gesehen. Das SYSFS enthält eine Vielzahl von Daten. Weitere Informationen finden Sie auf den Mannseiten und auch auf dieser Seite, die auf Kernel gehostet wird.Org