| 字符设备
字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO *** 作立即发生。Linux系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式Linux开发中,接触最多的就是字符设备以及驱动。
| 块设备
块设备是Linux系统中进行TO *** 作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O *** 作。Linux系统中常见的块设备有如硬盘、软驱等等。
| 网络设备
网络设备既可以是网卡这样的硬件设备,也可以是一个纯软件设备如回环设备。网络设备由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。对网络设备的访问是通过socket调用产生,而不是普通的文件 *** 作如
open/closc和 read/write等。
块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。数据块的大小通常在512字节到32768字节之间。块设备的基本特征是每个块都能独立于其它块而读写。
字符设备是在I/O传输过程中以字符为单位进行传输的设备。在linux系统中,字符设备以特别文件方式在文件目录树中占据位置并拥有相应的结点。结点中的文件类型指明该文件是字符设备文件。可以使用与普通文件相同的文件 *** 作命令对字符设备文件进行 *** 作。
扩展资料:
在大多数的linux *** 作系统中,块设备只支持以块为单位的访问方式,如磁盘等。KYLIN支持以字符方式来访问块设备,即支持以字符为单位来读写磁盘等块设备。所以在/dev目录中的块设备,如磁盘等,均以字符设备的外观出现。
当一台字符型设备在硬件上与主机相连之后,必须为这台设备创建字符特别文件。linux *** 作系统的mknod命令被用来建立设备特别文件。
参考资料来源:
百度百科——块设备
百度百科——字符设备
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)