linux
是文件型系统,所有硬件如软件都会在对于的目录下面有相应的文件表
示。对于
dev
这个目录,我们知道它下面的文件,表示的是
linux
的设备。在
windows
系
统中,设备大家很好理解,象硬盘,磁盘指的是实实在在硬件。而在文件系统的
linux
下
面,都有对于文件与这些设备关联的。访问它们就可以放到实际硬件,想想还是
linux
灵
活了。变成文件,操作该多简单了。不用调用以前
com,prt
等接口了。直接读文件,写文
件就可以向设备发送读或者写操作了。
按照读写存储数据方式,我们可以把设备分为以
下几种:字符型设备,块设备,伪设备。
一、设备分类
字符型设备
字符设备是指每次与系统传输
1
个字符的设备。这些设备节点通常为传真、
虚拟终端和串
口调制解调器、键盘之类设备提供流通信服务,它通常不支持随机存取数据。
字符设备
在实现时,大多不使用缓存器。系统直接从设备读取/写入每一个字符。例如,键盘这种
设备提供的就是一个数据流,当你敲入“
cnblogs
”这个字符串时,键盘驱动程序会按照和
输入完全相同的顺序返回这个由七个字符组成的数据流。它们是顺序的,先返回
c
,最后
是
s
。
块设备
块设备是指与系统间用块的方式移动数据的设备。
这些设备节点通常代表可寻址设备,
如
硬盘、
CD-ROM
和内存区域。
块设备通常支持随机存取和寻址,
并使用缓存器。
操作系统为输入输出分配了缓存以存储
一块数据。当程序向设备发送了读取或者写入数据的请求时,
系统把数据中的每一个字符
存储在适当的缓存中。当缓存被填满时,会采取适当的操作(把数据传走)
,而后系统清
空缓存。它与字符设备不同之处就是,是否支持随机存储。字符型是流形式,逐一存储。
伪设备
在类
Unix
操作系统中,设备节点并不一定要对应物理设备。没有这种对应关系的设备是