论文摘要
Linux 作为一款优秀的免费操作系统,有着其独特的优势。近年来已得到国内外通讯设备制造商的高度重视,并已开发出基于嵌入式Linux 的通讯设备与智能手机终端。经过长期的发展,Linux 已经具备在大型通讯设备中使用的条件,开展对嵌入式Linux 的研究与应用,对于降低产品成本、提高产品质量具有重要的战略意义。本论文详细分析了嵌入式系统的基本概念,系统地介绍了linux 用作嵌入式操作系统所具有的实时支持,网络支持,GUI 支持等特点,并深入地研究了嵌入式Linux 内核机制,认为在嵌入式Linux 中,应用程序经常使用的系统调用涉及到用户态和内核态的切换,这样会增加系统开销,影响系统性能。在上述基础上,本论文提出了在linux 内核态中建立内核线程库KTH,实现应用程序的内核化,并阐述了内核线程库所要达到的功能、性能,提出了KTH的体系结构,然后详细介绍和分析了本人所完成的各KTH 模块的设计和实现,以及在设计和实现过程中所采用的主要数据结构、主要算法及函数流程。最后分别以线程处理速度、信号量处理速度两方面对本KTH 进行了测试。
论文目录
摘要Abstract第一章 绪论1.1 课题背景1.2 攻读学位期间完成的主要工作1.3 论文章节安排第二章 嵌入式系统概述2.1 嵌入式系统的定义2.2 嵌入式系统的发展历程2.3 嵌入式系统的特点2.4 嵌入式系统的应用领域2.5 嵌入式系统的发展趋势第三章 嵌入式linux 系统概述3.1 Linux 的历史和现状3.2 linux 用作嵌入式操作系统3.2.1 嵌入式处理器支持3.2.2 实时支持3.2.3 网络支持3.2.4 GUI 开发支持3.2.5 使用成本低3.2.6 文档完善3.3 小结第四章 KTH 系统的设计4.1 需求分析4.1.1 功能需求4.1.2 性能需求4.1.3 属性需求4.2 体系结构4.2.1 线程管理子模块4.2.3 对象管理子模块4.2.4 信号量管理子模块4.2.5 内存管理子模块4.2.6 日志管理子模块4.2.7 Shell 子模块第五章 KTH 模块的设计与实现5.1 KTH 库的初始化5.2 线程管理子模块5.2.1 主要思想5.2.2 线程管理初始化5.2.3 主线程处理5.2.4 线程创建5.2.5 线程中止5.2.6 线程挂起5.2.7 线程唤醒5.2.8 等待指定线程结束5.2.9 线程调度参数的设定和获取5.2.10 线程本地存储的设定和获取5.2.11 线程延迟5.2.12 线程管理退出5.3 对象管理子模块5.3.1 主要思想5.3.2 对象申请5.3.3 对象释放5.3.4 对象遍历5.4 信号量管理子模块5.4.1 主要思想5.4.2 B 信号量5.4.3 C 信号量5.4.4 优先级继承协议PIP5.4.5 M 信号量5.5 内存管理子模块5.5.1 内存管理的结构5.5.2 内存模块初始化5.5.3 内存分配5.5.4 内存释放5.5.5 内存回收5.5.6 查看内存分配情况5.6 日志管理子模块5.6.1 主要实现思想5.6.2 日志信息的产生5.6.3 日志信息的过滤5.6.4 日志的处理5.7 Shell 子模块5.7.1 Shell 的处理流程5.8 KTH 库的退出第六章 KTH 的测试6.1 测试内容6.2 测试环境6.3 测试方法6.3.1 线程的创建和删除测试6.3.2 等待线程结束测试6.3.3 强制线程结束6.3.4 线程的挂起和唤醒6.3.5 动态改变KTH 线程的优先级6.3.6 获取KTH 线程的调度参数6.3.7 杀死所有的KTH 线程6.3.8 延迟当前线程6.3.9 信号量相关操作测试6.3.10 线程切换的时间6.3.11 测试创建和删除线程的时间6.3.12 测试挂起线程(SUSPEND)的时间6.3.13 测试恢复运行线程(RESUME)的时间6.3.14 测试创建信号量的时间6.3.15 测试删除信号量的时间6.3.16 测试获取信号量的时间(信号量可用)6.3.17 测试获取信号量的时间(信号量不可用)6.3.18 测试释放信号量的时间(信号量等待队列不为空)6.3.19 测试释放信号量的时间(信号量等待队列为空)6.3.20 长时间创建极限个线程再删除6.3.21 长时间创建极限个信号量再删除6.3.22 长时间测试极限个线程运行中防止优先级反转的表现6.4 测试结果记录第七章 结束语参考文献致谢个人简历
相关论文文献
标签:嵌入式系统论文; 内核线程论文; 优先级继承论文; 内核运行时刻库论文;
基于嵌入式linux的内核线程库KTH的设计与实现
下载Doc文档