sysfs
sysfs är ett pseudofilsystem som tillhandahålls av Linux-kärnan som exporterar information om olika kärndelsystem, hårdvaruenheter och tillhörande enhetsdrivrutiner från kärnans enhetsmodell till användarutrymmet genom virtuella filer . Förutom att tillhandahålla information om olika enheter och kärndelsystem, används även exporterade virtuella filer för deras konfiguration.
sysfs tillhandahåller funktionalitet som liknar sysctl -mekanismen som finns i BSD- operativsystem , med skillnaden att sysfs är implementerat som ett virtuellt filsystem istället för att vara en specialbyggd kärnmekanism, och att sysctl -konfigurationsparametrar i Linux görs tillgängliga på / proc/sys/ som en del av procfs , inte sysfs som är monterad på /sys/ .
Historia
Under utvecklingscykeln 2.5 introducerades Linux-drivrutinsmodellen för att åtgärda följande brister i version 2.4:
- Det fanns ingen enhetlig metod för att representera drivrutin-enhetsrelationer.
- Det fanns ingen generisk hotpluggmekanism .
- procfs var belamrat med icke-processinformation.
Sysfs designades för att exportera informationen som finns i enhetsträdet som då inte längre skulle störa procfs. Den skrevs av Patrick Mochel. Maneesh Soni skrev senare sysfs backing store patch för att minska minnesanvändningen på stora system.
Under nästa år av 2.5-utveckling började förarmodellens och förarnas infrastrukturella förmåga att visa sig användbara för andra delsystem. kobjects utvecklades för att tillhandahålla en central objekthanteringsmekanism och driverfs döptes om till sysfs för att representera dess subsystemagnosticism.
Sysfs är monterat under /sys- monteringspunkten. Om den inte är monterad under initieringen kan du alltid montera den med kommandot: "mount -t sysfs sysfs /sys"
Bussar som stöds
- ACPI
- Exporterar information om ACPI- enheter.
- PCI
- Exporterar information om PCI- och PCI Express- enheter.
- PCI Express
- Exporterar information om PCI Express- enheter.
- USB
- Exporterar information om USB- enheter.
- SCSI
- Exporterar information om masslagringsenheter , inklusive USB , SATA och NVMe -gränssnitt.
- S/390 bussar
- Eftersom S/390- arkitekturen innehåller enheter som inte finns någon annanstans, har speciella bussar skapats:
- css : Innehåller underkanaler (för närvarande är den enda drivrutinen som tillhandahålls för I/O-underkanaler).
- ccw : Innehåller kanalanslutna enheter (driven av CCW ).
- ccwgroup : Konstgjorda enheter, skapade av användaren och som består av ccw-enheter. Ersätter en del av 2.4-chandev-funktionaliteten.
- iucv : Konstgjorda enheter som netiucv-enheter som använder VM:s IUCV -gränssnitt.
Sysfs och användarutrymme
Sysfs används av flera verktyg för att komma åt information om hårdvara och dess drivrutin ( kärnmoduler ) såsom udev eller HAL . Skript har skrivits för att komma åt information som tidigare erhållits via procfs , och vissa skript konfigurerar drivrutiner och enheter via sina attribut.
Se även
- procfs
- configfs
- tmpfs
- sysctl , alternativt sätt att exportera konfiguration som används i BSD-system