赞
踩
Linux
设备
1.1.1
Linux
设备和分类
Linux
系统中的设备可以分为字符设备、块设备和网络设备这
3
类。
字符设备:字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,
相应的
I/O
操作立即发生。
Linux
系统中很多设备都是字符设备,
如字符终端、
串口、
键盘、
鼠标等。在嵌入式
Linux
开发中,接触最多的就是字符设备以及驱动。
块设备:块设备是
Linux
系统中进行
I/O
操作时必须以块为单位进行访问的设备,块设
备能够安装文件系统。
块设备驱动会利用一块系统内存作为缓冲区,
因此对块设备发出读写
访问,并不一定立即产生硬件
I/O
操作。
Linux
系统中常见的块设备有如硬盘、软驱等等。
网络设备:
网络设备既可以是网卡这样的硬件设备,
也可以是一个纯软件设备如回环设
备。网络设备由
Linux
的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,
因此在
Linux
系统文件系统中网络设备没有节点。
对网络设备的访问是通过
socket
调用产生,
而不是普通的文件操作如
open/close
和
read/write
等。
1.1.2
设备节点和设备号
1
.
设备节点
设备(包括硬件设备)在
Linux
系统下,表现为设备节点,也称设备文件。设备文件是
一种特殊的文件,它们存储在文件系统中(通常在
/dev
目录下)
,但它们仅占用文件目录项
而不涉及存储数据。
事实上,
它们仅仅记录了其所属的设备类别、
主设备号和从设备号等设
备相关信息。
来看两个典型的设备文件的详细信息:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。