Sysfs

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Sysfs je v informatice virtuální systém souborů, který je zahrnut v jádře Linuxu od verze 2.6. Sysfs exportuje informace o zařízeních a ovladačích z jádra systému do uživatelského prostoru pomocí adresářového stromu umístěného v adresáři /sys a je používán i pro konfiguraci systému. Sysfs je podobný mechanismu sysctl, který je obsažen v BSD systémech, ale je implementován jako systém souborů namísto odděleného mechanismu.

Historie

Během vývojové řady 2.5 byl v jádře Linuxu představen model ovladačů, který opravoval několik následujících nedostatků verze 2.4:

* neexistence jednotné metody reprezentace vztahů typu ovladač-zařízení * neexistence žádného obecně použitelného mechanismu hotplug, tedy připojení či odpojení zařízení za běhu systému * procesní souborový systém procfs byl přeplněn spoustou informací nesouvisejících s procesy

Sysfs je navržen pro export informací, které jsou zahrnuty ve stromu zařízení, které by nadělaly nepořádek v procfs. Kód napsal Patrick Mochel. +more Maneesh Sonip později napsal záplatu podpůrného zásobníku sysfs, která redukovala využití paměti na rozsáhlejších systémech.

Systém sysfs je vnitřní systém souborů umístěný v paměti, který byl původně založen na ramfs. Ramfs byl napsán zhruba v době kdy byl Linux verze 2. +more4. 0 stabilizován. To, o jak elegantně vyřešený úkol šlo, se ukázalo tím, jak jednoduché bylo napsat jednoduchý systém souborů za použití tehdy nové VFS vrstvy. Byl velmi prostý a díky použití VFS poskytoval dobrý základ, ze kterého se odvozovalo mnoho dalších vnitřních systémů souborů umístěných v paměti.

sysfs byl původně nazýván ddfs a byl vytvořen pro odstranění nedostatků nového modelu ovladačů, který byl v té době napsán. Předtím bylo ladění chyb prováděno za použití procfs, který se používal k vygenerování stromu zařízení. +more S důraznými pobídkami Linuse Torvaldse byl převeden na nový systém souborů založený na ramfs, nový model ovladačů byl začleněn do linuxového jádra ve verzi kolem 2. 5. 1 a změnil název na driverfs, aby se název stal o něco více popisný.

Během dalšího roku vývoje verze 2. 5 se infrastrukturální kapacita nového modelu ovladačů stala společně s driverfs, využitelná i pro další subsystémy. +more Byly vyvinuty kobjects za účelem poskytování centrální mechanismu pro správu objektů a driverfs byl opětovně přejmenován na sysfs, aby reprezentoval jeho nezávislost na systému.

Technický přehled

Pro každý objekt přidaný do stromu modelů ovladačů (ovladače, zařízení obsahující zařízení třídy) jsou v sysfs vytvářeny adresáře. Vztah rodič-potomek je zobrazen pomocí podadresářů v /sys/devices/ (odráží fyzické rozvržení). +more Podadresář /sys/bus/ obsahuje symbolické odkazy, která zobrazují, jak jednotlivá zařízení náleží do jednotlivých sběrnic. Adresář /sys/class/ zobrazuje zařízení seskupené podle tříd, jako je například síť, zatímco /sys/block/ obsahuje bloková zařízení.

For device drivers and devices, attributes may be created. These are simple files; the rule is that they should only contain a single value and/or allow a single value to be set (unlike some files in procfs, which need to be heavily parsed). +more These files show up in the subdirectory of the device driver respective to the device. Using attribute groups, a subdirectory filled with attributes may also be created.

Vybrané sběrnice

PCI

Exportuje informace o PCI zařízeních.

USB

Obsahuje jak USB zařízení, tak i USB hostitele.

S/390 sběrnice

Protože architektura S/390 obsahuje zařízení, která nejsou nikde jinde obsažena, byly vytvořeny speciální sběrnice: * css: Obsahuje podkanály (v současné době jediný ovladač poskytovaný pro I/O podkanály). * ccw: Obsahuje kanál připojených zařízení (ovládaný pomocí CCW). +more * ccwgroup: Uměle vytvořené zařízení vytvořené uživatelem a sestávající z ccw zařízení, nahrazuje některé z funkcí chandev verze 2. 4 * iucv: Uměle vytvořená zařízení, jako například netiucv, která využívají IUCV prostředí VM.

Sysfs a uživatelský prostor

Sysfs je používán několika nástroji, které spolu s jádrem Linuxu zpracovávají informace o hardware a jejich ovladačích, jako například udev nebo HAL. Skripty byly napsány tak, aby mohly přistupovat k informacím, které byly předtím získány za pomoci procfs. +more Některé další skripty konfigurují ovladače zařízení a zařízení jako takové prostřednictvím jejich vlastností.

Související články

Souborový systém * configfs * kobject * sysctl - alternativní způsob exportu konfigurací používaných systémy BSD

Externí odkazy

[url=http://www. abclinuxu. +morecz/clanky/system/sysfs-brana-do-jadra]Sysfs - brána do jadra na abclinuxu. cz[/url] * [url=http://lwn. net/Articles/31185/]Driver model overview from the LWN porting to 2. 6 series[/url] * [url=http://lwn. net/Articles/54651/]kobjects and sysfs from the LWN porting to 2. 6 series[/url] * [url=http://wiki. debian. org/ramfs]Ramfs[/url] * [url=https://web. archive. org/web/20151208165134/https://www. kernel. org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel. pdf]The sysfs Filesystem, OLS'05[/url] .

Kategorie:Linux Kategorie:Souborové systémy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top