| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 页高速缓存 -> 正文阅读 |
|
[数据结构与算法]页高速缓存 |
一、页高速缓存 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个指针指向下层节点或页描述符,叶子节点指向页描述符,上层节点指向其他节点。 节点数据结构radix_tree_node成员: 包括记录下层节点的数组slots(包含64个指针成员),count记录节点中非空指针数量的计数器,tags是二维标志数组(两个各含64个元素的数组,分别存放子节点的脏标记、写回标记);树根用radix_tree_root数据结构表示,包含表示树深度(不含叶子节点)、gfp_mask(新定义节点请求的内存区)、rnode(指向树中第一层节点) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:34:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |