linux /proc/devices & /dev

來源:互聯網
上載者:User

請問:linux環境下,/dev/目錄下的內容與/proc/下檔案devices中的內容有什麼區別?我在目
標板上做實驗時發現,當我向板子上載入驅動模組時,devices檔案中有變化,而/dev下根本沒有變化,/dev/下不也應該是裝置接點嗎,為什麼為
模組建立裝置接點時,/dev/下卻沒有變化呢?

請各位幫幫忙,謝謝!!!

 

/proc/devices/中的裝置是通過insmod載入到核心的,它可產生一個major供mknod作為
參數。

/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c
254 0,使用者通過此裝置名稱來訪問你的驅動。

 

 

裝置
檔案
,裝置編號  #ll  -a /dev 
在每一行都可以看到裝置檔案、裝置編號(主、次)

對於每種硬體裝置,系統核心有相應的裝置驅動程式負責對它的處理。而在Unix
中,使用裝置檔案的方式來表示硬體裝置,每種裝置驅動程式都被抽象
為裝置檔案的形式,這樣就給應用程式一個一致的檔案介面,方便應用程式和作業系統之間的通訊。


習慣上,所有的裝置檔案
都放置在/dev
目錄下。

/proc/devices/中的裝置是通過insmod載入到核心的,它可產生一個major供mknod作為 參數


/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c
254 0,使用者通過此裝置名稱來訪問你的驅動。


mknod - make block or
character special files
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
   
option 有用的就是 -m 了
    name   自訂
    type   有 b 和 c 還有 p
   
主裝置號
    次裝置號


裝置號是由/usr/src/linux/include/linux/major.h定義的,如下定義了一個DOC裝置:
#define
IGEL_FLASH_MAJOR 62

假如有一個命令mknod doc b 62 0 :
其中的doc為定義的名
字,b指塊裝置,0指的是整個DOC。如果把0換為1,則1指的是DOC的第一個分區。2是第2個,依次類推。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.