




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 Linux的嵌入式实时操作系统的分析方案 1.引言 从上世纪八十年代开始,开始出现各种各样的商用嵌入式操作系统,这些操作系统大部分都是为专用或通用系统而开发,如VxWorks、Windows CE、pSOS、Palm OS、OS-9、LynxOS、QNX、LYNX 等,它们的优点是为用户提供良好的开发环境,提高了应用系统的开发效率,运行效率高、实时性好,缺点是价格昂贵且源代码封闭。这就不仅影响了开发者的积极性,而且使得整个产品的成本急剧上升。1 结合国内实情,嵌入式系统需要的是一套高度简练、界面友好、质量可靠、应用广泛、易开发、多任务、价格低廉的实时操作系统。
2、在嵌入式产品的开发中,有必要寻找一种廉价的嵌入式实时操作系统,以降低产品的开发成本和系统复杂度。由于Linux的具备的诸多优点,对Linux开展适当的改造后作为廉价的嵌入式实时操作系统是一个值得探讨的、具有实际意义的问题。 2.Linux的特点 Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的程序也可以做到缺陷1MB,而且同样稳定。Linux作为一种可裁减的软件平台系统,是发展嵌入式产品的资源,遍布的众多Linux爱
3、好者又能给予Linux开发者强大的技术支持。因此,Linux作为廉价的嵌入式实时操作系统的选择,是非常有发展前途的。23 (1)与硬件芯片的严密结合 嵌入式Linux的一大特点是:与硬件芯片(如SOC等)的严密结合。它不是一个纯软件的Linux系统,而比一般操作系统更加接近于硬件。嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及与嵌入式处理器的严密结合。 (2)开放的源代码 嵌入式Linux的另一大特点是:代码的开放性。代码的开放性是与后PC时代的智能设备的多样性相适应的。代码的开放性主要表达在源代码可获得上,Linux代码开发就像是“集市式”开发,任意选择并按自己
4、的意愿整合出新的产品。 对于嵌入式Linux,事实上是把BIOS层的功能实现在Linux的driver层。目前,在Linux领域,已经出现了专门为Linux操作系统定制的自由软件的BIOS代码,并在多款主板上实现此类的BIOS层功能。 3.RT-Linux的实现机理 RT-Linux对Linux内核开展改造,将Linux内核工作环境做了一些变化,如图1所示: 从上图可以看出,在Linux内核和硬件中断的地方,加上了一个RT-Linux内核的控制。Linux的控制信号都要先交给RT-Linux内核先开展处理。在RT-Linux内核中实现了一个虚拟中断机制,Linux本身永远不能屏蔽中断,它发出的
5、中断屏蔽信号和打开中断信号都修改成向RT-Linux发送一个信号。如在Linux里面使用“sti”和“cli”宏指令来屏蔽和使能中断,是通过向x86处理器发送一个指令,而RT-Linux修改了这些宏指令,使得只是让RT-Linux里面的某些标记做了修改而已。对所有的中断,分成Linux中断和实时中断两类,如果RT-Linux内核收到的中断信号是普通Linux中断,那就设置一个标志位;如果是实时中断,就继续向硬件发出中断。在RT Linux中执行sti将中断打开之后,那些设置了标志位表示的Linux中断就继续执行。因此,cli并不能禁止RT Linux内核的运行,却可以用来中断Linux。Lin
6、ux不能中断自己,而RT-Linux可以。 RT-Linux的设计原则:在实时内核模块中的工作尽量少,如果能在Linux中完成而不影响实时性能的话,就尽量在Linux中完成。因此,RTLinux内核尽量做的简单,在RT-Linux内核中,不应该等待资源,也不需要使用共享旋转锁(SpinLock),实时任务和Linux进程间的通信也是非阻塞的,从来不用等待进队列和出队列的数据。 RT-Linux将系统和设备的初始化交给了Linux完成,对动态资源的申请和分配也交给了Linux。RT-Linux使用静态分配的内存来完成硬实时任务,因为在没有内存资源的时候,被阻塞的线程不可能具有硬实时能力。 4.改
7、变Linux内核的体系构造 Linux的内核体系采用的是Monolithic,在这种体系构造中,内核的所有部分都集中在一起,而且所有的部件在一起编译连接。这样虽然能使系统的各部分直接沟通,有效地缩短任务之间的切换时间,提高了系统的响应速度,实时性好并提高了CPU的利用率,但在系统比较大的时候体积也比较大,与嵌入式系统容量小、资源有限的特点不符合。而另外一种内核体系构造MicroKernel, 在内核中只包括了一些基本的内核功能如创立和删除任务、任务调度、内存管理和中断处理等部分,而文件系统、网络协议栈等部分都是在用户内存空间运行。这种构造虽然执行效率不如Monolithic内核,但大大减小了内
8、核的体积,同时也极大地方便了整个系统的升级、维护和移植,因此更能满足嵌入式系统的特点需要。为此,为使嵌入式Linux的应用更加广泛,可以考虑将Linux目前的Monolithic内核构造中的部分构造改造成MicroKernel体系构造。通过这种折中方法,可以使得到的Linux既具有很好的实时性,又能满足嵌入式系统体积小的要求。 5.RT-Linux的编程接口(API)及编程方法例如 (1)RTLinux的编程和控制接口(API)。 通过使用RTLinux的编程和控制接口(API),可以提供对实时任务的创立和删除、任务的调度和控制等功能。API函数主要有如下几类: 1)中断控制API函数;2)时
9、钟控制和获取;3)线程的创立和删除;4)POSIX方式的驱动接口;5)FIFO设备驱动程序;6)串口驱动程序的API函数;7)mbuff驱动API函数;8)浮点运算API函数。 (2) RTLinux的编程方法例如 该程序的原理是测出在RT-Linux中开展实时任务调度过程中调度需要花费时间的多少。算法如下: /*实时任务端*/ 对于每500个周期 等待上一个周期的任务完成 获得当前时间和上次周期任务完成时间的差,就是调度的时间 循环 向FIFO输出500个周期中完成的值和值。 /*应用程序端*/ 读取FIFO设备,获取值和值 在屏幕上打印出来 这种编程方法是开展RT Linux编程的通用方法
10、,将一个任务分为实时部分和非实时部分,在实时部分完成的是实时任务;在非实时部分主要是完成显示等不需要实时的功能。程序的体系构造如下所示: 限于篇幅,程序代码略。 6.开发嵌入式RT-Linux的几个问题 (1)Linux的移植。如果Linux不支持选用的平台,就需要把Linux内核中与硬件平台相关的部分改写,使之支持所选用的平台。 (2)内核的裁剪。嵌入式产品的可用资源比较少,所以它的内核相对嵌入式系统来说就显得有点大,需要开展剪裁到可利用的大小。 (3)桌面系统。现代的操作系统如果没有一个友好的界面是没有说服力的。现在的台式机Linux系统使用了传统的X-Window系统的模式Client/
11、Server构造。和硬件有关的部分即是Server端,实现一个标准的显示接口;应用程序通过对Server的服务请求,实现程序的显示。在此之上,实现窗口的管理功能。但X Window对于嵌入式系统来说显得很庞大。现在国内有MiniGUI,国外有MicroWindow,都在致力于嵌入式Linux GUI的开发。适用于嵌入式Linux上的X-Window的工作也在开展。 (4)驱动程序的开发。Linux内核更新的很快,许多的硬件驱动很快就被支持。但嵌入式系统应用领域是多种多样的,所选用的硬件设备也不同,并且不可能都有Linux的驱动程序,因此,设备驱动程序的开发也是重要的工作。 7.结束语 嵌入式系统的开发是剪裁与移植相结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东珠海市斗门区富山学校教师招聘16人模拟试卷及一套参考答案详解
- 2025广西南宁学院公开招聘博士21考前自测高频考点模拟试题完整参考答案详解
- 2025年风力发电行业低碳转型实践与效益评估报告
- 2025年新能源行业上市公司股权激励对业绩影响评估报告
- 2025年主题公园沉浸式体验设计创新理念与项目开发成本效益分析报告
- 2025年食品行业食品安全追溯体系与食品质量追溯系统比较报告
- 现金券协议书
- 协议书加定增
- 2025年垃圾焚烧发电与地热能利用结合模式研究报告
- 协议书差权字
- 2025广西崇左凭祥市委宣传部招聘编外工作人员1人考试参考题库及答案解析
- 2025江西赣州南康赣商村镇银行招聘4人考试参考题库及答案解析
- 社保协议书模板6篇
- 企业安全生产责任书范本大全
- 工艺设备变更风险评估报告模板
- 红星照耀中国考试真题及答案
- 2025离婚起诉状民事诉状(离婚案件用)
- 前端Vue3项目实战教程
- 国开(河北)2024年秋《现代产权法律制度专题》形考作业1-4答案
- 运用PDCA循环降低住院患者雾化吸入的不规范率品管圈成果汇报
- 感触最深的一件事七年级作文大全600字
评论
0/150
提交评论