摘要 | 第1-5页 |
ABSTRACT | 第5-9页 |
第一章 绪论 | 第9-13页 |
·课题研究背景 | 第9-11页 |
·论文的主要工作 | 第11-12页 |
·论文的组织结构 | 第12-13页 |
第二章 SMP 系统及线程调度 | 第13-30页 |
·SMP 系统 | 第13-18页 |
·基于总线的SMP | 第13-15页 |
·基于交叉开关的SMP | 第15-17页 |
·基于多级交换网络的SMP | 第17-18页 |
·进程与线程 | 第18-23页 |
·进程概念及原理 | 第18-20页 |
·线程概念及原理 | 第20-23页 |
·进程调度及调度算法 | 第23-29页 |
·调度算法分类 | 第24-25页 |
·常用调度算法 | 第25-29页 |
·本章小结 | 第29-30页 |
第三章 LINUX 调度系统及CFS 剖析 | 第30-57页 |
·LINUX 内核调度器简史 | 第30-31页 |
·O(1)调度器概要 | 第31-32页 |
·完全公平调度器概要 | 第32-33页 |
·模块化的调度器接口 | 第32页 |
·CFS 调度器 | 第32-33页 |
·CFS 组调度 | 第33页 |
·CFS 实现核心 | 第33-34页 |
·红黑树介绍 | 第34-35页 |
·CFS 关键数据结构 | 第35-40页 |
·struct task_struct 的变化 | 第36页 |
·struct sched_entity 结构体 | 第36-37页 |
·struct sched_class 结构体 | 第37-38页 |
·struct cfs_rq 结构体 | 第38-39页 |
·struct task_group 结构体 | 第39-40页 |
·CFS 核心代码剖析 | 第40-46页 |
·scheduler_tick(…)函数 | 第40-41页 |
·task_tick_fair(…)函数 | 第41页 |
·entity_tick(…)函数 | 第41页 |
·update_curr(…)及__update_curr(…)相关函数 | 第41-43页 |
·check_preempt_tick(…)函数 | 第43-44页 |
·schedule(…)函数 | 第44-45页 |
·put_prev_task_fair(…)及相关函数 | 第45-46页 |
·pick_next_task_fair(…)及相关函数 | 第46页 |
·源代码分析总结 | 第46页 |
·CFS 组调度支持 | 第46-47页 |
·CFS 与SMP | 第47-56页 |
·调度域 | 第49-51页 |
·Linux SMP 系统调度层级结构 | 第51-52页 |
·CFS 之SMP 负载平衡 | 第52-56页 |
·本章小结 | 第56-57页 |
第四章 高性能SMP 调度系统研究 | 第57-73页 |
·SMP 调度基础 | 第57-61页 |
·同步机制 | 第57-58页 |
·局部性原理 | 第58-59页 |
·SMP 负载均衡策略 | 第59-60页 |
·调度策略 | 第60-61页 |
·高效SMP 调度系统分析 | 第61-65页 |
·较小粒度的锁 | 第61页 |
·独立的运行队列 | 第61-62页 |
·分级的负载平衡机制 | 第62-63页 |
·高效SMP 调度系统图例 | 第63-65页 |
·LINUX SMP 调度优化 | 第65-72页 |
·优化原理分析 | 第66-67页 |
·Futex 概要原理 | 第67-68页 |
·内核改动分析及实现 | 第68-70页 |
·简单验证及分析 | 第70-72页 |
·本章小结 | 第72-73页 |
第五章 总结与展望 | 第73-74页 |
致谢 | 第74-75页 |
参考文献 | 第75-78页 |
攻硕期间取得的研究成果 | 第78-79页 |