块设备驱动
概念
块设备将数据存储在固定大小的块中,每个块的大小通常在512到32768字节之间。
块设备和字节设备的区别:(1)块设备读取数据的基本单元为块,字符设备的基本单元是字节。(2)块设备能够随机访问,字符设备只能顺序访问。

VFS
VFS对各种具体文件系统封装,为用户程序访问提供了统一的接口

Disk Cache
用户请求文件的时候,首先到disk cache中寻找文件,如命中,直接从cache中读取,如果不在需要到对应的文件系统中读取
Mapping Layer
1.首先确定文件系统的中的block size,然后计算请求的数据中包括多少block。
2.调用那个具体文件系统的函数来访问文件的inode,确定所请求的数据在磁盘上的逻辑块地址
Generic Block Layer
Linux内核为块设备抽象统一的模型,把块设备看做是若干个扇区组成的数据空降,上层的读写请求在通用块层被构造成一个或者多个bio结构
I/O Schedule Layer
负责黄I/O操作进行排序,采用一些算法移动磁头

Block Device Driver

浙公网安备 33010602011771号