块设备驱动

概念

  块设备将数据存储在固定大小的块中,每个块的大小通常在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

 

posted @ 2020-11-26 14:59  11YS  阅读(76)  评论(0)    收藏  举报