实时 *** 作系统有哪些?

实时 *** 作系统有哪些?,第1张

问题一:硬实时 *** 作系统和软实时 *** 作系统有什么不同? 国际上常见的嵌入式 *** 作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时 *** 作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时 *** 作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3的Palm,以及Symbian和Google的Android等。

(一)VxWorks

VxWorks *** 作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时 *** 作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时 *** 作系统领域逐渐占据一席之地。

VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。

然而其价格昂贵。由于 *** 作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费功0万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用 *** 作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。(二)Windows CE

Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式 *** 作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的 *** 作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的 *** 作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。 *** 作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式 *** 作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对 *** 作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式 *** 作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。(三)嵌入式Linux

这是嵌入式 *** 作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式 *** 作系统份额的50%。

由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的......>>

问题二:实时 *** 作系统有哪些 实时 *** 作系统是保证在一定时间限制内完成特定功能的 *** 作系统。实时 *** 作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成 *** 作,这是在 *** 作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成 *** 作即可。我们通常使用的 *** 作系统在经过一定改变之后就可以变成实时 *** 作系统。

例如,可以为确保生产线上的机器人能获取某个物体而设计一个 *** 作系统。在“硬”实时 *** 作系统中,如果不能在允许时间内完成使物体可达的计算, *** 作系统将因错误结束。在“软”实时 *** 作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时 *** 作系统是为特定的应用设计的,另一些是通用的。一些通用目的的 *** 作系统称自己为实时 *** 作系统。但某种程度上,大部分通用目的的 *** 作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个 *** 作系统不是严格的实时系统,它们也能解决一部分实时应用问题。

大体上,实时 *** 作系统(RTOS)要求:

多任务

处理能被区分优先次序的进程线

一个中断水平的充份数量

被装入作为微型设备一部分的内含小 *** 作系统经常要求实时 *** 作系统。一些核心问题能被考虑以符合实时 *** 作系统的需求。然而,因为像设备驱动程序这样的其他成份,也通常被特别的方法需要,一个实时 *** 作系统通常比核心更大。

问题三:实时 *** 作系统有哪些 实时 *** 作系统是保证在一定时间限制内完成特定功能的 *** 作系统。实时 *** 作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成 *** 作,这是在 *** 作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成 *** 作即可。我们通常使用的...

问题四: *** 作系统都有哪些 实时 *** 作系统 上 1 目前当下 *** 作系统有PC端:Windows;LinuxMac osUnixWAP端有:Androidios

问题五:实时 *** 作系统的实时任务 在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。可从不同的角度对实时任务加以分类。1、 按任务执行时是否呈现周期性变化来划分:a、周期性实时任务外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环执行,以便周期性的控制某种外部设备。b、非周期性实时任务外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间。 它又可分为开始截止时间(任务在某时间以前必须开始执行)和完成截止时间(任务在某时间以前必须完成)两部分。2、根据对截至时间的要求来划分:a、硬实时任务b、软实时任务

问题六:windows实时 *** 作系统有哪些 Windows7、Windows8、Windows10,至少有这三款。

