多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 服務(wù)器 > 辛星淺析Linux中的devfs、sysfs和udev

辛星淺析Linux中的devfs、sysfs和udev

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-04-23 08:08:42 閱讀次數(shù):2725次

    Linux下有專(zhuān)門(mén)的文件系統(tǒng)用來(lái)對(duì)裝備進(jìn)行管理,devfs和sysfs就是其中的兩種。在2.6內(nèi)核之前使用的是devfs,而devfs掛載于/dev目錄下,提供了1種類(lèi)似于文件的方法來(lái)管理位于/dev目錄下的所有裝備,我們知道/dev目錄下的每個(gè)文件對(duì)應(yīng)的都是1個(gè)裝備,而且這些特殊文件是位于根文件系統(tǒng)上的,在制作文件系統(tǒng)的時(shí)候我們就已建立了這些裝備文件,因此通過(guò)操作這些特殊文件,可以實(shí)現(xiàn)與內(nèi)核進(jìn)行交互。

    但是devfs文件系統(tǒng)有1些缺點(diǎn):(1)比如不肯定的裝備映照,有時(shí)候1個(gè)裝備映照的裝備文件可能不同,比如我們的U盤(pán)可能對(duì)應(yīng)sda也可能對(duì)應(yīng)sdb。(2)比如沒(méi)有足夠的主/輔裝備號(hào),當(dāng)裝備過(guò)量的時(shí)候,這會(huì)成為1個(gè)問(wèn)題。(3)/dev目錄下文件太多而且不能表示當(dāng)前系統(tǒng)上的實(shí)際裝備。(4)命名不夠靈活,不能任意指定。

   

   在Linux2.6以后,引入了新的文件系統(tǒng)sysfs,它掛載于/sys目錄下,跟devfs1樣,它也是1個(gè)虛擬文件系統(tǒng),也是用來(lái)對(duì)系統(tǒng)的裝備進(jìn)行管理的,它把實(shí)際鏈接到系統(tǒng)上的裝備和總線組織成1個(gè)分級(jí)的文件,用戶空間的程序一樣可以利用這些信息以實(shí)現(xiàn)和內(nèi)核的交互,該文件系統(tǒng)是當(dāng)前系統(tǒng)上實(shí)際裝備樹(shù)的1個(gè)直觀反應(yīng),他是通過(guò)kobject子系統(tǒng)來(lái)建立這個(gè)信息的,當(dāng)1個(gè)kobject被創(chuàng)建的時(shí)候,對(duì)應(yīng)的文件和目錄卡也就被建立了,位于/sys下的相干目錄,既然每一個(gè)裝備在sysfs中都有唯1對(duì)應(yīng)的目錄,那末也就能夠被用戶空間讀寫(xiě)了。

   用戶空間的工具udev就是利用了sysfs提供的信息來(lái)實(shí)現(xiàn)所有devfs的功能的,但是不同的是udev是運(yùn)行在用戶空間的,而devfs是運(yùn)行在內(nèi)核空間,而且udev不存在devfs那些先天的缺點(diǎn)。因此,sysfs是未來(lái)的發(fā)展方向。

   

   udev是1個(gè)工具,他能夠根據(jù)系統(tǒng)中的硬件裝備的狀態(tài)更新裝備文件,包括裝備文件的創(chuàng)建、刪除等等。裝備文件通常放置在/dev目錄下,使用udev后,在/dev下面只包括系統(tǒng)中真實(shí)存在的裝備。它是和硬件平臺(tái)無(wú)關(guān)的,位于用戶空間,需要內(nèi)核sysfs和tmpfs的支持,sysfs位udev提供裝備入口和uevent通道,而tmpfs為udev裝備文件提供寄存空間。

   udev完全在用戶態(tài)工作,利用裝備加入或移除時(shí)內(nèi)核所發(fā)送的hotplug事件來(lái)工作。關(guān)于裝備的詳細(xì)信息是由內(nèi)核輸出到位于/sys的sysfs文件系統(tǒng)的。所有的裝備命名策略、權(quán)限控制和事件處理都是在用戶態(tài)下完成的。但是devfs則是位于內(nèi)核的1部份工作的。

     

  udev是用來(lái)管理/dev的,不是用來(lái)加載內(nèi)核驅(qū)動(dòng)的,因此udev不會(huì)在不存在的節(jié)點(diǎn)被打開(kāi)的時(shí)候自動(dòng)加載驅(qū)動(dòng)。系統(tǒng)中所有的裝備都應(yīng)當(dāng)產(chǎn)生hotplug事件、加載適當(dāng)?shù)尿?qū)動(dòng),而udev將會(huì)注意到這1點(diǎn)并且為它創(chuàng)建對(duì)應(yīng)的裝備節(jié)點(diǎn),如果你我們不想讓所有的裝備驅(qū)動(dòng)停留在內(nèi)存當(dāng)中,我們應(yīng)當(dāng)使用其他的東西來(lái)管理我們的模塊,它不是udev的工作。devfs使用的方法曾致使了大量無(wú)用的modprobe嘗試,以此程序探測(cè)裝備是不是存在。每一個(gè)摸索性檢測(cè)都會(huì)新建1個(gè)運(yùn)行modprobe的進(jìn)程,而幾近所有這些都是無(wú)用的。

    devfs的命名是不被建議而且不被官方支持的,由于它所使用的簡(jiǎn)單枚舉裝備的方式在裝備可能被隨時(shí)加入或刪除的時(shí)候確切是1個(gè)比較笨的方法。而且這些編號(hào)帶給我們的只有麻煩,而且它們其實(shí)不能用來(lái)肯定裝備。



   當(dāng)內(nèi)核檢測(cè)到在系統(tǒng)中出現(xiàn)了新裝備以后,內(nèi)核會(huì)在sysfs文件系統(tǒng)中為該裝備生成1項(xiàng)新的記錄,1般sysfs文件系統(tǒng)會(huì)被mount到/sys目錄中。新紀(jì)錄是以1個(gè)或多個(gè)文件或目錄的方式來(lái)表示,每一個(gè)文件都包括有特定的信息。udev在系統(tǒng)中是以守護(hù)進(jìn)程的方式udevd在運(yùn)行,它通過(guò)某種途徑檢測(cè)到新裝備的出現(xiàn),通過(guò)查找裝備對(duì)應(yīng)的sysfs中的記錄得到裝備的1些信息。udev會(huì)根據(jù)/etc/udev/udev.conf文件中的udev_rules指定的目錄,逐一檢查該目錄下的文件,這個(gè)目錄的文件都是針對(duì)某類(lèi)或某個(gè)裝備應(yīng)當(dāng)實(shí)施甚么措施的規(guī)則文件。udev讀取文件是依照文件名的ASCII字母順序來(lái)讀取的,如果udev1旦找到了與新加入的裝備匹配的規(guī)則,udev就會(huì)根據(jù)規(guī)則定義的措施對(duì)新裝備進(jìn)行配置。同時(shí)不再讀后續(xù)的規(guī)則文件。

 

    至于udev不管裝備連接的順序而保持1個(gè)統(tǒng)1的裝備名,udev通過(guò)對(duì)內(nèi)核產(chǎn)生的裝備名增加別名的方式來(lái)到達(dá)上述目的的。udev是用戶模式程序,不會(huì)更改內(nèi)核的行動(dòng)。因此,內(nèi)核仍然可以產(chǎn)生裝備名比如sda、sdb等等。但是udev可以根據(jù)裝備的其他信息,比如總線信息也就是bus、生產(chǎn)商也就是vendor等不同來(lái)辨別不同的裝備,并且產(chǎn)生裝備文件。udev只要為這個(gè)裝備文件取1個(gè)固定的文件名就能夠解決這個(gè)問(wèn)題。在后續(xù)對(duì)裝備的操作中,只要援用新的裝備名就能夠了。但是為了保證最大限度的兼容,1般淶水,新裝備總是作為1個(gè)對(duì)內(nèi)核自動(dòng)產(chǎn)生的裝備名的符號(hào)鏈接來(lái)使用的。

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 老女人做爰免费的视频 | 国产成人一区二区三区视频免费 | 国产一区二区三区视频在线观看 | 91精品久久久久久久久久小网站 | 欧美福利网址 | 欧美午夜网 | 青青草久热精品视频在线观看 | 日韩四区 | 免费观看亚洲视频 | 亚洲图片欧美小说 | 另类小说图片 | 国产资源中文字幕 | 日韩淫片 | 亚洲国产精品久久久久久网站 | 精品的一区二区三区 | 欧美一级毛片不卡免费观看 | 久草在线播放视频 | 自由成熟的性色视频免费观看 | 春色吧| 性欧美video视频另类 | 女人天堂网在线观看2019 | 日本在线视频网 | 国产成人久久一区二区三区 | 韩国成人毛片aaa黄 韩国春性xxxx猛交 | 一区二区三区久久精品 | 最近免费中文字幕大全视频 | 欧美偷拍自拍视频 | 国产精品看片 | 免费女人18毛片a级毛片视频 | 在线亚洲+欧美+日本专区 | 三级性生活视频 | 久久久久在线 | 男女羞羞视频免费 | 国产黄色免费在线观看 | 亚洲码在线中文在线观看 | 亚洲欧美成人永久第一网站 | 国产成人一区二区三区在线视频 | 国产日韩精品欧美一区 | 午夜影院免费观看 | 在线天堂视频 | 一区二区三区在线视频观看 |