分享

软实时与硬实时

 创科之龙 2011-07-06
                                软实时与硬实时

特别说明:需要嵌入式UCOSII ucGUI arm和linux入门资料,项目资料,linux驱动资料的可以加我QQ!!希望我的一些项目经验和资料可以带你进入嵌入式之门,在浩瀚的linux世界里找到属于你自己的舞台!!!希望大家多多支持

我的QQ:1653687969

 实时操作系统 (Real-time OS) 是相对于分时操作系统 (Time-Sharing OS) 的一个概念。在一个分时操作系统中,计算机资源会被平均地分配给系统内所有的工作。在分时系统中,各项任务需要花多长时间来完成,这一点并不重要;而在一个实时操作系统之中,最关注的是每个任务在多长时间内可以完成。简单地说,实时和分时操作系统最大的不同在于 “时限(deadline)”这个概念。
    从上述区别中可以看出,在实时操作系统中,系统必须在特定的时间内完成指定的应用,具有较强的“刚性”,而分时操作系统则注重将系统资源平均地分配给各个应用,不太在意各个应用的进度如何,什么时间能够完成。不过,就算是实时操作系统,其“刚性”和“柔性”的程度也有所不同,就好像是系统的“硬度”有所不同,因而有了所谓的“硬实时(hard real-time)”和“软实时 ( soft real-time)”。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。

   硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。在许多情况下,这样的“软性”正确率已经可以达到用户期望的水平。比如,用户在操作DVD播放机时,只要98%的情况都能正常播放,用户可能就满意了;而发射卫星、控制核反应堆的应用系统,这些系统的实时性必须达到100%,是绝对不允许出现意外的。

 实时就是在规定的时间内必须正确地完成操作,完成操作的时间有操作系统的因素,也有用户软件的因素。
     非实时操作系统指操作系统无法保证哪怕是最高优先级任务开始执行的最后时限。
     软实时操作系统指的是操作系统只能保证在xx时间内执行最高优先级的用户代码,但用户软件是否能及时完成操作,操作系统不管!
     硬实时嘛,操作系统一直负责到操作完成,世界上第一个硬实时操作系统现在还在研制中,之于何时能完成,问上帝吧!
     强调一个概念,非实时、软实时、硬实时三个概念的区别,并不是以速度为标准的,它是一个确定性概念!linux与rtlinux比,高优先级任务到达时,无论是最短时间还是平均时间,linux均优于rtlinux,但是rtlinux的最后时限优于linux,所以rtlinux的实时性优于linux,这就是确定性的含义。即使使用非屏蔽中断完成的操作,也只能算软实时,不能算硬实时,因为非屏蔽中断并不能告诉你何时完成工作。只有“非屏蔽中断+执行时间确定的ISR”才可以称为硬实时系统,因为这个系统明确告诉我什么时候完成操作。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多