嵌入式Linux操作系统实时性研究.pdf
《嵌入式Linux操作系统实时性研究.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux操作系统实时性研究.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式操作系统应用中文核心期刊微计算机信息(嵌入式与S O C)2 0 0 7 年第2 3 卷第6 2 期文章编号:1 0 0 8 0 5 7 0(2 0 0 7)0 6 2 0 0 7 0-0 3嵌入式L in ux 操作系统实时性研究T h eR e s e a r c ho fE m b e d d e dL i n u xO p e r a t i n gS y s t e m SR e a l-t i m e(齐齐哈尔大学)王发智李会祁晓钰李丽W A N GF A Z H IL IH U IQ IX l A O Y UL I L l摘要:本文通过对L i n u x 操作优势和不足进
2、行分析,发现L i n u x 关于实时进程的优先级没有涉及到实时进程的截止时间和进程的重要程度,为了增强L i n u x 的关于实时进程的处理,本文并提出了一种优化改进调度算法。同时,根据项目的要求对L i n u x 的内核等进行了改造。关键字:嵌入式;操作系统;实时性;L i n u x中图分类号:7 1 1)3 1 6 2文献标识码:BA b s t r a c t:T h a t t h er e a l-t i m ea,t、,q n c e m e n tp r i o r i t yo fL i n u xd o e sn o ti n v o l v ec u t o f
3、ft i m ea n dt h ea d v a n c e m e n ti m p o r t a n td e g r e ei sd i s c o v e r e di nt h ea r t i c l et h r o u g ht h ea n a l y s i st ot h eL i n u xo p e r a t i o n Ss u p e r i o r i t ya n di n s u f f i c i e n t,I no r d e rt os t r e n g t h e nr e a l t i m ea d v a n c e m e n tp
4、 r o c e s s i n go fL i n u x,t h i sa r t i c l ep r o p o s e so n ek i n do fo p t i m i z e da n di m p r o v e dd i s p a t c ha l g o r i t h m A tt h es a m et i m e,e a r r yo nt h ei m p r o v e m e n tt ot h eL i n u xk e r n e la c c o r d i n gt ot h ep r o j e c tr e q u e s t K e yw o
5、 r d:E m b e d d e d,O p e r a t i n gs y s t e m,R e a l-l l m e,L i n u x刖吾实时操作系统是指一个能够在指定时间范围内完成特定的功能或者对外部的异步事件做出响应的操作系统。嵌入式操作系统由于应用的需要和硬件条件的限制,使得它同普通的台式计算机的操作系统不同。它要满足处理与时间的关系。必须能够保证对每个进程的时间性要求,即保证在要求的时间内完成相应的任务。在相当一部分嵌入式系统中,系统的实时性在整个系统中起至关重要的作用。因此,关于嵌入式操作系统的实时性研究有着重要的意义。1 引入嵌入式实时操作系统的必要性实时操作系统是
6、一段程序,是在系统启动之后在后台运行着的软件程序。应用程序则是运行在这个后台之上的多个任务。不同的任务执行不同的要求,包括资源管理、消息管理、任务调度、异常处理等工作。每个任务有自己的优先级别,实时操作系统根据每个任务的优先级别来动态切换各个任务,保证实时性的要求。台式机的操作系统追求的是性能的平均性,而实时操作系统追求的是实时性。随着用户对嵌入式系统要求的不断提高,嵌入式操作系统的应用不仅仅要局限于只对系统级的需求,而且要满足用户级的要求。过去很多嵌入式系统不是一个操作系统,或者是提供商用软件的专有核心,或者是D O S 操作系统的扩展。显然这些方法并不能适应今天嵌入式系统开发的要求。现有的
7、一些商业实时操作系统,尽管提供了很小的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市场的需求。因此,人们把目光投向了通用操作系统,希望把它们“改造”为实时操作系统。通常这些操作系统功能强大,结构复杂,易于软件的二次开发,王发智:讲师硕士基金项目:黑龙江省教育厅科学技术项目:单片机低运算能力嵌入式系统信号处理算法研究(1 1 5 1 1 4 4 5)实用性强,并且提供编程人员熟悉的标准A P I。此外,这些操作系统也提供了一些对实时软件开发的支持。然而,这些操作系统用于嵌入式系统的开发还存在不足。嵌入式系统要求具备高可靠性,满足应用需求的可剪裁性,以及比通用操作系统要求更高的实时
8、性。做为嵌入式系统开发的解决方案,L i n u x 在众多通用操作系统中具有独一无二的优势。2L i n u x 作为实时操作系统的优势L i n u x 诞生于1 9 9 1 年,它是一个真正的多任务、多平台、支持多处理器、安全可靠的操作系统。嵌入式L i n u x 是指对L i n u x小型化裁减后,能够固化在容量有限的存储器芯片中,应用于特定嵌入式场合的L i n u x 操作系统。因为L i n u x 自身的优点使其非常适合做为嵌入式操作系统,其优点表现为以下几个方面:(1)开发成本小,源代码公开;大多数商业操作系统都是价格昂贵的,L i n u x 是一个免费的性能优秀的操作
9、系统。而且源代码公开,使不同领域和不同层次的用户可以根据自己的应用需要对内核进行裁减。(2)可靠性高,稳定性好,容易移植;同目前流行的操作系统相比,L i n u x 是非常稳定和可靠的,这一点已经得到很多用户的肯定。也是一个多平台的操作系统,可以运行在很多种处理器上。这一点对于嵌人式的应用尤其重要。(3)强大的网络功能;几乎所有的网络协议和网络接口都已经订制在L i n u x 中。L i n u x 的内核比标准的U N I X 更加高效率的处理网络协议,系统的网络吞吐两性能好。也是因为这样,L i n u x在网络服务器上占据越来越大的市场份额。(4)功能强大的开发工具;L i n u
10、x 提供C、c+、J a v a 等很多开发工具,而且开发者可以免费获得。L i n u x 具备这么多的工具,使得用户可以自行建立嵌入式系统的开发环境和交叉运行环境,而且可以不用专门的仿真工具直接在L i n u x 内核调试即可。正是由于L i n u x 具有上述的诸多优势,使得它近几年在嵌入式应用领域发展迅速。嵌入式实时L i n u x 的开发和研究成为一7 0 3 6 0 元,年邮局订阅号:8 2-9 4 6 万方数据嵌入式操作系统应用目前操作领域的一个热点。3L i n u x 作为实时操作系统存在的不足L i n u x 虽然有很多优点。但是,L i n u x 实时f 生的不
11、足也是它应用上的一个重要障碍。主要表现在以下方面:(1)内核的不可抢占性;抢占性是指当系统中出现一个优先级高于当前运行进程的进程时,系统立刻中断当前正在运行的进程,马上切换给优先级高的进程。如果一个系统不具备抢占性,当高优先级的进程到来的时候,它也要先运行完当前的普通进程后才能切换给高优先级进程。实时性的要求是高优先级的进程可以抢占低优先级的进程。对于L i n u x 系统来说,在这方面还有待改造,以便对实时进程做出及时的反映。(2)进程调度的不可抢占性;L i n u x 操作系统为了实现的方便,屏蔽掉了强制性调度。对于每个进程L i n u x 都分给它一个时间片,即使高优先级的进程也只
12、能等待其它进程用完时间片,才能开始使用属于自己的时间片。这样,我们很难判断一个实时性的进程要经过多少时间才能被调用。这也是L i n u x 做为实时操作系统的一个弱点。(3)时钟中断的精度不高;L i n u x 的任务调度的时间精度虽然达到了l O m s,但是这无法满足一些对时间精度要求苛刻的实时应用。时钟精度的选择很重要,精度太高,虽然系统反映快,但是系统的负载量加大,开销就大。精度太低,就不能保证实时性。所以,要对系统时钟精度进行折中考虑。(4)其它方面;比如L i n u x 系统的额外操作、缓冲机制等也不利于实时性进程的及时响应。综上所述,L i n u x 必须经过改造才能满足
13、实时性。通过对L i n u x 的内核改造以提高系统的实时性。4 改进的方案4 1 调度算法的优化目前实时系统的调度算法主要有先进先出算法(F i r s tI na n dF i r s tO u t,F I F O)、单调速率算法(R a t eM o n o t o n i c,R M)、最早截止时间优先算法(E a r l i e s tD e a d l i n eF i r s t,E D F)、价值最高优先算法(H i g h e s tV a l u eF i r s t,H V F)等。L i n u x 一共有三类可执行进程:普通的非实时进程S C H E D _ O T
14、 H E R,采用基于动态优先级的先进先出(F I F O)调度策略;实时进程S C H E D F I F O,遵守P O S I X l b标准的F I F O 调度规则;实时进程S C H E D R R,遵守P O S I X l b标准的循环r o u n d r o b i n,R R)调度规则。在对L i n u x 改造成实时系统的过程中要考虑几方面的问题:(1)允许高优先级的进程(如系统调用)抢占C P U,改进后的调度算法应无条件支持可抢占式调度。(2)硬实时系统是不支持时间片轮转调度策略的。在不改变时间片长度的前提下,改进后的L i n u x 实时系统将是软实时系统。(
15、3)建立等待进程优先级的主要依据是进程的重要性。实时系统调度算法应综合考虑进程的重要性和进程完成截止时间两个概念,以保证实时进程在截止时间内尽可能多的完成。每个进程的优先级计算按如下公式:Y=A+K(P(T 1 一T 2),Y 表示进程的优先级,A 表示进程的重要性,K 为常数因子,P 表示进程的执行时间,T 1 表示截止时间,他表示等待时间。P(T 1-T 2)表示进程的紧急程度,值越大,则表示该进程越应该先执行。改进之后,对于重要性相同的进程,采用F I F O 调度策略。对重要性不同的进程则按照上述公式计算,然后根据计算结果决定先执行哪一个。4 2 对L i n u x 的改造嵌入式系统
16、对软件的体积有着严格的要求。在台式计算机上应用的L i n u x 操作系统有很多功能根本不可能在嵌入式系统中应用。好在我们可以对L i n u x 进行改造,以使它适合我们自己的系统。改造可以从内核、函数库、文件系统等方面进行。(1)内核的改造;L i n u x 内核包括进程管理、内存管理、设备管理等方面。在L i n u x 操作系统中,过多的服务增加了系统运行的开销,占用系统的存储资源,降低了系统效率。所以要根据项目的实际情况对内核进行改造。通过改造,去掉内核不需要的模块,来提高系统的执行效率。但是并不是说越小越好。还要考虑系统的完整性,兼容性和可扩展性。在配置过程中,大部分选项可以使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 操作系统 实时 研究
限制150内