理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)

理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)

ID:21558158

大?。?04.00 KB

頁數(shù):23頁

時間:2018-10-19

理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)_第1頁
理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)_第2頁
理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)_第3頁
理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)_第4頁
理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)_第5頁
資源描述:

《理解linux文件系統(tǒng)和設(shè)備文件系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、Linux文件系統(tǒng)和設(shè)備文件系統(tǒng)主要內(nèi)容Linux文件系統(tǒng)目錄結(jié)構(gòu)sysfs文件系統(tǒng)及測試設(shè)備文件系統(tǒng)及測試一、Linux文件系統(tǒng)目錄結(jié)構(gòu)/dev:設(shè)備文件存儲目錄。/lib:庫文件目錄。/var:這個目錄的內(nèi)容經(jīng)常變動,如/var/log目錄被用來存放系統(tǒng)日志。/etc:系統(tǒng)配置文件所在目錄。/proc:系統(tǒng)運行時,進程和內(nèi)核信息存放在這里。/bin:包含基本命令。一、Linux文件系統(tǒng)目錄結(jié)構(gòu)(續(xù))/mnt:用來存放掛載存儲設(shè)備的掛載目錄。/usr:存放用戶程序的目錄。/tmp:用來存放臨時文件。/sys:sysfs文件系統(tǒng)被映射到此目錄。/sbin:存放系統(tǒng)

2、管理的命令,是超級用戶root的可執(zhí)行命令存放地。/root:超級用戶root的家目錄查看系統(tǒng)中注冊的設(shè)備輸入命令:cat/proc/devices查看系統(tǒng)中注冊的設(shè)備。分為“Characterdevices”和“Blockdevices”。第1列為主設(shè)備號,第2列為設(shè)備名。查看系統(tǒng)中注冊的設(shè)備(續(xù))輸入命令:ls–l/dev/也可以查看系統(tǒng)注冊的設(shè)備文件。日期的前兩列對應(yīng)于設(shè)備的主設(shè)備號和次設(shè)備號。二、sysfs文件系統(tǒng)輸入命令:ls-l/sys查看sysfs文件系統(tǒng)目錄。sysfs文件系統(tǒng)把連接在系統(tǒng)上的設(shè)備和總線組織成一個個分級的文件,向用戶空間導(dǎo)出內(nèi)核數(shù)據(jù)

3、結(jié)構(gòu)以及它們的屬性,并可以由用戶空間存取。二、sysfs文件系統(tǒng)(續(xù))輸入命令:echoxxx>/sys/devices/platform/hhtech_gpio/backlight_level調(diào)節(jié)LCD屏的背光亮度。其中,“xxx”的范圍是0~100,分別對應(yīng)背光的最小值和最大值。輸入命令:cat/sys/devices/platform/hhtech_gpio/backlight_level讀取當前LCD屏的背光亮度。二、sysfs文件系統(tǒng)(續(xù))修改drivers/char/hhtech_gpio.c,添加如下內(nèi)容:staticDEVICE_ATTR(back

4、light_level,0666,hhtech_sysfs_show_backlight_level,hhtech_sysfs_store_backlight_level);創(chuàng)建和初始化“backlight_level”屬性。二、sysfs文件系統(tǒng)(續(xù))修改drivers/char/hhtech_gpio.c,向數(shù)組attrs添加如下內(nèi)容:&dev_attr_backlight_level.attr將“backlight_level”屬性添加到sysfs文件系統(tǒng)中。二、sysfs文件系統(tǒng)(續(xù))hhtech_sysfs_show_backlight_level函數(shù)h

5、htech_sysfs_store_backlight_level函數(shù)二、sysfs文件系統(tǒng)(續(xù))重新編譯內(nèi)核二、sysfs文件系統(tǒng)(續(xù))重新打包固件并測試三、設(shè)備文件系統(tǒng)/dev是設(shè)備文件的存放目錄,那怎么生成相應(yīng)的設(shè)備文件節(jié)點呢?使用設(shè)備文件系統(tǒng)udev。udev完全工作在用戶空間,利用設(shè)備加入或者移除時內(nèi)核向應(yīng)用層發(fā)送的熱插拔事件來工作。熱插拔時,設(shè)備的詳細信息會由內(nèi)核輸出到sysfs文件系統(tǒng)中,udev利用sysfs的信息來動態(tài)創(chuàng)建和刪除設(shè)備文件或者執(zhí)行其它動作。mdev(udev的精簡版本)的原理執(zhí)行mdev-s:以‘-s’為參數(shù)調(diào)用/sbin/mdev

6、,mdev掃描/sys/class和/sys/block中所有的類設(shè)備目錄,如果在目錄中含有名為“dev”的文件,且文件中包含有設(shè)備號,則mdev就利用這些信息為這個設(shè)備在/dev下創(chuàng)建設(shè)備節(jié)點文件。一般只在啟動時才執(zhí)行一次“mdev-s”。mdev的原理(續(xù))熱插拔事件:由于啟動時運行了命令:echo/sbin/mdev>/proc/sys/kernel/hotplug,那么當有熱插拔事件產(chǎn)生時,內(nèi)核就會調(diào)用/sbin/mdev。這時mdev通過環(huán)境變量中的ACTION和DEVPATH,來確定此次熱插拔事件的動作及影響了/sys中的哪個目錄。接著會看看這個目錄中

7、是否有“dev”的屬性文件,如果有就利用這些信息為這個設(shè)備在/dev下創(chuàng)建設(shè)備節(jié)點文件。mdev的使用在啟動時加上使用mdev的命令:#掛載/sys為sysfs文件系統(tǒng)/bin/mount-tsysfssysfs/sys#啟動mdev程序/bin/echo/sbin/mdev>/proc/sys/kernel/hotplugmdev-smdev的使用(續(xù))在rootfs/etc/inittab文件中添加:::sysinit:/bin/mount-tsysfsnone/sys-onoexec,nosuid,nodev掛載/sys為sysfs文件系統(tǒng)mdev的使用(續(xù)

8、)在roo

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。