在磁盘文件系统是怎么 用以内存为cache加速访问 并 处理内存与实际硬盘文件系统的差异
在文件系统这一块实现了 "高速缓存" 中的 文件系统相关部分
1. dentry 高速缓存 dentry cache
2. inode 高速缓存 inode cache
3. super_block 高速缓存
4. 页高速缓存 page cache
5. 缓冲区高速缓存 buffer cache
6. 块高速缓存 block cache
superblock结构体/inode 缓存/dcache缓存/buffer cache/block cache / page cache/swap
总体描述
在关机时, 文件系统只存在于硬盘上
在开机后, 文件系统被挂载, 存在于硬盘和内存中 // 存在内存中,是因为要加速访问 , 硬盘和内存的访问延迟是多少,TODO
硬盘中是原始的文件
内存中是硬盘的copy和解析 // 具体看copy 哪些看文件系统实现
解析出了 super_block : 文件系统的信息
解析出了 inode : 该文件系统下,文件被支持的操作及文件的属性等
解析出了 dentry : 该文件系统下,各种文件的层次目录
copy出了 address_space : 该文件系统下, 某个文件的内容
一致性问题:
可以看出,一份内容(文件系统)有两份存在(硬盘和内存)
那么保证 硬盘和 内存中 文件系统的一致性 就很有必要.
分类描述
block cache
buffer_head
随着日渐倾向于使用基于也操作实现的通用文件存取方法,block cache 作为中暑系统缓存的重要性已经逐渐失去,主要的缓存任务由 page cache 来承担.
另外,基于 块 的 IO的标准数据结构,现在已经不是缓冲区,而是 struct bio
page cache
页高速缓存
struct address_space
buffer cache
缓冲区高速缓存 从 linux2.4起,并入 page cache
上一篇:OK6410A 开发板 (八) 90 linux-5.11 OK6410A linux文件系统导读
下一篇:OK6410A 开发板 (八) 86 linux-5.11 OK6410A linux 调试总览
推荐阅读最新更新时间:2024-10-24 08:14
设计资源 培训 开发板 精华推荐
- EVAL-AD7989-5SDZ,用于 AD7989-5BRMZ 18 位 500 kSPS PulSAR ADC 10 引脚 MSOP 的评估板
- 使用 LTC4162EUFD-L40 1-8 节、3.2A 降压型开关电池充电器和 PowerPath 的典型应用
- 使用 ROHM Semiconductor 的 BU4934 的参考设计
- ADP2102-1.2-EVALZ 用于降压型 DC 至 DC 转换器解决方案的评估板
- LT3976IUDD 1.2V 降压转换器的典型应用电路
- 使用 Analog Devices 的 LT1021DIN8-10 的参考设计
- LDK120PU08R 0.8V低压降稳压器典型应用(可调版)电路
- 多功能双热插拔控制器/电源排序器允许带电背板插入
- OP413ESZ-REEL耳机输出放大器多媒体声音编解码器典型应用
- TB67S142FTG 2 相单极步进电机驱动器评估板