页高速缓存

这篇博客详细介绍了Linux系统中的页高速缓存,包括address_space对象、基树及其标记,以及块在页高速缓存中的存放方式。页高速缓存通过address_space对象管理和维护,基树用于高效查找页描述符,而块缓冲区和缓冲区页则描述了块在缓存中的存储结构。此外,还讨论了脏页的写回机制和pdflush线程的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、页高速缓存 

1、address_space对象

       描述属于同一持有者的页缓存描述符的链表,该对象记录在持有者索引节点对象数据结构中,为页高速缓存的主要数据结构。页描述符的mapping字段指向address_space、index字段表示在所有者地址空间中的页偏移量;

       页的持有者可能是文件也可能是块设备文件,当进行文件的读写时页的持有者为文件,文件的索引节点对象的i_data字段指向address_space对象,索引节点的i_mapping字段指向同一索引节点的i_data字段,address_space的host字段也指向其索引节点;当直接访问磁盘块时,持有者为对应块设备文件,则address_space对象记录在块设备文件的块描述符的bdev的bd_inode字段中,块设备文件的索引节点与文件索引节点一样使用i_mapping字段指向address_space对象,address_space对象的host字段指向设备文件的索引节点,这种情况下的页缓存区的块缓冲区涉及的块必须在块设备上相邻,这种缓冲区页称作块设备缓冲区页(简称块设备页);

2、基树

       address_space对象使用基树进行页描述符管理,其page_tree字段是基树的根。基树的每个节点有64个指针指向下层节点或页描述符,叶子节点指向页描述符,上层节点指向其他节点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picaso77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值