sysfs - un sistem de fișiere pentru exportul obiectelor
nucleului
Sistemul de fișiere sysfs este un pseudo-sistem de
fișiere care oferă o interfață pentru
structurile de date ale nucleului; (mai exact, fișierele și
directoarele din sysfs oferă o vizualizare a structurilor
kobject definite intern în nucleu). Fișierele din
sysfs furnizează informații despre dispozitive,
modulele nucleului, sistemele de fișiere și alte componente
ale nucleului.
Sistemul de fișiere sysfs este în mod
obișnuit montat la /sys. De obicei, este montat automat de
către sistem, dar poate fi montat și manual cu ajutorul unei
comenzi precum:
mount -t sysfs sysfs /sys
Multe dintre fișierele din sistemul de fișiere
sysfs sunt numai pentru citire, dar unele fișiere pot fi
scrise, permițând modificarea variabilelor nucleului. Pentru a
evita redundanța, legăturile simbolice sunt utilizate
în mare măsură pentru a conecta intrările din
întregul arbore al sistemului de fișiere.
Următoarea listă descrie unele dintre
fișierele și directoarele din ierarhia /sys.
- /sys/block
- Acest subdirector conține o legătură simbolică
pentru fiecare dispozitiv de bloc care a fost descoperit în sistem.
Legăturile simbolice indică directoarele
corespunzătoare din /sys/devices.
- /sys/bus
- Acest director conține câte un subdirector pentru fiecare
dintre tipurile de magistrale din nucleu. În interiorul
fiecăruia dintre aceste directoare există două
subdirectoare:
- devices
- Acest subdirector conține legături simbolice către
intrările din /sys/devices care corespund dispozitivelor
descoperite pe această magistrală.
- drivers
- Acest subdirector conține un subdirector pentru fiecare controlor
de dispozitiv care este încărcat pe această
magistrală.
- /sys/class
- Acest subdirector conține un singur nivel de subdirectoare
suplimentare pentru fiecare dintre clasele de dispozitive care au fost
înregistrate în sistem (de exemplu, terminale, dispozitive
de rețea, dispozitive de blocuri, dispozitive grafice, dispozitive
de sunet etc.). În interiorul fiecăruia dintre aceste
subdirectoare se află legături simbolice pentru fiecare
dintre dispozitivele din clasa respectivă. Aceste legături
simbolice se referă la intrările din directorul
/sys/devices.
- /sys/class/net
- Fiecare dintre intrările din acest director este o
legătură simbolică reprezentând unul dintre
dispozitivele de rețea reale sau virtuale care sunt vizibile
în spațiul de nume al rețelei al procesului care
accesează directorul. Fiecare dintre aceste legături
simbolice se referă la intrările din directorul
/sys/devices.
- /sys/dev
- Acest director conține două subdirectoare block/
și char/, care corespund dispozitivelor de blocuri
și, respectiv, de caractere din sistem. În interiorul
fiecăruia dintre aceste subdirectoare se află
legături simbolice cu nume de forma
major-ID:minor-ID, unde valorile ID corespund ID-ului major
și minor al unui anumit dispozitiv. Fiecare legătură
simbolică indică directorul sysfs pentru un
dispozitiv. Legăturile simbolice din interiorul /sys/dev
oferă astfel o modalitate ușoară de a căuta
interfața sysfs folosind ID-urile dispozitivelor returnate
de un apel la stat(2) (sau similar).
- Următoarea sesiune shell arată un exemplu din
/sys/dev:
-
$ stat -c "%t %T" /dev/null
1 3
$ readlink /sys/dev/char/1\:3
../../devices/virtual/mem/null
$ ls -Fd /sys/devices/virtual/mem/null
/sys/devices/virtual/mem/null/
$ ls -d1 /sys/devices/virtual/mem/null/*
/sys/devices/virtual/mem/null/dev
/sys/devices/virtual/mem/null/power/
/sys/devices/virtual/mem/null/subsystem@
/sys/devices/virtual/mem/null/uevent
- /sys/devices
- Acesta este un director care conține o reprezentare în
sistemul de fișiere a arborelui de dispozitive al nucleului, care
este o ierarhie de structuri dispozitiv din cadrul nucleului.
- /sys/firmware
- Acest subdirector conține interfețe pentru vizualizarea
și manipularea obiectelor și atributelor specifice
firmware-ului.
- /sys/fs
- Acest director conține subdirectoare pentru anumite sisteme de
fișiere. Un sistem de fișiere va avea un subdirector aici
numai dacă a ales să creeze în mod explicit acest
subdirector.
- /sys/fs/cgroup
- Acest director este utilizat în mod convențional ca punct de
montare pentru un sistem de fișiere tmpfs(5) care
conține puncte de montare pentru sistemele de fișiere
cgroups(7).
- /sys/fs/smackfs
- Directorul conține fișiere de configurare pentru SMACK LSM.
A se vedea fișierul sursă al nucleului
Documentation/admin-guide/LSM/Smack.rst.
- /sys/hypervisor
- [A se documenta]
- /sys/kernel
- Acest subdirector conține diverse fișiere și
subdirectoare care oferă informații despre nucleul în
funcțiune.
- /sys/kernel/cgroup/
- Pentru informații despre fișierele din acest director,
consultați cgroups(7).
- /sys/kernel/debug/tracing
- Punct de montare pentru sistemul de fișiere tracefs utilizat
de facilitatea ftrace a nucleului; (pentru informații despre
ftrace, consultați fișierul sursă al nucleului
Documentation/trace/ftrace.txt).
- /sys/kernel/mm
- Acest subdirector conține diverse fișiere și
subdirectoare care oferă informații despre subsistemul de
gestionare a memoriei din nucleu.
- /sys/kernel/mm/hugepages
- Acest subdirector conține câte un subdirector pentru fiecare
dintre dimensiunile imense ale paginilor pe care le acceptă
sistemul. Numele subdirectorului indică dimensiunea imensă a
paginii (de exemplu, hugepages-2048kB). În cadrul
fiecăruia dintre aceste subdirectoare se află un set de
fișiere care pot fi utilizate pentru a vizualiza și
(în unele cazuri) pentru a modifica parametrii asociați cu
acea dimensiune enormă a paginii. Pentru mai multe
informații, consultați fișierul sursă al
nucleului Documentation/admin-guide/mm/hugetlbpage.rst.
- /sys/module
- Acest subdirector conține câte un subdirector pentru fiecare
modul care este încărcat în nucleu. Numele
fiecărui director este numele modulului. În fiecare dintre
subdirectoare, pot exista următoarele fișiere:
- În fiecare dintre aceste subdirectoare, pot exista
următoarele subdirectoare:
- drivers
- [A se documenta]
- holders
- [A se documenta]
- notes
- [A se documenta]
- parameters
- Acest director conține un fișier pentru fiecare parametru al
modulului, fiecare fișier conținând valoarea
parametrului corespunzător. Unele dintre aceste fișiere sunt
inscriptibile, permițând secțiuni
- sections
- Acest subdirector conțin fișiere cu informații despre
secțiunile modulului. Aceste informații sunt utilizate
în principal pentru depanare.
- [A se documenta]
- /sys/power
- [A se documenta]
Această pagină de manual este incompletă,
posibil inexactă și este genul de lucru care trebuie
actualizat foarte des.
proc(5), udev(7)
P. Mochel. (2005). The sysfs filesystem. Lucrările
Simpozionului Linux de la Ottawa din 2005.
Fișierul sursă al nucleului
Documentation/filesystems/sysfs.txt și diverse alte
fișiere din Documentation/ABI și
Documentation/*/sysfs.txt.
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.