欢迎来到天天文库
浏览记录
ID:27870519
大小:44.50 KB
页数:5页
时间:2018-12-06
《基于Linux的嵌入式实时操作系统的研究.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Linux的嵌入式实时操作系统的研究 1.引言 从上世纪八十年代开始,开始出现各种各样的商用嵌入式操作系统,这些操作系统大部分都是为专用或通用系统而开发,如VxWorks、WindowsCE、pSOS、PalmOS、OS-9、LynxOS、QNX、LYNX基于Linux的嵌入式实时操作系统的研究 1.引言 从上世纪八十年代开始,开始出现各种各样的商用嵌入式操作系统,这些操作系统大部分都是为专用或通用系统而开发,如VxWorks、WindowsCE、pSOS、PalmOS、OS-9、LynxOS、QNX、L
2、YNX等,它们的优点是为用户提供良好的开发环境,提高了应用系统的开发效率,运行效率高、实时性好,缺点是价格昂贵且源代码封闭。这就不仅影响了开发者的积极性,而且使得整个产品的成本急剧上升。[1] 结合国内实情,嵌入式系统需要的是一套高度简练、界面友好、质量可靠、应用广泛、易开发、多任务、价格低廉的实时操作系统。 在嵌入式产品的开发中,有必要寻找一种廉价的嵌入式实时操作系统,以降低产品的开发成本和系统复杂度。由于Linux的具备的诸多优点,对Linux进行适当的改造后作为廉价的嵌入式实时操作系统是一个值得探讨的、具有
3、实际意义的问题。 2.Linux的特点 Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。Linux作为一种可裁减的软件平台系统,是发展嵌入式产品的绝佳资源,遍布全球的众多Linux爱好者又能给予Linux开发者强大的技术支持。因此,Linux作为廉价的嵌入式实时操作系统的选择,是非常有发展前途
4、的。[2][3] (1)与硬件芯片的紧密结合 嵌入式Linux的一大特点是:与硬件芯片(如SOC等)的紧密结合。它不是一个纯软件的Linux系统,而比一般操作系统更加接近于硬件。嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及与嵌入式处理器的紧密结合。 (2)开放的源代码 嵌入式Linux的另一大特点是:代码的开放性。代码的开放性是与后PC时代的智能设备的多样性相适应的。代码的开放性主要体现在源代码可获得上,Linux代码开发就像是“集市式”开发,任意选择并按自己的意愿整合出新的产
5、品。 对于嵌入式Linux,事实上是把BIOS层的功能实现在Linux的driver层。目前,在Linux领域,已经出现了专门为Linux操作系统定制的自由软件的BIOS代码,并在多款主板上实现此类的BIOS层功能。 3.RT-Linux的实现机理 RT-Linux对Linux内核进行改造,将Linux内核工作环境做了一些变化,如图1所示: 从上图可以看出,在Linux内核和硬件中断的地方,加上了一个RT-Linux内核的控制。Linux的控制信号都要先交给RT-Linux内核先进行处理。在RT-Linu
6、x内核中实现了一个虚拟中断机制,Linux本身永远不能屏蔽中断,它发出的中断屏蔽信号和打开中断信号都修改成向RT-Linux发送一个信号。如在Linux里面使用“sTI”和“cli”宏指令来屏蔽和使能中断,是通过向x86处理器发送一个指令,而RT-Linux修改了这些宏指令,使得只是让RT-Linux里面的某些标记做了修改而已。对所有的中断,分成Linux中断和实时中断两类,如果RT-Linux内核收到的中断信号是普通Linux中断,那就设置一个标志位;如果是实时中断,就继续向硬件发出中断。在RTLinux中执行sT
7、I将中断打开之后,那些设置了标志位表示的Linux中断就继续执行。因此,cli并不能禁止RTLinux内核的运行,却可以用来中断Linux。Linux不能中断自己,而RT-Linux可以。 RT-Linux的设计原则:在实时内核模块中的工作尽量少,如果能在Linux中完成而不影响实时性能的话,就尽量在Linux中完成。因此,RTLinux内核尽量做的简单,在RT-Linux内核中,不应该等待资源,也不需要使用共享旋转锁(SpinLock),实时任务和Linux进程间的通信也是非阻塞的,从来不用等待进队列和出队列的数
8、据。 RT-Linux将系统和设备的初始化交给了Linux完成,对动态资源的申请和分配也交给了Linux。RT-Linux使用静态分配的内存来完成硬实时任务,因为在没有内存资源的时候,被阻塞的线程不可能具有硬实时能力。 4.改变Linux内核的体系结构 Linux的内核体系采用的是Monolithic,在这种体系结构中,内核的所有部分都集
此文档下载收益归作者所有