驱动程序之_2_块设备_1_基本概念

本文探讨了块设备与字符设备的区别,重点介绍了块设备如何通过优化读写操作提高效率和设备寿命。以硬盘和flash为例,阐述了块设备驱动程序如何通过减少机械装置跳跃次数和读写操作次数,实现效率提升。

驱动程序之_2_块设备_1_基本概念


前面所讲的字符设备是顺序读写、读写大小不固定的数据流设备
与之不同,块设备是可以不按顺序读写,以固定大小读写的数据块设备
块设备的典型例子有硬盘、flash等等

对于块设备,如果直接使用字符设备的方法(应用open read write 直接驱动程序对应),读写速度可能会大打折扣,减少设备寿命

假设有如下扇区:
在这里插入图片描述
对于硬盘:
如果应用程序需要读block1,写block5,再读block2
字符设备驱动程序会按照它的顺序读写,读block1、写block5、读block2
而在磁盘的块设备驱动程序中,将其优化:读block1、block2、写block5
这样机械装置跳跃次数减少1次,效率提高(磁盘的读写速度是由机械装置的定位速度决定的)

对于flash:
如果应用程序需要写block1、block2
字符设备驱动程序会按照顺序,读block1、修改、擦除block1、烧写block1;读block2,修改,擦除block2,烧写block2
而在flash的块设备驱动程序中,将其优化:block1、block2合并为一块block12(物理上还是分开的),读block12,修改,擦除block12,烧写block1
这样读写操作次数减少一次,效率提高

因此块设备不能像字符设备一样直接提供读写函数,而是将读写操作放入一个队列,优化后执行

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值