字符设备和块设备区别

Posted 贺二公子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符设备和块设备区别相关的知识,希望对你有一定的参考价值。

原文地址:https://blog.csdn.net/jingemperor/article/details/120062148


字符设备和块设备区别

Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类来。

(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节自/字符来读写数据。举例来说,百键盘、串口、调制解调器都是典型的字符设备。

(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型度的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写知只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。

总结

这两种类型的设备的根本区别在于它们是否可以被随机访问。字符设备只能顺序读取道,块设备可以随机读取。

以上是关于字符设备和块设备区别的主要内容,如果未能解决你的问题,请参考以下文章

对象存储、文件存储和块存储有啥区别?

查看内核中字符设备和块设备信息用啥命令

Linux嵌入式驱动学习之路(二十一)字符设备驱动程序总结和块设备驱动程序的引入

mtd和mtdblock的区别

linux驱动开发之块设备学习笔记

嵌入式开发(七):linux字符型设备驱动初步