Sys-tiedostojärjestelmä

Linux.fista
Versio hetkellä 8. joulukuuta 2008 kello 19.19 – tehnyt Pb (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Sys-tiedostojärjestelmä (sysfs) on proc-tiedostojärjestelmän tapaan ajon aikana luotava 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-tiedosto 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 laiteosoitteet 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.