Linux: proc / sys / kernel vs / sys / kernel

16

Wiem, że zarówno w typowym systemie Linux, jak /proci /syswirtualne struktury plików z pseudoplikami, służą do komunikacji z jądrem, ale jaka jest różnica między /proc/sys/kernel, a /sys/kernel?

Na przykład weź /sys/kernel/uevent_seqnum. Jestem pewien, że jest to wysoce ezoteryczna opcja, której nikt nie powinien zmieniać, ale mimo to, co to jest i co robi?

Jeśli istnieje oficjalny lub scentralizowany manstronę dla rzeczy w /sys/kernel, (jak man 5 procdla proc, na przykład), a cytaty z tych źródeł będą mile widziane i pożądane.

Evan Carroll
źródło
powiązane: Jaka jest różnica między procfs a sysfs? .
Ciro Santilli 29 改造 中心 法轮功 六四 事件

Odpowiedzi:

21

Zasadniczo / proc i / sys są takie same.

sysfs został dodany do jądra 2.5 lub 2.6 z powodu bałaganu w procfs

Procfs miał jedynie przechowywać informacje o procesie. w końcu wszystko zaczęło się mieszać w proc i stworzył kręty labirynt z danymi urządzenia utkwionymi w różnych miejscach w całym miejscu. Tymczasem sysfs został zaimplementowany w celu segmentacji danych urządzenia z procfs.

W szczególności / sys przechowuje bardziej szczegółowe informacje (pozycja węzłów faktycznie reprezentuje hierarchię urządzeń według podsystemu) informacji o procesie urządzenia. Dla każdego obiektu w modelu sterownika tworzony jest katalog. Struktura pliku urządzenia to:

/sys/devices  - devices by physical layout
/sys/bus      - symbolic links to devices
/sys/block    - devices by block
/sys/class    - devices by class

W systemie lokalnym możesz znaleźć stronę podręcznika man pod adresem man sysfsi informacje o modyfikowaniu parametrów jądra w / proc / sys za pomocąman sysctl

Jeśli chcesz uzyskać więcej informacji o / sys, możesz przejrzeć dokumentację systemu plików sysfs Linux na kernel.org [pdf] i Documentation / sysfs.txt w źródle jądra.

Greg Buehler
źródło