问题七:实时 *** 作系统的比较 实时系统与分时系统特征的比较(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的 *** 作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

问题八:嵌入式实时 *** 作系统和软实时 *** 作系统的区别 嵌入式实时系统中采用的 *** 作系统我们称为嵌入式实时 *** 作系统,它既是嵌入式 *** 作系统,又是实时 *** 作系统。作为一种嵌入式 *** 作系统,它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;而作为一种实时 *** 作系统(本文对实时 *** 作系统特性的讨论仅限于强实时 *** 作系统,下面提到的实时 *** 作系统也均指强实时 *** 作系统),它与通用 *** 作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这两种 *** 作系统之间的差别来逐步描述实时 *** 作系统的主要特点。

我们在日常工作学习环境中接触最多的是通用 *** 作系统,通用 *** 作系统是由分时 *** 作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并为它们分配系统资源。分时 *** 作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时 *** 作系统注重平均表现性能,不注重个体表现性能。如对于整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于某个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用 *** 作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机制中由于采用了LRU等页替换算法,使得大部分的访存需求能够快速地通过物理内存完成,只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间与不采用虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容量等好处,因此虚存技术在通用 *** 作系统中得到了十分广泛的应用。类似的例子还有很多,如Unix文件系统中文件存放位置的间接索引查询机制等,甚至硬件设计中的Cache技术以及CPU的动态分支预测技术等也都体现出了这种设计原则。由此可见,这种注重平均表现,即统计型表现特性的设计原则的影响是十分深远的。

实时 *** 作系统,即RTOS(Real-TIme operating system),是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的 *** 作系统。对于实时 *** 作系统,前面我们已经提到,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时 *** 作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时 *** 作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用 *** 作系统不同,实时 *** 作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时 *** 作系统注重的是个体表现,更准确地讲是个体最坏情况表现。举例来说,如果实时 *** 作系统采用标准的虚存技术,则一个实时任务执行的最坏情况是每次访存都需要调页,如此累计起来的该任务在最坏情况下的运行时间是不可预测的,因此该任务的实时性无法得到保证。从而可以看出在通用 *** 作系统中广泛采用的虚存技术在实时 *** 作系统中不宜直接采用。

由于实时 *** 作系统与通用 *** 作系统的基本设计原则差别很大,因此在很多资源调度策略的选择上......>>

问题九:实时 *** 作系统的特征 1)高精度计时系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地 *** 作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时 *** 作系统实现的高精度计时功能。2)多级中断机制一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。3)实时调度机制实时 *** 作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。实时 *** 作系统的特点IEEE 的实时UNIX分委会认为实时 *** 作系统应具备以下的几点:1、异步的事件响应2、切换时间和中断延迟时间确定3、优先级中断和调度4、抢占式调度

Linux的调度策略区分实时进程和普通进程,实时进程的调度策略是SCHED_FIFO和SCHED_RR,普通的,非实时进程的调度策略是SCHED_NORMAL(SCHED_OTHER)。

实时调度策略被实时调度器管理,普通调度策略被完全公平调度器来管理。实时进程的优先级要高于普通进程(nice越小优先级越高)。

SCHED_FIFO实现了一种简单的先入先出的调度算法,它不使用时间片,但支持抢占,只有优先级更高的SCHED_FIFO或者SCHED_RR进程才能抢占它,否则它会一直执行下去,低优先级的进程不能抢占它,直到它受阻塞或自己主动释放处理器。

SCHED_RR是带有时间片的一种实时轮流调度算法,当SCHED_RR进程耗尽它的时间片时,同一优先级的其它实时进程被轮流调度,时间片只用来重新调用同一优先级的进程,低优先级的进程决不能抢占SCHED_RR任务,即使它的时间片耗尽。SCHED_RR是带时间片的SCHED_FIFO。

Linux的实时调度算法提供了一种软实时工作方式,软实时的含义是尽力调度进程,尽力使进程在它的限定时间到来前运行,但内核不保证总能满足这些进程的要求,相反,硬实时系统保证在一定的条件下,可以满足任何调度的要求。

SCHED_NORMAL使用完全公平调度算法(CFS),之前的算法直接将nice值对应时间片的长度,而在CFS中,nice值只作为进程获取处理器运行比的权重,每个进程都有一个权重,nice优先级越高,权重越大,表示应该运行更长的时间。Linux的实现中,每个进程都有一个vruntime字段,vruntime是经过量化的进程运行时间,也就是实际运行时间除以权重,所以每个量化后的vruntime应该相等,这就体现了公平性。

CFS当然也支持抢占,但与实时调度算法不同,实时调度算法是根据优先级进行抢占,CFS是根据vruntime进行抢占,vruntime小就拥有优先被运行的权利。

为了计算时间片,CFS算法需要为完美多任务中的无限小调度周期设定近似值,这个近似值也称作目标延迟,指每个可运行进程在目标延迟内都会调度一次,如果进程数量太多,则时间粒度太小,所以约定时间片的默认最小粒度是1ms。

进程可以分为I/O消耗型和处理器消耗型,这两种进程的调度策略应该不同,I/O消耗型应该更加实时,给对端的感觉是响应很快,同时它一般又不会消耗太多的处理器,因而I/O消耗型需要调度频繁。相对来说,处理器消耗型不需要特别实时,应该尽量降低它的调度频度,延长其运行时间。

参考: linux内核分析——CFS(完全公平调度算法) - 一路向北你好 - 博客园


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7257771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存