| 独创性声明 | 第1-5页 |
| 摘要 | 第5-6页 |
| Abstract | 第6-10页 |
| 第一章 引言 | 第10-13页 |
| ·课题的背景 | 第10页 |
| ·课题的提出 | 第10-12页 |
| ·论文的组织 | 第12-13页 |
| 第二章 相关技术背景 | 第13-26页 |
| ·嵌入式系统 | 第13-14页 |
| ·嵌入式操作系统 | 第14-15页 |
| ·进程 | 第15-19页 |
| ·概述 | 第15-16页 |
| ·进程的定义和特性 | 第16页 |
| ·进程的状态 | 第16-17页 |
| ·进程的控制结构 | 第17-19页 |
| ·调度 | 第19-24页 |
| ·概述 | 第19页 |
| ·调度准则 | 第19-20页 |
| ·调度策略 | 第20-24页 |
| ·中断 | 第24-26页 |
| ·中断概述 | 第24页 |
| ·时钟中断 | 第24-26页 |
| 第三章 研究基础 | 第26-30页 |
| ·硬件环境 | 第26-28页 |
| ·软件环境 | 第28-30页 |
| 第四章 ARMLinux内核的修改 | 第30-37页 |
| ·概述 | 第30页 |
| ·调度的修改 | 第30-34页 |
| ·原来的调度策略 | 第30-33页 |
| ·调度的修改 | 第33-34页 |
| ·内核的其它修改 | 第34-35页 |
| ·排序就绪队列 | 第34-35页 |
| ·时钟中断服务程序的修改 | 第35页 |
| ·修改之后的内核 | 第35-37页 |
| 第五章 解决方案的设计与实现 | 第37-49页 |
| ·重要的数据结构和系统调用 | 第37-40页 |
| ·任务的数据结构 | 第37-39页 |
| ·调度参数的数据结构 | 第39-40页 |
| ·系统调用sched_setscheduler() | 第40页 |
| ·实时进程结束时间的计算 | 第40-42页 |
| ·解决方案的实现 | 第42-49页 |
| ·设计思想 | 第42页 |
| ·解决方案的概述 | 第42-43页 |
| ·解决方案的详细说明 | 第43-46页 |
| ·实际运行时间超过估计时间的处理 | 第46-47页 |
| ·不同方式插入就绪队列的讨论 | 第47页 |
| ·算法工作的时机 | 第47-49页 |
| 第六章 内核性能测试 | 第49-63页 |
| ·内核测试准备 | 第49-51页 |
| ·内核测试目的 | 第49页 |
| ·内核测试方法描述 | 第49-51页 |
| ·进行内核测试 | 第51-62页 |
| ·直接接受所有进程 | 第51-52页 |
| ·直接拒绝所有进程 | 第52-53页 |
| ·直接拒绝一个进程 | 第53-54页 |
| ·进程向前移动后被接受 | 第54-55页 |
| ·进程向前移动后因本身仍超时被拒绝 | 第55-57页 |
| ·进程向前移动后因使别的进程超时被拒绝 | 第57-58页 |
| ·进程向后移动后被接受 | 第58-59页 |
| ·进程向后移动后因本身超时被拒绝 | 第59-61页 |
| ·进程因实际运行时间超过预计运行时间被杀死 | 第61-62页 |
| ·内核测试的分析和总结 | 第62-63页 |
| 第七章 总结与展望 | 第63-65页 |
| 参考文献 | 第65-67页 |
| 致谢 | 第67-68页 |
| 论文相关工作 | 第68页 |