伴随着科技不断的日新月异推陈出新。信息家电,手持设备,无线设备等个性化设备的出现,相应的硬件和软件的迅速发展。许多设备都配有Intel,MIPS,摩托罗拉等公司生产的32位微处理器。许多开发商也开始为这些设备提供嵌入式操作系统。嵌入式系统与实时系统将会有越来越重要作用。
利用Linux搭建嵌入式操作系统是近年来出现的最令人振奋的方案。这有多方面的原因。首先,运行在嵌入式系统上的Linux能够提供全功能的桌面计算(Desktop Computing),且由于其开放代码,定制变得非常方便。其次,Linux 已经支持大多数嵌入式系统上使用的芯片,包括 StrongARM , MIPS 和 PowerPC。最后,Linux是免费的,使用Linux 不需要付出任何费用。现今风行世界的Linux操作系统,本着开放自由的精神,吸引了全世界的目光,越来越多的程序员加入到它的行列中来。所以利用 Linux 作为底层操作系统, 在其上进行实时化改造,建立一个具有实时应用能力的操作系统是现在日益流行的嵌入式操作系统的解决方案。
市场上常见的 PDA 等小型手持式设备上,以前由于硬件条件等的限制,我们看到功能都非常简单,没有网络、GUI等非常实用方便的功能。但最近出现的 Palm 等手持式电脑或者在 Windows CE 等面向嵌入式系统的操作系统上,我们已经看到了完整的网络、图形用户界面支持。随着手持式设备的硬件条件的提高,估计嵌入式系统对嵌入式操作系统的需求会越来越迫切。
本人长期以来对Linux 操作系统比较感兴趣,并结合本专业,对Linux应用于嵌入式实时环境进行了一定的研究。本论文基于这些事实,对面向嵌入式实时环境的 Linux系统的体系结构和一些技术内幕做了较深入的探讨。
论文首先概述了嵌入式系统及实时系统的发展情况。第二章介绍了在实时Linux领域的相关研究。第三章介绍了典型的实时系统RTLinux的设计与实现,第四章介绍了RTLinux的编程模型和一些应用实例。本文的第五章将对RTLinux的性能进行测试评估。最后是一点感想和展望。
关键词: Linux; RTLinux; 实时系统; 嵌入式系统。
目 录
Abstract i
摘 要 Ii
目 录.............................................................................................. III
图表及程序目录.............................................................................. v
缩略语............................................................................................... VI
第一章 嵌入式实时系统概况.................................................. 1
1.1 嵌入式系统概况................................................................. 1
1.1.1 嵌入式技术的历史发展............................................ 1
1.1.2 嵌入式系统的技术特点和应用前景...................... 2
1.1.3 典型的嵌入式系统..................................................... 3
1.2 实时系统概况..................................................................... 4
1.2.1 什么是实时系统......................................................... 4
1.2.2 实时操作系统的特点................................................ 4
第二章 实时系统的相关研究.................................................. 6
2.1 LINUX的分时特性............................................................ 6
2.2 LINUX的性能测试............................................................ 8
2.2.1 中断延迟测试............................................................. 8
2.2.2 上下文切换测试....................................................... 11
2.3 当前的实时操作系统...................................................... 12
第三章 嵌入式实时Linux系统RTLinux的设计与实现 16
3.1 RTLinux的结构............................................................. 16
3.2 中断模拟............................................................................ 17
3.3 实时任务............................................................................ 19
3.3.1 实时线程数据结构.................................................. 20
3.3.2 创建线程和线程调度.............................................. 21
3.4 实时调度............................................................................ 21
3.4.1 实现的调度器........................................................... 21
3.4.2 设计用户自己的调度器.......................................... 22
3.5 计时.................................................................................... 22
3.5.1 时间相关函数........................................................... 23
3.6 进程间通信....................................................................... 23
3.6.1 FIFO设备.................................................................. 23
3.6.2 共享内存.................................................................... 24
3.6.3 mbuff驱动程序......................................................... 25
第四章 rtlinux应用程序设计........................................... 26
4.1 程序结构............................................................................ 26
4.2 基本API............................................................................ 26
4.2.1 POSIX线程创建函数.............................................. 26
4.2.2 时间相关函数........................................................... 28
4.2.3 线程调度函数........................................................... 29
4.3 编程示例............................................................................ 30
4.3.1 实时部分.................................................................... 30
4.3.2 非实时部分............................................................... 34
4.3.3 编译和运行程序....................................................... 35
第五章 rtlinux的性能测试............................................... 37
第六章 感想与体会................................................................... 38
参考文献.......................................................................................... 40
致 谢................................................................................................. 42
附录A............................................................................................... 43
附录B............................................................................................... 59
<s
评论