linux块设备基础知识(来源于国嵌)

 

1、块设备
块设备将数据存储在固定大小的块中,每块的大小通常在521字节到32768字节之间。磁盘、SD卡都是常见的块设备。
2、块设备与字符设备的区别
(1)读写数据的单元不同:块设备以块为读写单元,而字符设备以字符为读写单元
(2)块设备可以随机访问,而字符设备只能顺序访问
3、linux块设备体系结构
linux块设备基础知识(来源于国嵌) - 小白 - 小白的博客

VFS:虚拟文件系统。VFS是对各种具体文件系统的一种封装,为用户程序访问文件提供了统一的接口
Disk Cache:当用户发起文件访问请求时,首先会到Disk Cache中寻找文件是否被缓存了,如果在cache中,则直接从cache中读取。如果数据不在缓存中,就必须要到具体的文件系统中去读取数据了。
Mapping Layer:它有两个功能,一是:确定文件系统的block size,然后计算所请求的数据包含多少个block。二是:调用具体文件系统的函数来访问文件的inode,确定所请求的数据在磁盘上的逻辑块地址。
Generic Block Layer:linux内核为块设备抽象了统一的接口,把块设备看作是由若干个扇区组成的数据空间。上层的读写请求在本层被构造成一个或多个bio结构
I/O Scheduler Layer:I/O调度层负责将I/O操作进行排序,采用某种算法(如:电梯调度算法)来高效地处理操作
电梯调度算法的基本原则:如果电梯现在朝上运动,如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求:如果电梯向下运动,则先响应所有下方的请求,然后在来响应上方的请求。
Block Device Driver:块设备驱动程序通过发送命令给磁盘控制器实现真正的数据传输。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值