linux mknod命令解析【轉】

(轉自:https://blog.csdn.net/a1010256340/article/details/83088870)

linux系統中設備管理的基本知識:

      我們的linux操作系統跟外部設備(如磁盤、光盤等)的通信都是通過設備文件進行的,應用程序可以打開、關閉、讀寫這些設備文件,從而對設備進行讀寫,這種操作就像讀寫普通的文件一樣easy。linux爲不同種類的設備文件提供了相同的接口,比如read(),write(),open(),close()。

      所以在系統與設備通信之前,系統首先要建立一個設備文件,這個設備文件存放在/dev目錄下。其實系統默認情況下就已經生成了很多設備文件,但有時候我們需要自己手動新建一些設備文件,這個時候就會用到像mkdir, mknod這樣的命令。

       mknod 的標準形式爲:       mknod DEVNAME {b | c}  MAJOR  MINOR

       1,DEVNAME是要創建的設備文件名,如果想將設備文件放在一個特定的文件夾下,就需要先用mkdir在dev目錄下新建一個目錄;

       2, b和c 分別表示塊設備和字符設備:

                  b表示系統從塊設備中讀取數據的時候,直接從內存的buffer中讀取數據,而不經過磁盤;

                  c表示字符設備文件與設備傳送數據的時候是以字符的形式傳送,一次傳送一個字符,比如打印機、終端都是以字符的形式傳送數據;

       3,MAJOR和MINOR分別表示主設備號和次設備號:

             爲了管理設備,系統爲每個設備分配一個編號,一個設備號由主設備號和次設備號組成。主設備號標示某一種類的設備,次設備號用來區分同一類型的設備。linux操作系統中爲設備文件編號分配了32位無符號整數,其中前12位是主設備號,後20位爲次設備號,所以在向系統申請設備文件時主設備號不好超過4095,次設備號不好超過2^20 -1。

 .

 下面,我們就可以用mknod命令來申請設備文件了。       

          mkdir -p  /dev/cobing

           mknod /dev/cobing/mydev1 c 128 512

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章