您所在的位置:读书频道 > 操作系统 > Linux > 6.1 设备文件简述

6.1 设备文件简述

2007-11-07 15:12 杜华 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《Linux编程技术详解》第6章的主要内容是设备文件,本小节讲的是设备文件简述。

AD:

6.1 设备文件简述

在Linux系统中,存在一个抽象化的设备目录,名为/dev,如图6.1所示。该目录下存有指向系统中硬件的特殊文件。这些指向硬件设备的文件,极大地简化了程序员对硬件的操作。因为,程序员就可以像访问普通文件一样来访问硬件,而无需使用特殊的接口函数。
 
图6.1  /dev目录下文件列表情况

Linux系统将设备分成了3种类型:字符设备、块设备和网络接口。
 
字符设备:字符设备就是能够像字节流一样访问的设备,字符终端和串口就属于字符设备。
 
块设备:块设备上可以容纳文件系统。与字符设备不同,在读写操作时,块设备每次只能传输一个或多个完整的块。在Linux操作系统中,应用程序可以像访问字符设备一样读写块设备(一次读取或写入任意的字节数据)。因此,块设备和字符设备的区别仅仅是在内核中对于数据的管理不同。
 
网络接口:网络接口存在一定的特殊性,其与内核的通信完全不同于内核与字符设备或块设备的通信。网络接口可以是一个硬件设备,也可以是一个软件设备。

图6.2给出了位于/dev目录下的字符设备和块设备示例。可以看到,如果该设备是字符设备的话,将以字符“c”开头。如果是块设备的话,将以字符“b”开头。

查看/dev下的设备文件名,可以看到,每个设备都带有诸如“14,4”或“3,0”这样的编号。使用ls命令列出所有以hda开头的设备名称,如图6.3所示,注意其划线部分。这种号码称为主从设备号,内核通过该号码将设备文件与真实设备关联起来。前面的数字称为主设备号,指向硬件设备,而次设备号指向子设备。

由同一个设备驱动控制的所有设备具有相同的主设备号。从设备号则被用来区分具有相同主设备号且由相同的设备驱动控制的不同设备。如图6.3所示,/dev/hda1和/dev/hda2设备文件的主设备号均为3,次设备号分别为1和2。

 

图6.2  块设备与字符设备示例                          

 

图6.3  设备标号示意图

【责任编辑:杜书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

一目了然——Web软件显性设计之路
本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院