linux中什么是块设备和字符设备

linux中什么是块设备和字符设备,第1张

| 字符设备

字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO *** 作立即发生。Linux系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式Linux开发中,接触最多的就是字符设备以及驱动。

| 块设备

块设备是Linux系统中进行TO *** 作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O *** 作。Linux系统中常见的块设备有如硬盘、软驱等等。

| 网络设备

网络设备既可以是网卡这样的硬件设备,也可以是一个纯软件设备如回环设备。网络设备由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。对网络设备的访问是通过socket调用产生,而不是普通的文件 *** 作如

open/closc和 read/write等。

分类: 电脑/网络 >> *** 作系统/系统故障

解析:

所谓块设备是指对其信息的存取以“块”为单位,如通常的光盘、硬磁盘、软磁盘、磁带等,块长取512字节或1024字节或4096字节。块设备可以直接通过块设备特别文件来访问。为了提高数据传输效率,块设备驱动程序内部采用块缓冲技术。

盘、带设备既可采用块方式,又可采用字符方式访问,因此这类设备既是块设备又是字符设备。正因为如此,在上节的字符设备开关表中配备了一套用于盘、带的字符驱动程序。在概念上,我们倾向于一台设备以一种类型进行访问,例如对磁带机而言,采用块方式即把磁带机划入块设备类型 。如果对磁带机采用字符方式,尽管可行但存储等量的数据要比块方式占用更多的磁带空间,实际上是很不合算的。

块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。数据块的大小通常在512字节到32768字节之间。块设备的基本特征是每个块都能独立于其它块而读写。

字符设备是在I/O传输过程中以字符为单位进行传输的设备。在linux系统中,字符设备以特别文件方式在文件目录树中占据位置并拥有相应的结点。结点中的文件类型指明该文件是字符设备文件。可以使用与普通文件相同的文件 *** 作命令对字符设备文件进行 *** 作。

扩展资料:

在大多数的linux *** 作系统中,块设备只支持以块为单位的访问方式,如磁盘等。KYLIN支持以字符方式来访问块设备,即支持以字符为单位来读写磁盘等块设备。所以在/dev目录中的块设备,如磁盘等,均以字符设备的外观出现。

当一台字符型设备在硬件上与主机相连之后,必须为这台设备创建字符特别文件。linux *** 作系统的mknod命令被用来建立设备特别文件。

参考资料来源:

百度百科——块设备

百度百科——字符设备


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8311925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存