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

在属性中块用b表示。字符设备用c表示。能通俗的解释下这两个设备是什么吗?不要百度百科上的那写解释。我都已经看过了...谢谢各位了。... 在属性中块用b表示。
字符设备用c表示。
能通俗的解释下这两个设备是什么吗?
不要百度百科上的那写解释。我都已经看过了...
谢谢各位了。
展开
 我来答
仁昌爱娱乐
高粉答主

2019-10-14 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459793

向TA提问 私信TA
展开全部

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

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

扩展资料:

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

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

参考资料来源:

百度百科——块设备

百度百科——字符设备

日TimE寸
推荐于2017-09-29 · TA获得超过9568个赞
知道大有可为答主
回答量:1358
采纳率:83%
帮助的人:466万
展开全部
Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。
(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。
(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
总结一下,这两种类型的设备的根本区别在于它们是否可以被随机访问。字符设备只能顺序读取,块设备可以随机读取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nomgfu
推荐于2017-10-03 · TA获得超过5732个赞
知道大有可为答主
回答量:4820
采纳率:70%
帮助的人:3042万
展开全部
从字面理解,块设备支持数据整块读写,数据访问是随机的,而字符设备则是单个字符依次读写,是有序访问。
追问
那linux 系统里面。块设备和字符设备的代表是什么呢?
追答
块设备:硬盘
字符设备:键盘
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
UPS2cs
2013-12-06 · TA获得超过2299个赞
知道大有可为答主
回答量:3234
采纳率:33%
帮助的人:1028万
展开全部
字符设备如键盘、显示器
块设备如磁盘。磁带
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老男孩教育
2022-11-16 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
老男孩教育
专注于Linux高级运维、Python开发、大数据培训,为您分享行业前沿的技术,有效的学习方法和有价值的学习资料。
向TA提问
展开全部

Linux系统中设备主要分为三类,除了块设备和字符设备外,还有网络设备:

1、字符设备

字符设备是一个能够像字节流一样被访问的设备,通常至少要实现打开、关闭、读取和写入系统调用。字符设备是一个顺序访问的,只有在设备响应后才能读到相应信息,不能随机访问,且每个字符设备都有一个设备号,设备号由主设备号和次设备号组成。

常见的字符设备如串口、IIC等。字符设备的对应的文件都在/dev目录下,每一个文件对应一个硬件。在linux系统中/dev目录下使用ls
-l命令查看详细信息,第一个字母“c”为字符设备文件的标识。

2、块设备

和字符设备类似,块设备也是通过/dev目录下的文件系统节点来访问。常见的块设备如磁盘、emmc flash、nand flash、 SD卡等。

3、网络设备

任何网络相关的事务都要经过一个网络接口,即一个能够与其他主机交换数据的设备。通常,接口是个硬件设备,但也可能是纯软件设备,比如在ifconfig查看网口信息的时候有一个lo,就是网络回环(loopback)接口。

访问网络接口的方法是给它们分配一个唯一的名字,比如eth0、eth1、lo等。但这个名字在文件系统中不存在相应的节点。网络接口没有像字符设备和块设备一样的设备号,只有一个唯一的名字,如eth0、eth1等,而这个名字也不需要与设备文件节点对应。

内核使用一套与数据包传输相关的函数来与网络设备驱动程序通信,它们不同于字符设备和块设备的read()和write()方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式