发布网友 发布时间:2022-04-20 07:53
共3个回答
热心网友 时间:2023-01-27 07:09
实时操作系统,简称RTOS(Real Time Operat-
ing System). UNIX是分时系统,定时器的优先级
最高.以UNIX为基础,允许对中断处理的优先级
做些调整,使系统对外部事件的响应速度保证不大于
某一特定的时间间隔,就构成了实时系统,如Lynx,
OS-9等操作系统.如果操作系统能做到不死机,且
响应速度有保证就可以用于各种控制目的了.
用于控制目的时,多任务是必要的,而多用户往
往并不需要,尤其是在嵌人式应用中.因此可以将
UNIX多用户那部分功能去掉,并根据嵌人式应用的
特点,舍弃一部分不必要的功能,以适应嵌人式应用
万方数据
学习园地 327
中要求占用内存少的特点,这就是嵌人式多任务实时
操作系统.在这里,"操作"二字已经失去了本来的含
义.
RTOS的开发工具允许用户针对不同的应用对
象对RTOS的内核进行裁剪,压缩,以适应各类应
用,并提供应用程序的调试环境.
从理论上讲,无论UNIX还是基于UNIX思想
的RTOS,都包含了计算机软件理论最精华的那一部
分.从实践上说,它们亦是被无数应用系统证明是完
全成功的.
实时系统是指能在确定的时间内执行其功能并
对外部的异步事件做出响应的计算机系统.其操作
的正确性不仅依赖于逻辑设计的正确程度,而且跟这
些操作进行的时间有关."在确定的时间内"是这个
定义的核心.也就是说,实时系统是对响应时间有严
格要求的.例如,一个视频播放系统要从CD-ROM
中读取高压缩率的数据,并将其解压缩,送到显示设
备.解压缩的工作必须在很短的时间(毫秒级)内完
成,否则会出现画面的不连续.假设图像每帧的停留
时间为30ms,那么该系统必须在这段时间内将下一
帧从CD-ROM中读出并完成解压缩.30ms就成为
一个时间*,每次处理均在30ms内就是实时的,
一万次处理有一次处理时间大于30ms也不是好的
实时系统.
一个系统具有实时性并不说明该系统的响应和
处理速度非常快;而一个高速系统也未必是实时系
统.特定的实时系统有其具体的时限(或速度)要求,
该时限要求对不同系统千差万别.高能粒子甄别系
统的甄别处理要求在微秒或纳秒级时间内完成;而实
时数据库查询系统仅要求在用户键人请求后几秒内
得到查询结果.所以设计实时系统之初,应该明确目
标系统的实时要求是秒级的,还是毫秒,微秒级的,避
免盲目追求高速度,造成浪费.
实时系统通常分为硬实时和软实时系统.前者
意味着存在必须满足的时间*,而后者意味着偶尔
超过时间*是可以容忍的.
实时操作系统是基于计算机的,是管理计算机硬
件资源并提供人机命令或编程接口的系统,它能在固
定的时间内对一个或多个由外设发出的信号做出适
当的反应.与普通(分时)操作系统不同,实时操作系
统强调了系统对外部异步事件响应时间的确定性,这
已经逐渐接近嵌人式系统的设计思想了.
实时操作系统和分时操作系统的另一个重要区
别在于二者的任务调度方式不同.
常见的分时调度算法有时间片轮转调度,优先级
调度,多重队列,最短作业优先,保证调度算法以及彩
票调度算法.这里不详细描述这些算法.
实时调度算法主要有三种,比较经典的是事件发
生率单调算法(Liu和Layland, 1993).该算法事先
为每个任务分配一个与事件发生频率成正比的优先
级,调度程序总是调度优先级最高的就绪任务,必要
时将剥夺当前任务的CPU使用权,让高优先级的任
务先运行.这种算法被证明是最优的,也是为大部分
实时内核所采用的调度方式.
另一种流行的实时调度算法是最早截止优先算
法.当一个事件发生时,对应的任务被加到就绪队列
中,该队列按照截止期限排序,截止期限最短的优先
级最高.对周期性事件,截止时间即为事件下次发生
的时间.
第三种算法首先计算各任务的富裕时间,称作裕
度(laxity).如果一个任务需要运行200ms,而它必
须在250ms内完成,则其裕度为50ms.该算法称为
最少裕度法,即选择裕度最少的任务.
尽管通过这三种算法中的任何一个都可以将分
时操作系统转化为实时操作系统,但实际上,由于前
者的任务切换时间太长,实时性能都比较低,所以实
时系统一般都采用专用的实时操作系统.这些实时
操作系统的主要特征有:
.规模小,
中断被屏蔽的时间很短;
中断处理时间短;
.任务切换很快.
常见的实时操作系统有VxWorks, VRTX/OS,
pSOS+,RTMX,OS/9和Lynx OS等等.
热心网友 时间:2023-01-27 08:27
实时操作系统是计算机中的一种重要系统软件。与通用平台操作系统不同,RTOS往往嵌入到机器或设备内部运行,一般用户无法看到它的运行界面,因而又被称为嵌入式操作系统。
热心网友 时间:2023-01-27 10:02
一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。
所谓“实时”,是表示“及时”,而实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。
实时系统(Real-timesystem,RTS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。
因此实时系统应该在事先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。
分类:
1、强实时
强实时系统(HardReal-Time):在航空航天、军事、核工业等一些关键领域中,应用时间需求应能够得到完全满足,否则就造成如飞机失事等重大地安全事故,造成重大地生命财产损失和生态破坏。
因此,在这类系统的设计和实现过程中,应采用各种分析、模拟及形式化验证方法对系统进行严格的检验,以保证在各种情况下应用的时间需求和功能需求都能够得到满足。
2、弱实时
弱实时系统(SoftReal-Time):某些应用虽然提出了时间需求,但实时任务偶尔违反这种需求对系统的运行以及环境不会造成严重影响,如视频点播(Video-On-Demand,VOD)系统、信息采集与检索系统就是典型的弱实时系统。
在VOD系统中,系统只需保证绝大多数情况下视频数据能够及时传输给用户即可,偶尔的数据传输延迟对用户不会造成很大影响,也不会造成像飞机失事一样严重的后果。
/iknow-pic.cdn.bcebos.com/5366d0160924ab187d0c3c7d38fae6cd7b0b66"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/5366d0160924ab187d0c3c7d38fae6cd7b0b66?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/5366d0160924ab187d0c3c7d38fae6cd7b0b66"/>
实时系统的调度范围:
1、分析
为了精确管理“时间”资源,已达到实时性和与预测性要求,并能够满足是实时系统的新要求,需用实时调度理论对任务进行调度和可调度性分析。任务调度技术包括调度策略和可调度性分析方法,两者是紧密结合的。
任务调度技术研究的范围包括任务使用系统资源(包括处理机、内存、I/O、网络等资源)的策略和机制,以及提供判断系统性能是否可预测的方法和手段。
例如,什么时候调度任务运行、在哪运行(当系统为多处理机系统或分布式系统时)、运行多长时间等等;以及判断分析用一定参数描述的实时任务能否被系统正确调度。
给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源利用率,或优化某一项指标。
而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。实时调度技术通常有多种划分方法,常用以下两种。
2、占式调度
抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。一个正在执行的任务放弃处理器的条件为:自愿放弃处理器(等待资源或执行完毕);有高优先级任务启动,该高优先级任务将抢占其执行。
除了共享资源的临界段之外,高优先级任务一旦准备就绪,可在任何时候抢占低优先级任务的执行。抢占式调度的优点是实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。
而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃。其优点是上下文切换少;缺点是在一般情况下,处理器有效资源利用率低,可调度性不好。
3、驱动策略
静态表驱动策略(StaticTable-DrivenScheling)是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。这张运行时刻表与列车运行时刻表类似,指明了各任务的起始运行时刻及运行时间。
运行时刻表一旦生成就不再发生变化了。在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。由于所有调度策略在离线情况下指定,因此调度器的功能被弱化,只具有分派器(Dispatcher)的功能。
优先级驱动策略指按照任务优先级的高低确定任务的高低确定任务的执行顺序。优先级驱动策略又分为静态优先级调度策略。
静态优先级调度是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。静态优先级调度又称为固态优先级调度。动态优先级调度是指任务的优先级可以随着时间或系统状态的变化而发生变化。
/ke.baidu.com/item/%E5%AE%9E%E6%97%B6%E7%B3%BB%E7%BB%9F#3"target="_blank"title="百度百科-实时系统">百度百科-实时系统