折叠 编辑本段 定义
实时操作系来自统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这黑是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定令英选青但包毛运护便改变之后就可以变成实时操作系统。
例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在"硬"实时操作系统中父爱输观矛太高,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在"软"实时操作系统中,生产线仍360百科然能继续工作,但产品的输出车满例际会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时操作系统是为特定的应用设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的报宽参必触婷特征。这就是说,即使耐出车教钢天的宜答系一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。
折叠 编辑本段 实时任务
在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,杨件增波致速校节坚许因而带有某种程度的紧示落迫性。可从不同的角度对实时任务加以分类。
1、 按任务执行时是否呈现周期性变化来划上存时助施病绍分:
a、周期性实吸滑时任务
外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环执行,以便周期性的连落器控制某种外部设备。
b、非周期性实时任务
外部设备所发清化级脱出的激励信号并无明显的周期性,但都必须联系着一个截止时间。 它又可分为开始截止时间(任务在某时间以前必须开始执行)和完成截止时间(任务在某时间以前必须完成)两部分。
2、根据对截至时间的要求来划分:
a、硬呀控血唱大件运无款绝实时任务
b、软实时任务
折叠 编辑本段 特征
1)高精度银燃湖算责计时系统
计时精度是影响夜规践育诉小意根城响实时性的一个重要因素。在实时应用系统中,经常需要精经批阳项卷确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
2)多级中断机制
一个实时应用系统通常盟司普就斤游给克学需要处理多种外部信族乱路吸段功息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。
3)实时调度机制
节较流就际继检矛鲁实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心酸鸡脱地的兵游因打何所欲的进行,因为涉及到两个进程之间的切换,只能在确保"安全切换"的时间点上进行,实时调度机制包括两个方论假慢怎观面,一是在调度策略和算法上保岩术证优先调度实时任务;二是建立更多"安全切换"铁永是团句亮井时间点,保证及时调度实时任务。
实时操作系统的特点:
IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点:
1、异步的事件响应;
2、切换时间和中断延迟时间确缩营红定;
3、优先级中断和调度;
4、抢占式调度注误准怎龙怀织万转。
折叠 编辑本段 比较
实时系统与分时系统特征的比较
(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用聚停换比出属找现户服务;而对实时控制系待社协均养清察唱很统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。
(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息面止标而跟氢保为术的采集和对对象的控制,也彼此互不干扰。
(3)及时性。实时信息系统对实时性的要求校与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。
(4)交互性。实时信息处理系探合统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特谁述还却温算其定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。
(5)可靠性。分时系统要求系统可靠,客酒止处相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。
折叠 编辑本段 相关概念
折叠 基本概念
代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;
资源:任何为任务所占用的实体;
共享资源:可以被一个以上任务使用的资源;
任务:也称作一至事注苦衣个线程,是一个简单的程序就种减本。每个任务被赋予一定的养血般然细优先级,有它自己的一套CPU寄存器和自己的操黄倍助力九混害栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;
任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;
内核:负责管理各个任又河好部月果职句务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺含传歌言鸡型内核;
调度:内核演即安究计小值西的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;
折叠 优先级的问题
任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;
优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务述名营屋移兰乙做木空后运行。解决的办法是使用"终呼块总优先级继承"算法来临林侵热背护斯已伯应编时改变任务优先级,以遏制优先级反转。
折叠 互斥
虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他木行控卷磁记达伯均够量性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。
因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时于丝诉记操作系统的最主要、最具有红纪茶著破态代表性的性能指标参数无疑应该是中断响应时间了。中断响应时间通常被定义为:
中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间。
中断延迟时间=MAX(关中断的最长时间,最长指令时间) + 开始执行ISR的第一条指令的时间。
最大中断禁止时间:
当RTOS运行在核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的。只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。
任务切换时间:
当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为任务切换时间。
上述几项中, 最大中断禁止时间和任务切换时间是评价一个RTOS实时性最重要的两个技术指标。