- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Linux实时操作系统研究
基于Linux实时操作系统研究
【摘要】本文分析和研究了Linux系统在实时性方面存在的问题,并分析了实时系统的原理,以及提出了实时Linux系统的系统结构和应用程序的结构。
【关键词】Linux;实时操作系统;FIFO;实时应用程序
一、引言
随着计算机性能的不断提高,人们对计算机的数据处理能力提出了新的要求,比如在视频数据处理,网络数据处理等。因此,实时操作系统处理数据的效率成为当前计算机用户关注的焦点。目前,比较流行的实时操作系统主要有两大类:基于DOS的实时操作系统和基于UNIX操作系统。
基于DOS的实时操作系统是指在原有DOS的基础上,提高其相应功能来实现实时操作系统的特性,但是,由于DOS系统存在单任务的缺陷,因而其只能适应于需求时间较小任务量较少的实时任务处理。
基于UNIX的操作系统是通过UNIX的分时系统设计实时操作系统,来达到实时操作系统的最优平均性能。因此,基于UNIX的实时操作成为当前主要的实时操作系统,但其存在价格昂贵和应用开发环境匮乏的缺陷。由于Linux操作系统是开放源代码的类UNIX的操作系统,同时性能稳定,处理数据效率高,是一款性能高价格低廉的操作系统。
鉴于此,基于Linux的操作系统来开发一个高效性能的实时操作系统是可行的。
二、标准Linux系统在实时特性方面所存在的问题
实时操作系统的实时特性主要表现在以下几方面:(1)运行期间和处理数据的高可靠性特性;(2)处理数据请求的及时特性;(3)完成数据请求和处理的时限保证特性,即实时操作系统必须保证在指定的数据请求的响应时间内或者数据处理时间内完成请求或者处理任务,具有此功能的操作系统也称为硬实时操作系统;如果没有在数据处理请求,或者数据处理时间期限内完成数据处理,即未能实现时限保证特性,此类实时操作系统也称为软实时操作系统。
实时操作系统的实时性主要体现在时限保证,因此,超出时限保证范围的大小直接反映着实时操作系统的性能,即最坏情况。考虑到实时操作系统多方面的性能,所以,在设计Linux实时操作系统时,采用最优平均性能来衡量操作系统的实时性。
1.Linux的调??问题
Linux操作系统的调度问题主要是指进程调度。Linux操作系统的核心是不可竞争的,在规定的时间内对进程实现等级优先调度。一个等级较低的进程在调用系统核心进程时,则其会被操作系统挂起,只有当等级高的内核进程完成后,才能继续执行,但是,在执行系统核心进程期间,其完成时间的不可预测性可能造成等待后续进程的持久挂起,进而不能满足系统的实时性。
2.Linux的进程问题
Linux操作系统的进程问题主要包括进程的同步和进程的互斥问题。Linux操作系统的进行同步和进程互斥是通过信号量来实现的。在信号量的使用过程中,其存在信号量的加锁操作和解锁操作。由于信号量的频繁加锁和解锁操作会造成一定量时间的损耗,同时影响操作系统的实时特性。鉴此,Linux操作系统采用了粗粒度策略,但是仍然存在信号的加锁和解锁的问题,其系统性能较差。
3.Linux内存锁问题
与其他操作系统一样,Linux操作系统在内存管理方面,同样采用虚拟内存管理策略,即数据在处理过程中,进程会被系统换入内存和换出到虚拟内存中,频繁的换入和换出操作会耗费大量的时间。同时,实时操作系统需要将一些主要的或者关键的进程始终运行在内存中,但Linux不能保证这种实时要求。
4.Linux的时间问题
Linux操作系统的时间问题包括时间精度问题和定时器问题。操作系统的时间精度的精度越高,则中断处理就会越频繁,进而造成耗费时间量大。另外,Linux的硬时间周期一般为100Hz,这就要求Linux的最高时间精度可以为100ms,导致某些实时响应无法在此时间精度内完成实时响应。
5.关中断问题
Linux处理进程的互斥时,会保护临界资源,同时会关掉中断,但会造成优先级别高的进行长时间的阻塞,为了解决此问题,Linux开发者对其相关的实时性进行了扩充和增加,但最终只能保证一部分的软件实现实时应用。
三、实时Linux操作系统
1.基本思想
实时Linux操作系统最早是由新墨西哥理工学院开发的。实时操作系统主要是在实时环境下进行数据的采集,数据处理等。为了实时的Linux操作系统,开发者研究和设计了可推行的实时内核,并将原来的Linux内核作为一个进程与用户实时进程同时调度,同时将Linux核心进程的等级调到最低,以便于操作系统的实时进程进行资源推断,以此来保证系统的实时特性。用户或者开发者可以针对实时性的具体应用来开发或者编写实时任务,可以采用先进先出的策略来调度实时任务进程和Linux系统核心进程,其实时Linux操作系统的系统结构如图1所示
文档评论(0)