Sysfs

Sysfs ist ein virtuelles Dateisystem des Linux-Kernels. Es exportiert Informationen über verschiedene Kernel-Subsysteme, Hardware und assoziierte Gerätetreiber durch virtuelle Dateien in den Benutzermodus. Bestimmte Parameter können über dieses Interface auch konfiguriert werden.

Sysfs bietet eine ähnliche Funktionalität wie der Sysctl-Mechanismus in BSD-Betriebssystemen, mit dem Unterschied, dass sysfs als virtuelles Dateisystem implementiert wurde.

Geschichte

Während der Entwicklung des Linux-Kernels 2.5 wurde das Linux-Treiber-Modell vorgestellt, welches die folgenden Schwachstellen der Kernel-Version 2.4 beheben sollte:

  • Es gab keine einheitliche Methode, um zu zeigen, dass Beziehungen zwischen Gerätetreibern bestehen.
  • Es gab keine generischen Hotplug-Mechanismen.
  • procfs wurde mit Informationen, die nicht in Verbindung mit Prozessen standen, belastet.

Es wurde ursprünglich von Patrick Mochel entwickelt.[1][2] Maneesh Soni schrieb später den sogenannten „sysfs backing store patch“, welcher die Speichernutzung auf großen Systemen reduziert.

Während des nächsten Jahres der Entwicklung der Kernel-Version 2.5 begannen die infrastrukturellen Kapazitäten des Treibermodells, früher ddfs genannt, sich für die Kernel-Subsysteme als nützlich zu erweisen.[3][4] Etwa zur gleichen Zeit wurden die kobjects entwickelt, um eine zentrale Objektverwaltung zu ermöglichen. Dabei wurde der Name von driverfs zu sysfs geändert, um die Bandbreite zu verdeutlichen.

Sysfs ist üblicherweise unter dem Pfad /sys eingehängt.

Unterstützte Bussysteme

PCI
Exportiert Informationen über PCI- und PCIe-Geräte.
PCI Express
Exportiert Informationen über PCI-Express-Geräte.
USB
Beinhaltet USB-Geräte und USB-Hosts.
S/390-Bussysteme
Da die S/390-Architektur Geräte beinhaltet, die in dieser Form nirgendwo sonst existieren, müssen spezielle Bussysteme erstellt werden:
css
Enthält Subkanäle (zurzeit wird nur ein einziger I/O-Treiber für Subkanäle unterstützt).
ccw
Enthält an Kanäle angehängte Geräte.
ccwgroup
Virtuelle Geräte, welche vom Benutzer erstellt werden und aus ccw-Geräten bestehen.
iucv
Virtuelle Geräte wie netiucv-Geräte, welche die IUCV-Schnittstelle von virtuellen Maschinen verwenden.

Siehe auch

  • configfs – wird unter Linux üblicherweise unter /sys/kernel/config eingehängt

Einzelnachweise

  1. Linus Torvalds: Linux v2.5.44 - and offline for a week. 18. Oktober 2002;.
  2. Linus Torvalds: Linux v2.5.46. 4. November 2002;.
  3. Patrick Mochel: [RFC] New Driver Model for 2.5. 17. Oktober 2001;.
  4. Tim Jansen: Re: [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit. 1. November 2001;.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.