它主要由 hotplug, udev, D-BUS, HAL, gamin 幾個(gè)組件組成。
hotplug 是內(nèi)核的一部分,在設(shè)備插入或拔出時(shí),自動(dòng)進(jìn)行配置內(nèi)核狀態(tài)。
udev 是 hotplug 的一部分,負(fù)責(zé)維護(hù)動(dòng)態(tài)的 /dev 目錄,使 /dev 目錄的內(nèi)容與當(dāng)前系統(tǒng)狀態(tài)一致。
D-BUS 可以在應(yīng)用程序之間傳送消息,例如可以把“連接上一臺(tái)打印機(jī)”的消息發(fā)送給 HAL。
HAL 可以集成多種來(lái)源的信息,包括內(nèi)核消息,配置文件等等,然后根據(jù) D-BUS 的消息進(jìn)行操 作。
gamin 是改進(jìn)的文件狀態(tài)監(jiān)視程序。例如插 入優(yōu)盤。hotplug 自動(dòng)加載需要的模塊,udev 創(chuàng)建相應(yīng)的 /dev/sda1 等等節(jié)點(diǎn),hotplug 向 HAL 發(fā)消息,HAL 收到消息后,根據(jù)配置文件,它運(yùn)行 fstab-sync 來(lái)修改 fstab,創(chuàng)建 /media 的子目錄作為掛載點(diǎn)。gamin 檢測(cè)到 fstab 發(fā)生變化之后,通知桌面系統(tǒng)。桌面系統(tǒng)在 “計(jì)算機(jī)” 項(xiàng)目中建立驅(qū)動(dòng)器圖標(biāo)。在拔出優(yōu)盤時(shí),與上面的過(guò)程類似,模塊被卸載,設(shè)備文件被刪除,fstab 中相應(yīng)條目被刪除,/media 目錄下的掛載點(diǎn)也被刪除了。
這個(gè)過(guò)程非常有用,不同的設(shè)備都可以用這個(gè)過(guò)程,例如音樂(lè) CD 放入光驅(qū)后,HAL 可以啟動(dòng)播放程序或者抓軌程序等等。另一個(gè)最重要的用途,在 redhat magazine 第三期中提到了,是 NetworkManager。因?yàn)槭褂靡苿?dòng)無(wú)線通訊的用戶可能會(huì)頻繁更換網(wǎng)絡(luò)的連接方式,只有用 hotplug 和 hal 等協(xié)作,才可能快速地作出反應(yīng),動(dòng)態(tài)切換網(wǎng)絡(luò)配置。
新聞熱點(diǎn)
疑難解答
圖片精選