Sys-tiedostojärjestelmä

Linux.fista
Versio hetkellä 6. joulukuuta 2008 kello 05.01 – tehnyt Ordyh (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Sys-tiedostojärjestelmä (sysfs) on proc-tiedostojärjestelmän tapaan ajoaikana generoitava tiedostojärjestelmä, joka liitetään hakemistoon /sys. sysfs on nuorempaa perua kuin procfs: sysfs on mukana vasta 2.6-versioisissa Linux-ytimissä, kun taas /proc-tiedostojärjestelmä on perua jo Linuxia edeltävistä UNIX-järjestelmistä (vuodesta 1985). sysfs syntyi tarpeesta luoda yhtenäinen tapa kuvata laitteiden ja niistä vastaavien ajureiden välisiä yhteyksiä. Tämä on tärkeää etenkin hotplug-laitteille. procfs on alunperin tarkoitettu vain ajoaikaisen prosessitietojen välittämiseen ytimestä.

Mikään sysfsä ei ole "todellinen" tiedosto, vaan kaikki siellä esiintyvät tiedostot ovat näkymiä eri ytimen parametreihin ja ominaisuuksiin. Siksi sysfs ja procfs eivät kuluta lainkaan levytilaa. sysfs sisältää ajonaikaisia laite-, ajuri- ja moduulitietoja, ja ennen kaikkea tietoja laitteiden, ajurien ja moduulien yhteyksistä. Se sisältää myös joitain asetusparametreja. Nuoresta iästään johtuen sysfs:n ominaisuudet ja tiedostohierarkkia ovat osin vielä kehitysvaiheessa ja voivat muuttua.

Tiedostorakenne

sysfs:n päähakemistot:

  • /sys/devices - Ytimen käsitys koko järjestelmän laitehierarkiasta. Laitetietojen ensisijainen sijaintipaikka - muut hakemistot voivat linkata /devices:iin. IBM PC-tietokoneissa lähes kaikki erikoislaitteet löytyvät täältä pci-hierarkian alta.
  • /sys/class - Laitteet jaoteltuina laitetyypin mukaan.
  • /sys/bus - Ytimen käsitys järjestelmässä käytössä olevista väylistä. Jokaisen väylän alihakemistossa on:
    • /sys/bus/*/drivers - Väylää vastaavat ajurit. Jokaisen ajurin alihakemistoina on sen ajamat laitteet.
    • /sys/bus/*/devices - Väylään liitetyt laitteet. Kaikki laitteosoitteet ovat linkkejä /sys/devices hierarkiaan.
  • /sys/block - Tavujoukkolaitteet, eli periaatteessa massamuistit. Sisältää järjestelmään liitetyt kovalevyt ja optiset mediat dev-tiedostojärjestelmän mukaisen tunnisteen mukaan (hd* IDE-laitteille ja sd* SCSI-, USB- ja FireWire-laitteille).
  • /sys/fs - Joidenkin levytiedostojärjestelmien ajoaikaisia tietoja. Usein tyhjä.
  • /sys/dev - dev-tiedostojärjestelmän tiedostoja vastaavat sysfs-hakemistot major- ja minor-koodin mukaan. Jaoteltu tavujoukko- ja merkkipohjaisiin laitteisiin.