成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

概述Linux系統的驅動框架及驅動加載2
2007-07-28   網絡

2.設備文件

當我們加載了設備驅動模塊后,應該怎樣訪問這些設備呢?Linux是一種類Unix系統,Unix的一個基本特點是“一切皆為文件”,它抽象了設備的處理,將所有的硬件設備都像普通文件一樣看待,也就是說硬件可以跟普通文件一樣來打開、關閉和讀寫。

系統中的設備都用一個設備特殊文件代表,叫做設備文件,設備文件又分為Block(塊)型設備文件、Character(字符)型設備文件和Socket(網絡插件)型設備文件。Block設備文件常常指定哪些需要以塊(如512字節)的方式寫入的設備,比如IDE硬盤、SCSI硬盤、光驅等。

而Character型設備文件常指定直接讀寫,沒有緩沖區的設備,比如并口、虛擬控制臺等。Socket(網絡插件)型設備文件指定的是網絡設備訪問的BSD socket 接口。

#ls -l /dev/hda /dev/video0 /dev/log
brw-rw---- 1 root disk 3, 0 Sep 15 2003 /dev/hda
srw-rw-rw- 1 root root 0 Jun 3 16:55 /dev/log
crw------- 1 root root 81, 0 Sep 15 2003 /dev/video0

上面顯示的是三種設備文件,注意它們最前面的字符,Block型設備為b,Character型設備為c,Socket設備為s。

由此可以看出,設備文件都放在/dev目錄下,比如硬盤就是用/dev/hd*來表示,/dev/hda表示第一個IDE接口的主設備,/dev/hda1表示第一個硬盤上的第一個分區;而/dev/hdc 表示第二個IDE接口的主設備。可以使用下面命令:

#dd if=/dev/hda of=/root/a.img bs=446 count=1

把第一個硬盤上前446個字節的MBR信息導入到a.img文件中。

對于Block和Character型設備,使用主(Major)和輔(minor)設備編號來描述設備。主設備編號來表示某種驅動程序,同一個設備驅動程序模塊所控制的所有設備都有一個共同的主設備編號,而輔設備編號用于區分該控制器下不同的設備,比如,/dev/hda1(block 3/1)、/dev/hda2(block 3/2 )和/dev/hda3( block3/3 )都代表著同一塊硬盤的三個分區,他們的主設備號都是3,輔設備號分別為1、2、3。 這些設備特殊文件用mknod命令來創建:

# mknod harddisk b 3 0

我們就在當前位置創建出一個與 /dev/hda一樣的、可以訪問第一個IDE設備主硬盤的文件,文件名叫做harddisk。

使用下面命令可以查看設備編號:

#file /dev/hda
/dev/hda: block special (3/0)

其中Block代表/dev/hda是系統的Block型(塊型)設備文件,它的主設備編號為3,輔設備編號為0。

#ls -l /dev/hda /dev/hdb 
brw-rw---- 1 root disk 3, 0 Sep 15 2003 /dev/hda
brw-rw---- 1 root disk 3, 64 Sep 15 2003 /dev/hdb

使用ls -l也可以看到設備編號,/dev/hdb代表第一個IDE接口的從設備(Slave)也是Block設備,編號為(3/64),還有另外一種設備文件是/dev/tty*。使用如下命令:

#echo "hello tty1" > /dev/tty1

將字符串“hello tty1”輸出到/dev/tty1代表的第一個虛擬控制臺上,此時按“Alt + F1”可以看到該字符出現在屏幕上,這個特殊的文件就代表著我們的第一虛擬控制臺。

#file /dev/tty1
/dev/tty1: character special (4/1)

由上可以看到,它的類型為Character 型(字符型)設備文件,主設備號為4,輔設備號為1。同樣,/dev/tty2代表著第二個虛擬控制臺,是Character設備,編號為 (4/2)。

當將/dev/cdrom加載到/mnt/cdrom中時,只要訪問/mnt/cdrom系統就會自動引入到/dev/cdrom對應的驅動程序中,訪問實際的數據。

有關設備文件的編號可以看內核文檔/usr/src/linux-2.*/Documentation/devices.txt 文件(在Kernel的源文件解包后的Documentation目錄中),其中詳細敘述了各種設備文件編號的意義。

熱詞搜索:

上一篇:概述Linux系統的驅動框架及驅動加載1
下一篇:概述Linux系統的驅動框架及驅動加載3

分享到: 收藏
主站蜘蛛池模板: 我不是教主漫画免费下拉式| 曹查理电影大全免费观看国语| 大幻术师| 朱莉与朱莉娅| 说木叶原文| 他其实没那么爱你电影| 潇洒走一回广场舞完整版| 植树看图写话| 《傲慢与偏见》电影在线观看| 魔兽日本动漫| 视频污| 霹雳火之特种兵| 极品美女在线| 电影痴汉电车| 妙想天开| 安全员c证考试免费题库| 光棍电影| 贾冰又出新的喜剧电影| 颂文| 言承旭电影| 萱草花合唱谱二声部| 日本大电影| 李高| 伊迪娜·门泽尔| 消防给水及消火栓系统技术规范 | 人蛇大战 电影| lanarhoades黑人系列| 香港艳情电影| 印度电影《情罪》免费观看中文| 散文诗二首批注| 小猫叫声吸引猫mp3| 最佳男朋友| 5一6岁脑筋急转弯大全及答案| 王宝强最新电影叫什么| 五月天丁香婷婷| 香帅传奇| free xxx 性欧美| angelawhite在线av| 寿康宝鉴戒期表| 少女免费观看完整电视电影| 遥远的你我触不可及动漫|