Unterschied zwischen / dev und / sys

19

Was ist der Unterschied zwischen devfs und sysfs ? Beide scheinen eine Liste der an das System angeschlossenen Hardware zu führen . Warum entstand dann überhaupt die Notwendigkeit für 2 separate Fs? Soweit ich kann pflegt / sys eine etwas "rohe" Liste von Geräten (wie "ser0"). Udev agiert auf diesen Geräten, erhält verschiedene Informationen und wendet verschiedene Regeln an, um sie als erkennbare Namen darzustellen, die dann auf / dev abgebildet werden (wie "Kamera"). Ist das der einzige Grund? Und dann mounten wir die entsprechenden Geräte aus dem / dev- Dateisystem (können wir das nicht aus dem / sys- Dateisystem machen) in das / media- Dateisystem.

Ich habe die Antwort unter Unterschied zwischen / dev und / sys / class gelesen . . Aber ich kann den sys fs-Teil nicht dahin bringen, wo er das angibt

Sysfs enthalten die Hierarchie der Geräte, da diese an den Computer angeschlossen sind

Sind die Dateien in / sys keine Geräteknotendateien? Um welche Art von Dateien handelt es sich dann?

Sounak
quelle
1
Mögliches Duplikat von Was ist der Unterschied zwischen procfs und sysfs?
Ciro Santilli
Ich denke nicht, dass dies ein Duplikat ist. Die Antworten auf beide Fragen werden sysfsaus unterschiedlichen Perspektiven betrachtet, und keine der Antworten auf die andere Frage erklärt, wie sich das /devVerzeichnis darauf bezieht sysfs.
Anthony G - Gerechtigkeit für Monica

Antworten:

27

Das /sysDateisystem (sysfs) enthält Dateien, die Informationen zu Geräten enthalten: ob es eingeschaltet ist, Name und Modell des Herstellers, an welchen Bus das Gerät angeschlossen ist usw. Es ist von Interesse für Anwendungen, die Geräte verwalten.

Das /devDateisystem enthält Dateien, mit denen Programme selbst auf die Geräte zugreifen können: Daten auf eine serielle Schnittstelle schreiben, eine Festplatte lesen usw. Für Anwendungen, die auf Geräte zugreifen, ist dies von Interesse.

Eine Metapher ist, dass sie /sysden Zugriff auf die Verpackung und /devden Inhalt der Schachtel ermöglicht.

Die Dateien in /syssind keine Geräteknoten, sondern symbolische Links und reguläre Dateien. Diese regulären Dateien sind insofern besonders, als beim Lesen oder Schreiben dateispezifische Funktionen im Kernel aufgerufen werden, wie z. B. Geräteknoten. Der Unterschied besteht darin, dass Dateien /sysaufgrund des Dateisystems, in dem sie sich befinden, auf diese Weise funktionieren, wohingegen Geräteknoten aufgrund ihrer Geräteknoteneigenschaften (der Dateityp zeigt ein (Block- oder Zeichen-) Gerät an, und die Gerätehaupt- und -nebenstellennummer zeigen dies an welches Gerät es ist).

Der Grund für die /devUnabhängigkeit von Unix /sysist zum Teil historisch: Er /devgeht auf die Anfänge von Unix zurück und /sysist eine viel jüngere Erfindung. Wenn Linux heute ohne historischen Hintergrund entworfen worden wäre, /dev/sdakönnte dies der Fall sein /sys/block/sda/content.

Gilles 'SO - hör auf böse zu sein'
quelle
3
Siehe auch: man hier.
HalosGhost