Udev

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

udev je v informatice název subsystému, který řeší správu zařízení pro jádro Linuxu. Obsluhuje připojovaná zařízení reprezentovaná speciálními soubory v adresáři /dev a stará se o navazující akce v uživatelském prostoru potřebné při přidávání nebo odebírání zařízení za chodu (tzv. hot swapping), například načtení firmware. Je nástupcem systémů devfs a hotplug.

Historie

udev byl představen v Linuxu 2.5.

Systém využívající nové verze udevu nenabootuje s jádrem starším než 2.6.13, dokud udev není vypnut a klasická složka /dev není použita pro přístup zařízení.

V dubnu 2012 byl zdrojový kód udev sloučen do systemd.

Přehled

Na rozdíl od tradičních unixových systémů, kde připojená zařízení ve složce /dev byla statická sada souborů, linuxový udev správce zařízení dynamicky poskytoval pouze soubory zařízení, aktuálně připojených v systému. Ačkoliv je devfs využívaný k podobné funkcionalitě, Greg Kroah-Hartman cituje několik důvodů pro upřednostnění implementace udevu před implementací devfs.

* udev podporuje trvalé pojmenování zařízení, nezávislých na pořadí, ve kterém jsou zařízení připojena k systému. Výchozí nastavení udevu poskytuje trvalé názvy pro úložná zařízení. +more Jakýkoliv pevný disk je rozpoznán podle svého jednoznačného ID, jména disku a fyzického umístění na zařízení, ke kterému je připojen. * udev pracuje výhradně v uživatelském prostoru, na rozdíl od devfs prostoru jádra. Jedním z důsledků je, že udev přesunul politiku pojmenování z jádra a může tak spustit libovolný program ke složení názvu zařízení z vlastností zařízení dříve, než se vytvoří uzel, celý proces je také přerušitelný a běží s nižší prioritou.

Funkčnost

udev je obecný správce zařízení. Je spuštěn jako démon v linuxovém systému a naslouchá skrze netlinkový socket ueventu, že jádro vyslalo signál o inicializaci nového zařízení nebo jeho odebrání ze systému. +more Systém poskytuje sadu pravidel, která se shodují s exportovanými hodnotami události a vlastnostmi objeveného zařízení. Odpovídající pravidlo se dle zařízení bude jmenovat, vytvoří pro něj soubor a spustí konfigurační programy pro nastavení a konfiguraci.

udev pravidla mohou odpovídat vlastnostem jako je jádro subsystému, název jádra zařízení, fyzickému umístění zařízení nebo vlastnostem jako sériové číslo. Pravidla mohou požadovat také informace z externích programů k pojmenování zařízení nebo zadat vlastní název, který bude vždy stejný bez ohledu na pořadí, v jakém jsou k systému připojeny.

V minulosti bylo běžným způsobem jak používat udev v linuxových systémech nechat posílat události skrz socket HALu. Například HAL oznámí ostatnímu běžícímu softwaru v systému, že nový hardware je připojen vydáním broadcastové zprávy po D-Bus IPC pro všechny zúčastněné procesy. +more Tímto způsobem desktopy jako GNOME nebo K Desktop Environment (KDE) mohou spustit správce souborů k prohlížení obsahu nově připojených USB flash disků nebo paměťových SD karet.

V polovině roku 2011 byl HAL odmítnut většinou linuxových distribucí a stejně tak desktopovými prostředí KDE, GNOME a XFCE. Funkcionalita dříve obsažená v HAL byla integrována do samotného udev nebo přesunuta do odděleného softwaru jako je udisks a UPower.

Architektura

Systém je rozdělen do tří částí:

* Knihovna libudev, která povoluje přístup k informacím o zařízení. * Démon udevd, v uživatelském prostoru obsluhující virtuální složku /dev * Administrativní příkaz udevadm pro diagnostiku.

Systém dostane volání z jádra skrze netlinkový socket. Dřívější verze za tímto účelem využívaly hotplugu, přidávající odkaz na sebe ve složce /etc/hotplug. +mored/default.

Autoři

udev byl vyvinut Gregem Kroah-Hartmanem a Kayem Sieversem, s velkou pomocí Dana Stekloffa.

Související články

devd - Démon (software) změny stavu zařízení pro FreeBSD. * eudev - Verze udev oddělená Gentoo vývojáři volného systemd. +more * mdev - Minimální udev náhrada za BusyBox.

Odkazy

Reference

Externí odkazy

[url=http://cgit. freedesktop. +moreorg/systemd/systemd/tree/src/udev]udev source code[/url] * [url=http://www. reactivated. net/writing_udev_rules. html]Discussion of udev rules[/url] * [url=http://www. kroah. com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003. pdf]udev - A Userspace Implementation of devfs by Greg Kroah-Hartman[/url] * [url=http://pysdm. sourceforge. net/]PySDM (Storage Device Manager and udev rule writer)[/url] * [url=https://web. archive. org/web/20140107105607/http://www. linux. com/news/hardware/peripherals/180950-udev]Introduction to device management[/url] * [url=http://lwn. net/Articles/331818/]LWN article about devtmpfs[/url] * [url=http://git. busybox. net/busybox/plain/docs/mdev. txt]BusyBox documentation for mdev[/url].

Kategorie:Linux Kategorie:Software pro Linux Kategorie:Konfigurace softwaru Kategorie:Systémový software Kategorie:Svobodný software

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