日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux设备驱动程序和设备文件

發(fā)布時間:2023/12/31 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux设备驱动程序和设备文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Linux設備驅動程序和設備文件

設備驅動程序

一個設備驅動程序是一個管理著系統(tǒng)與某種特定硬件之間交互作用的程序。驅動程序在設備可理解的硬件指令和內核使用的固定編程接口之間起轉換作用。驅動程序層的存在有助于內核合理地保持設備獨立性。
在大多數(shù)情況下,設備驅動程序是內核的組成部分,它們不是用戶進程。不過,一個驅動程序可以從內核里,也可以從用戶空間進行訪問。對設備的用戶級訪問往往要通過位于/dev目錄下的特殊設備文件。內核把對這些文件操作映射到對驅動程序代碼的調用上面。

設備文件

基本概念

大多數(shù)硬件設備都在/dev目錄中有一個對應的設備文件,網(wǎng)絡設備除外。在/dev中的每個文件都有與之相關的主設備號和一個次設備號。內核用這些設備號把對一個設備文件的引用映射到相應的驅動程序上。主設備號標明與文件相關的驅動程序(換句話說是設備類型)。次設備號常常是指定某種給定設備類型的特定實例,次設備號有時被稱為單元號。
用ls -l可以看到一個設備文件的主設備號和次設備號:

[root@vps ~]# ls -l /dev/vda brw-rw---- 1 root disk 253, 0 Oct 15 15:21 /dev/vda

設備文件分兩種類型:

  • 塊設備文件:
    一個塊設備文件每次讀取或者寫入一塊數(shù)據(jù)(一組字節(jié),通常是521的倍數(shù)),我們熟知的磁盤就是塊設備,在/dev中對應的設備文件就是塊設備文件。塊設備文件在用ls -l查看時文件類型為b。
  • 字符設備文件:
    字符設備每次讀取或者寫入一個字節(jié)。磁盤和磁帶可以是塊設備也可以是字符設備,而終端和打印機不行。字符設備文件在用ls -l查看時文件類型為c。
  • 創(chuàng)建設備文件

    在Linux下,一般不需要手動創(chuàng)建設備文件,因為在Linux下設備文件的創(chuàng)建有專門的udev系統(tǒng)來管理,當系統(tǒng)有新的設備出現(xiàn)(或者消失),會動態(tài)地管理設備文件的創(chuàng)建和刪除。守護進程udevd監(jiān)聽內核傳來的有關設備狀態(tài)變化的消息。根據(jù)/etc/udev 和/lib/udev兩個目錄的配置信息,在找到設備或者斷開設備的時候,udevd能夠自動采取相應措施。在默認情況下,它只創(chuàng)建/dev里的設備文件。手動創(chuàng)建設備文件用mknod命令來創(chuàng)建,語法為:

    mknod filename type major minor
    • filename:要創(chuàng)建的設備文件名;
    • type:設備類型,c代表一個字符設備,b代表一個塊設備;
    • major:主設備號;
    • minor:次設備號;

    參考文獻

    Unix/Linux系統(tǒng)管理手冊|第13章
    CSDN博客|主設備號和次設備號

    總結

    以上是生活随笔為你收集整理的Linux设备驱动程序和设备文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。