中文摘要 | 第3-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第10-15页 |
1.1 研究背景 | 第10-11页 |
1.2 研究现状 | 第11-12页 |
1.3 研究内容和意义 | 第12-14页 |
1.3.1 研究内容 | 第12-13页 |
1.3.2 研究意义 | 第13-14页 |
1.4 文章组织结构 | 第14-15页 |
第二章 同步机制 | 第15-35页 |
2.1 进程或者线程同步 | 第15-18页 |
2.2 数据同步 | 第18-19页 |
2.3 阻塞式同步机制-锁 | 第19-22页 |
2.3.1 锁类型 | 第19-20页 |
2.3.2 粒度 | 第20-21页 |
2.3.3 锁机制的缺点 | 第21-22页 |
2.4 非阻塞式同步机制 | 第22-27页 |
2.4.1 研究动机 | 第23页 |
2.4.2 当前实现 | 第23-24页 |
2.4.3 无等待(wait-freedom) | 第24-25页 |
2.4.4 无锁(lock-freedom) | 第25页 |
2.4.5 无障碍(obstruction-freedom) | 第25页 |
2.4.6 RAS与非阻塞式同步机制 | 第25-27页 |
2.5 LINUX操作系统中的无锁同步机制 | 第27-35页 |
2.5.1 读写锁 | 第28-29页 |
2.5.2 顺序锁 | 第29-31页 |
2.5.3 RCU | 第31-34页 |
2.5.4 无锁页高速缓冲区(lock-less page cache) | 第34-35页 |
第三章 概率同步机制-PWCS | 第35-49页 |
3.1 非确定性的来源 | 第35-36页 |
3.2 随机性评估 | 第36-39页 |
3.2.1 抛硬币模型 | 第36-37页 |
3.2.2 抛硬币模型的实现 | 第37-39页 |
3.3 基本概念 | 第39-40页 |
3.4 实现原理 | 第40-44页 |
3.4.1 标签类型的PWCS | 第40-42页 |
3.4.2 压缩类型的PWCS | 第42-43页 |
3.4.3 CRC类型的PWCS | 第43-44页 |
3.5 避免竞争 | 第44-46页 |
3.6 应用 | 第46-47页 |
3.6.1 用户空间的应用 | 第46-47页 |
3.6.2 内核空间的应用 | 第47页 |
3.7 可以解决的问题 | 第47-49页 |
第四章 验证及对比分析 | 第49-58页 |
4.1 验证内容 | 第49页 |
4.1.1 无效数据副本分布 | 第49页 |
4.1.2 性能对比 | 第49页 |
4.2 验证环境 | 第49-50页 |
4.3 验证方法及原理 | 第50-53页 |
4.3.1 统计无效数据副本出现的次数 | 第50-51页 |
4.3.2 统计读/写操作所需的时间 | 第51-52页 |
4.3.3 构造读者-写者问题 | 第52-53页 |
4.4 验证结果与分析 | 第53-58页 |
4.4.1 验证无效数据副本的分布 | 第53-54页 |
4.4.2 验证PWCS的性能特性 | 第54-58页 |
第五章 总结与展望 | 第58-61页 |
5.1 总结 | 第58页 |
5.2 展望 | 第58-61页 |
参考文献 | 第61-65页 |
作者研究生期间科研成果 | 第65-66页 |
发表论文 | 第65页 |
参与项目 | 第65-66页 |
致谢 | 第66页 |