日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

devfs、sysfs、udev讓你全方位認(rèn)識(shí)

出處:互聯(lián)網(wǎng)    發(fā)布于:2011-09-04 15:37:26

  一、devfs

  linux下有專門的文件系統(tǒng)用來對(duì)設(shè)備進(jìn)行管理,devfs和sysfs就是其中兩種。

  在2.6內(nèi)核以前一直使用的是devfs,devfs掛載于/dev目錄下,提供了一種類似于文件的方法來管理位于/dev目錄下的所有設(shè)備,我們知道/dev目錄下的每一個(gè)文件都對(duì)應(yīng)的是一個(gè)設(shè)備,至于當(dāng)前該設(shè)備存在與否先且不論,而且這些特殊文件是位于根文件系統(tǒng)上的,在制作文件系統(tǒng)的時(shí)候我們就已經(jīng)建立了這些設(shè)備文件,因此通過操作這些特殊文件,可以實(shí)現(xiàn)與內(nèi)核進(jìn)行交互。但是devfs文件系統(tǒng)有一些缺點(diǎn),例如我的U盤可能對(duì)應(yīng)sda有可能對(duì)應(yīng)sdb;沒有足夠的主/輔設(shè)備號(hào),當(dāng)設(shè)備過多的時(shí)候,顯然這會(huì)成為一個(gè)問題;/dev目錄下文件太多而且不能表示當(dāng)前系統(tǒng)上的實(shí)際設(shè)備;命名不夠靈活,不能任意指定等等。

  devfs是一種虛擬文件系統(tǒng)。只是在需要時(shí)才動(dòng)態(tài)地生成需要的設(shè)備文件。

  內(nèi)核添加 devfs 支持后,內(nèi)核開始啟動(dòng),設(shè)備驅(qū)動(dòng)程式開始向系統(tǒng)的剩余部分注冊(cè)設(shè)備,基于內(nèi)核的設(shè)備驅(qū)動(dòng)程式通過調(diào)用 register_blkdev()或 register_chrdev() 向系統(tǒng)的其余部分注冊(cè)設(shè)備。

  二、sysfs

  正因?yàn)樯鲜鲞@些問題的存在,在linux2.6內(nèi)核以后,引入了一個(gè)新的文件系統(tǒng)sysfs,它掛載于/sys目錄下,跟devfs一樣它也是一個(gè)虛擬文件系統(tǒng),也是用來對(duì)系統(tǒng)的設(shè)備進(jìn)行管理的,它把實(shí)際連接到系統(tǒng)上的設(shè)備和總線組織成一個(gè)分級(jí)的文件,用戶空間的程序同樣可以利用這些信息以實(shí)現(xiàn)和內(nèi)核的交互,該文件系統(tǒng)是當(dāng)前系統(tǒng)上實(shí)際設(shè)備樹的一個(gè)直觀反應(yīng),它是通過kobject子系統(tǒng)來建立這個(gè)信息的,當(dāng)一個(gè)kobject被創(chuàng)建的時(shí)候,對(duì)應(yīng)的文件和目錄也就被創(chuàng)建了,位于/sys下的相關(guān)目錄下,既然每個(gè)設(shè)備在sysfs中都有對(duì)應(yīng)的目錄,那么也就可以被用戶空間讀寫了。很多用戶的空間的工具就是利用了就是利用了sysfs提供的信息來實(shí)現(xiàn)所有devfs的功能的,但是udev運(yùn)行在用戶空間中,而devfs卻運(yùn)行在內(nèi)核空間,這樣很顯然,sysfs是以后發(fā)展著重要把握的方向。

  sysfs 文件系統(tǒng)有通常的樹結(jié)構(gòu), 反映它代表的 kobjects 的層次組織。 但是內(nèi)核中對(duì)象間的關(guān)系常常比那個(gè)更加復(fù)雜。 例如, 一個(gè) sysfs 子樹 (/sys/devices )代表所有的系統(tǒng)已知的設(shè)備, 而其他的子樹( 在 /sys/bus 之下 )表示設(shè)備驅(qū)動(dòng)。 這些樹, 但是, 不代表驅(qū)動(dòng)和它們所管理的設(shè)備間的關(guān)系。 展示這些附加關(guān)系需要額外的指針, 指針在 sysfs 中通過符號(hào)連接實(shí)現(xiàn)。

  The top level sysfs directory looks like:

  block/

  bus/

  class/

  devices/

  firmware/

  net/

  fs/

  devices/ contains a filesystem representation of the device tree. It maps

  directly to the internal kernel device tree, which is a hierarchy of

  struct device.

  bus/ contains flat directory layout of the various bus types in the

  kernel. Each bus's directory contains two subdirectories:

  devices/

  drivers/

  devices/ contains symlinks for each device discovered in the system

  that point to the device's directory under root/.

  drivers/ contains a directory for each device driver that is loaded

  for devices on that particular bus (this assumes that drivers do not

  span multiple bus types)。

  fs/ contains a directory for some filesystems. Currently each

  filesystem wanting to export attributes must create its own hierarchy

  below fs/ (see ./fuse.txt for an example)。

  三、udev

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

  Linux 傳統(tǒng)上使用靜態(tài)設(shè)備創(chuàng)建方法,因此大量設(shè)備節(jié)點(diǎn)在 /dev 下創(chuàng)建(有時(shí)上千個(gè)),而不管相應(yīng)的硬件設(shè)備是否真正存在。通常這由一個(gè)MAKEDEV腳本實(shí)現(xiàn),這個(gè)腳本包含了許多通過世界上每一個(gè)可能存在的設(shè)備相關(guān)的主設(shè)備號(hào)和次設(shè)備號(hào)對(duì)mknod程序的調(diào)用。采用udev的方法,只有被內(nèi)核檢測(cè)到的設(shè)備才會(huì)獲取為它們創(chuàng)建的設(shè)備節(jié)點(diǎn)。因?yàn)檫@些設(shè)備節(jié)點(diǎn)在每次系統(tǒng)啟動(dòng)時(shí)被創(chuàng)建,他們會(huì)被貯存在ramfs。



  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!