摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第10-15页 |
1.1 背景介绍 | 第10页 |
1.2 国内外研究现状 | 第10-13页 |
1.2.1 本地软件配置方案之争 | 第10-11页 |
1.2.2 Windows注册表的发展现状 | 第11-13页 |
1.3 主要研究内容 | 第13页 |
1.4 论文组织 | 第13-15页 |
第二章 相关理论与技术基础 | 第15-26页 |
2.1 文件系统的基本概念 | 第15-20页 |
2.1.1 文件系统的相关概念 | 第15-18页 |
2.1.1.1 文件 | 第15页 |
2.1.1.2 文件的结构 | 第15-16页 |
2.1.1.3 文件的元数据 | 第16页 |
2.1.1.4 文件的内容 | 第16-17页 |
2.1.1.5 目录 | 第17-18页 |
2.1.2 文件系统的基本操作 | 第18-20页 |
2.1.2.1 文件系统的初始化 | 第18-19页 |
2.1.2.2 文件系统的挂载与卸载 | 第19页 |
2.1.2.3 文件和目录的创建 | 第19-20页 |
2.1.2.4 文件的打开与读写 | 第20页 |
2.2 文件系统的VFS层抽象 | 第20-23页 |
2.2.1 FreeBSD的VFS层 | 第21-22页 |
2.2.2 Linux的VFS层 | 第22-23页 |
2.3 Linux和FreeBSD的内存管理 | 第23-24页 |
2.3.1 FreeBSD的内存管理 | 第24页 |
2.3.2 Linux的内存管理 | 第24页 |
2.4 注册表的基础知识 | 第24-25页 |
2.5 本章小结 | 第25-26页 |
第三章 经典的注册表设计剖析 | 第26-36页 |
3.1 注册表的核心概念和实现技术 | 第26-29页 |
3.1.1 核心概念 | 第26-28页 |
3.1.1.1 Hive | 第26-27页 |
3.1.1.2 BaseBlock | 第27页 |
3.1.1.3 Cell | 第27页 |
3.1.1.4 Bin | 第27-28页 |
3.1.2 Hive磁盘结构分析 | 第28页 |
3.1.3 索引技术的实现 | 第28-29页 |
3.2 ReactOS注册表实现剖析 | 第29-31页 |
3.2.1 Hive文件的内存初始化 | 第29-30页 |
3.2.2 Cell和Bin的管理 | 第30-31页 |
3.2.3 脏数据的管理和回写磁盘策略 | 第31页 |
3.3 WRK注册表实现剖析 | 第31-35页 |
3.3.1 Hive文件的初始化 | 第32页 |
3.3.2 Bin和Cell的内存管理策略 | 第32-35页 |
3.3.3 Cell的分配策略 | 第35页 |
3.4 本章小结 | 第35-36页 |
第四章 RegFS文件系统的概要设计 | 第36-43页 |
4.1 需求分析 | 第36-37页 |
4.2 设计方案 | 第37-39页 |
4.3 注册表系统总体框架 | 第39-42页 |
4.3.1 注册表存储模块 | 第40-41页 |
4.3.2 注册表显示模块 | 第41页 |
4.3.3 注册表修改模块 | 第41页 |
4.3.4 注册表监听模块 | 第41页 |
4.3.5 注册表底层信息收集模块 | 第41-42页 |
4.3.6 组件自注册模块 | 第42页 |
4.4 本章小结 | 第42-43页 |
第五章 RegFS文件系统详细设计与实现 | 第43-59页 |
5.1 RegFS的分层设计 | 第43-44页 |
5.2 上层模块的设计与实现 | 第44-51页 |
5.2.1 磁盘数据结构 | 第45-49页 |
5.2.1.1 最小的数据存储单位Cell | 第45-47页 |
5.2.1.2 基本管理单元Bin | 第47-48页 |
5.2.1.3 文件系统超级块HiveBase | 第48-49页 |
5.2.2 内存数据结构 | 第49-51页 |
5.2.2.1 Hive的内存结构RegHive | 第49-50页 |
5.2.2.2 Bin的内存结构BinControlBlock | 第50页 |
5.2.2.3 超级块的内存结构RegMount | 第50-51页 |
5.2.2.4 键的内存结构RegNode | 第51页 |
5.2.2.5 Bin的索引结构RegMap | 第51页 |
5.3 底层模块的设计与实现 | 第51-53页 |
5.3.1 FreeBSD的底层模块 | 第52-53页 |
5.3.2 Linux的底层模块 | 第53页 |
5.4 重要执行流程 | 第53-58页 |
5.4.1 RegFS的加载流程 | 第54-55页 |
5.4.2 RegFS的卸载流程 | 第55-56页 |
5.4.3 创建子键的流程 | 第56页 |
5.4.4 删除子键的流程 | 第56-57页 |
5.4.5 获取键值数据的流程 | 第57-58页 |
5.5 本章小结 | 第58-59页 |
第六章 系统测试与分析 | 第59-66页 |
6.1 测试准备 | 第59-60页 |
6.2 系统功能测试 | 第60-62页 |
6.2.1 创建子键 | 第60页 |
6.2.2 删除子键 | 第60-61页 |
6.2.3 查询键值 | 第61页 |
6.2.4 添加键值 | 第61-62页 |
6.2.5 删除键值 | 第62页 |
6.3 系统性能测试 | 第62-65页 |
6.3.1 并发性能测试 | 第62-64页 |
6.3.2 元数据性能测试 | 第64-65页 |
6.4 本章小结 | 第65-66页 |
第七章 结论和展望 | 第66-68页 |
致谢 | 第68-69页 |
参考文献 | 第69-71页 |
攻硕期间取得的研究成果 | 第71-72页 |