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å

Referanser

Eksterne linker