sysfs - sysfs
sysfs er et pseudofilsystem levert av Linux -kjernen som eksporterer informasjon om forskjellige kjernesubsystemer, maskinvareenheter og tilhørende enhetsdrivere fra kjernens enhetsmodell til brukerplass gjennom virtuelle filer . I tillegg til å gi informasjon om forskjellige enheter og kjernesubsystemer, brukes også eksporterte virtuelle filer til konfigurasjonen.
sysfs gir funksjonalitet som ligner på sysctl- mekanismen som finnes i BSD- operativsystemer , med den forskjellen at sysfs er implementert som et virtuelt filsystem i stedet for å være en spesialbygd kjernemekanisme, og at i Linux blir sysctl- konfigurasjonsparametere gjort tilgjengelig på / proc/ sys/ som en del av procfs , ikke sysfs som er montert på / sys/ .
Historie
I løpet av 2.5 -utviklingssyklusen ble Linux -drivermodellen introdusert for å fikse følgende mangler ved versjon 2.4:
- Det fantes ingen enhetlig metode for å representere fører-enhet-relasjoner.
- Det var ingen generell varmestikk -mekanisme.
- procfs var full av ikke-prosessinformasjon.
Sysfs er designet for å eksportere informasjonen til stede i enhetstreet som da ikke lenger fyller opp procfs. Den ble skrevet av Patrick Mochel. Maneesh Soni skrev senere sysfs backing store patch for å redusere minnebruk på store systemer.
I løpet av det neste året med 2.5 -utvikling begynte infrastrukturelle evner til drivermodellen og driverfs å vise seg nyttig for andre delsystemer. kobjects ble utviklet for å gi en sentral objekthåndteringsmekanisme og driverfs ble omdøpt til sysfs for å representere delsystemets agnostisisme.
Sysfs er montert under /sys -monteringspunktet . Hvis den ikke er montert under initialisering, kan du alltid montere den ved hjelp av kommandoen: "mount -t sysfs sysfs /sys"
Busser som støttes
- ACPI
- Eksporterer informasjon om ACPI -enheter.
- PCI
- Eksporterer informasjon om PCI- og PCI Express -enheter.
- PCI Express
- Eksporterer informasjon om PCI Express -enheter.
- USB
- Eksporterer informasjon om USB -enheter.
- SCSI
- Eksporterer informasjon om masselagringsenheter , inkludert USB , PATA , SATA , SCSI , SAS og NVMe grensesnitt.
- S/390 busser
- Siden S/390 -arkitekturen inneholder enheter som ikke finnes andre steder, har det blitt opprettet spesielle busser:
- css : Inneholder underkanaler (den eneste driveren som tilbys er for I/O -underkanaler).
- ccw : Inneholder kanaltilkoblede enheter (drevet av CCW -er ).
- ccwgroup : Kunstige enheter, laget av brukeren og består av ccw -enheter. Erstatter noen av 2,4 chandev -funksjonaliteten.
- iucv : Kunstige enheter som netiucv -enheter som bruker VMs IUCV -grensesnitt.
Sysfs og userpace
Sysfs brukes av flere verktøy for å få tilgang til informasjon om maskinvare og driveren ( kjernemoduler ), for eksempel udev eller HAL . Skript har blitt skrevet for å få tilgang til informasjon som tidligere er innhentet via prosjekter , og noen skript konfigurerer enhetsdrivere og enheter via deres attributter.
Se også
- proffs
- konfigurerer
- tmpfs
- sysctl , alternativ måte å eksportere konfigurasjon på i BSD -systemer
Referanser
Eksterne linker
- Drivermodelloversikt fra LWN -porten til 2.6 -serien
- kobjects og sysfs fra LWN -porten til 2.6 -serien
- Ramfs
- Sysfs filsystem, OLS'05
- Dokumentasjon/filsystemer/sysfs.txt Linux -kjernedokumentasjon for sysfs