System plików Linux Sysfs

System plików Linux Sysfs
W systemie Linux każdy katalog ma swój własny cel dla swojego istnienia. To samo dotyczy Sysfs informator. Sysfs Zgłoszenia są wykorzystywane przez jądro do eksportowania informacji do procesów w domenie użytkownika i do uzyskania danych wejściowych od użytkownika. Te wpisy przechodzą przez system plików, aby znaleźć zarejestrowane funkcje show i magazynu.

Wpisy w Sysfs Można sortować na podstawie typu magistrali, typu obiektu, typu urządzenia, relacji rodzic/dzieci itp. SymLinks pomagają w zmniejszeniu zwolnień.

Co obejmiemy?

W tym artykule zbadamy Sysfs system plików w Linux. Zacznijmy od przeglądu Sysfs.

Przegląd Sysfs System plików

SYSFS został wprowadzony w Linux po raz pierwszy w jądrze w wersji 2.6.0.

Sysfs to wirtualny system plików w Linux. Oznacza to, że pliki Sysfs Nie przeżywaj na dysku ani żadnych fizycznych mediach. Jednak zawartość systemów plików jest przechowywana w pamięci. Pierwotnie, Sysfs był oparty na RAMFS i nazywał się DDFS (system plików sterownika urządzenia).

SYSFS wysyła dane do miejsca użytkownika za pomocą wirtualnych plików. Dane te obejmują dane o różnych podsystemach jądra, urządzeniach sprzętowych i powiązanych sterownikach urządzeń.

Zazwyczaj, Sysfs jest zamontowany na /Sys partycja i jest automatycznie montowana przez system. Można go również montować ręcznie na rozruchu za pomocą fstab plik:

$ Mount -t sysfs sysfs /sys

Z poprzedniego polecenia zauważamy, że Sysfs jest zamontowany na /sys. To jest standardowa lokalizacja, w której Sysfs jest zamontowany.

Hierarchia Sysfs

SYSFS to klaster plików, folderów i symbolicznych. Większość plików w środku /Sys są tylko do odczytu. Niektóre pliki są również zapisane, co pomaga w modyfikowaniu zmiennych jądra. Symlinki są szeroko stosowane do łączenia wpisów w całym drzewie systemu plików.

Zalecamy użycie polecenia „Tree”, aby zobaczyć pełny widok tego katalogu. W naszym systemie polecenie „Tree” pokazuje w sumie 9480 katalogów i 38635 plików, które są obszernym zbiorem plików i katalogów.

Na najwyższym poziomie, 11 głównych podkatalogów jest tworzonych w rozruchu systemowym. Te podkatalogy są reprezentacjami głównych podsystemów zarejestrowanych w Sysfs. Po uruchomieniu te podsystemy są zarejestrowane w rdzeniu Kobject. Po zakończeniu inicjalizacji zaczynają znaleźć obiekty zarejestrowane w odpowiednich katalogach.

Pliki i podkładki systemu plików /SYS

Zobaczmy teraz kilka plików i podkatalog /Sys system plików i omów ich podstawowy cel. Najważniejsze wirtualne podkatalog na najwyższym poziomie /Sys to blok, autobus, hiperwizor, klasa, urządzenia, jądro, oprogramowanie układowe, moduł i zasilanie.

1. /sys/blok: Ma jedno symboliczne i katalogiczne dla każdego urządzenia blokowego odkryte w systemie. Te symlinki wskazują na ich katalogi w ramach katalogu /sys/urządzenia. W środku znajduje się wiele podkładników:

Te urządzenia blokowe, pokazane w kolorze cyjanowym, mają atrybuty zawierające informacje o partycjach. Przykładami tych substataków są SDA, SDB itp.

2. /sys/autobus: Autobus to średnio/kanał między procesorem a urządzeniem lub urządzeniami. Przykłady typów magistrali obejmują PCI, PCMCIA, SCSI lub USB. Dla każdego typu autobusu w jądrze znajduje się podkwasek, który znajduje się w /sys/autobus informator. Każdy taki subkreatory ma kolejne dwa dodatkowe podkreślenia: urządzenia i sterowniki.

i) Urządzenia: zawiera symlinki do wpisów w /sys /urządzenia (globalne drzewo urządzenia) dla każdego urządzenia odkrytego w magistrecie.

ii) Sterownik: Zawiera podwodnik dla każdego sterownika urządzenia załadowanego do magistrali. Te subkredyty zawierają atrybuty do zarządzania parametrów sterownika i symbolicznych.

3. /sys/klasa: Klasa to widok na wysokim poziomie urządzenia. Ten katalog zawiera ponadto jeszcze jeden poziom podkatalogów dla każdej klasy urządzenia zarejestrowanej w systemie. Klasy te mogą być terminalami, urządzeniami sieciowymi, urządzeniami dźwiękowymi itp. Te podkatalogy zawierają symlinki dla każdego urządzenia w klasie. Te symlinki wskazują na wpisy w /sys/urządzenia informator.

4. /sys/class/net: Każde symboliczne łącza w tym katalogu reprezentuje jedno z rzeczywistych lub wirtualnych urządzeń sieciowych, które są widoczne w przestrzeni nazwy sieciowej procesu dostępu do katalogu. Każdy taki symbol wskazuje na wpisy w /sys/urządzenia informator.

5. /sys/urządzenia: /sys/urządzenie Katalog zawiera całe drzewo urządzenia jądra w widoku systemu plików. Zawiera każde fizyczne urządzenie znalezione przez typy magistrali zarejestrowane w jądrze.

6. /SYS/oprogramowanie układowe: Zawiera interfejsy do zarządzania obiektami i atrybutami, które są specyficzne dla oprogramowania układowego. Tutaj oprogramowanie układowe to kod wykonywany podczas uruchamiania systemu. Na przykład platformą może być BIOS x86, OpenFirmware i IA64. Jako przykład jest wiele plików w folderze EFI.

Przykładowy wyjście:

$ ls oprogramowanie układowe/efi/
config_table esrt fw_vendor runtime Systab
efivars fw_platform_size mok-varibles vars map

Każdy z tych plików zawiera pewną wartość dla parametru.

7. /sys/jądro: Istnieje wiele plików i folderów w tym podlokdaterecie, które podają dane dotyczące aktywnego jądra.

8. /sys/moduł: Dla każdego modułu załadowanego do jądra istnieje podkazkodoryzowanie, który znajduje się w tym katalogu. Nazwanie tych substaterejów opiera się na nazwie odpowiedniego jądra. W każdym katalogu modułów znajduje się subkredyt o nazwie sekcje, które zawierają atrybuty o sekcjach modułu. Wiele plików jest jak Coresize, Initsize, InitState, Srcversion itp. Podobnie, istnieje wiele podlokdaryzmów, takich jak sterowniki, uchwyty, notatki, parametry itp.

9. /SYS/Power: Reprezentuje podsystem mocy i ma tylko dwa atrybuty: dysk i stan. Metoda, według której system będzie uśpnia/zawiesić stan, jest kontrolowana przez „dysk”. „Stan” pozwala na uzyskanie stanu niskiej mocy.

Wniosek

W tym przewodniku dowiedzieliśmy się o systemach plików SYSFS w systemie Linux, a także widzieliśmy różne podwozie i ich cele. SYSFS zawiera ogromną ilość danych. Więcej informacji można znaleźć na stronach Man, a także na tej stronie, która jest hostowana na jądrze.org