实时操作系统 期末报告.docx
- 文档编号:25938492
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:12
- 大小:153.06KB
实时操作系统 期末报告.docx
《实时操作系统 期末报告.docx》由会员分享,可在线阅读,更多相关《实时操作系统 期末报告.docx(12页珍藏版)》请在冰豆网上搜索。
实时操作系统期末报告
实时操作系统期末总结报告
一、实时操作系统的概述
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。
因而,提供及时响应和高可靠性是其主要特点。
实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。
我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。
1.1.实时操作系统的相关概念
(1)实时操作系统的定义
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。
在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。
在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:
汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:
ms级)。
一些实时操作系统是为特定的应用设计的,另一些是通用的。
一些通用目的的操作系统称自己为实时操作系统。
但某种程度上,大部分通用目的的操作系统,如微软的WindowsNT或IBM的OS/390有实时系统的特征。
这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。
(2)实时操作系统中的一些重要的概念
代码临界段:
指处理时不可分割的代码。
一旦这部分代码开始执行则不允许中断打入;
资源:
任何为任务所占用的实体;
共享资源:
可以被一个以上任务使用的资源;
任务:
也称作一个线程,是一个简单的程序。
每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。
典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:
休眠态,就绪态,运行态,挂起态,被中断态;
任务切换:
将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;
内核:
负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。
分为不可剥夺型内核和可剥夺型内核;
调度:
内核的主要职责之一,决定轮到哪个任务运行。
一般基于优先级调度法;
(3)及时性
关于实时操作系统的及时性,我将从如下两个方面进行介绍:
实时操作系统的时间限和实时操作系统的应用相关。
时间限:
对一些实时性要求较高的系统,它们要求的时间限一般是毫秒级(ms),但是通常的实时操作系统,一般是秒级(s)或是在100s左右。
这样的及时响应是不能满足的,为了能更好的满足某种需要,我们需要把实时操作系统的及时响应时间缩小到10ms左右,这样才能使实时操作系统的性能更好,可靠性更高。
同时在接收到某个指令之后,做出最快速的判断,达到响应的最佳效果。
应用相关:
在现实生活中我们所看到的最多的实时操作系统运用相关的是:
汽车的驾驶实时操作系统,其中又主要与它的定位实时跟踪系统和实时节能系统最为突出。
在定位实时跟踪系统中的智能GPS定位能够让驾驶人员实时掌握自己的行驶方向,这样能够在最短的时间内到达目的地。
其次,在图像采集和处理过程中,我们需要精确测试针,这同样需要很高的及时操作,比如10ms/针。
(4)实时操作系统的结构
实时操作系统主要是在微内核基础上的层次化机构,应用程序主要指各种面向具体应用的背景的软件系统。
另外RTEMS提供了标准的应用组件库,它是将RTEMS的功能扩展至新的运用领域而形成的标准模块;同时由于RTEMS支持丰富的网络协议,因此标准组件库还包含了较多的网络模块。
RTEMS系统结构图
对应其中的存储器部分我以冯.诺依曼体系结构作为图解:
冯.诺依曼体系结构图
通常实时软件体系结构:
如嵌入式软件体系结构分为四层,如下图所示:
RTEMS管理器
板级支持包(BSP):
BSP也叫设备驱动层,它是把操作系统与具体的硬件平台隔离开来,也就是说,在BSP中,把所有与硬件相关的代码封装起来,并向上提供一个虚拟的硬件平台,而实时操作系统就运行在这个虚拟的平台上。
(5)实时操作系统的任务
实时操作系统的任务其实总结起来就是一种调度机制。
如何能够更好的处理事务,从而在最短的时间内达到我们的期望,这就是事实操作系统需要完成的任务。
而在完成任务过程中最主要的又是实时操作系统的调度算法,一个好的实时操作系统必须具备多种优秀的调度机制。
在当今计算机高速发展的时代,传统的单击操作任务处理系统已经不能够满足时代发展的需要,实时多任务操作系统将成为本世纪的主流。
实时多任务操作系统,以分时方式运行多个任务,看上去好象是多个任务“同时”运行。
任务之间的切换应当以优先级为根据,只有优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的“实时”。
其RTOS的主要功能模块有调度和中断处理(为了优化用汇编编写),任务管理,事件管理,定时器管理,报文管理,循环队列管理,资源管理,固定存储块管理,规范的UART管理,自动掉电管理。
这些也是标准的RTOS所应具有的基本功能。
总结起来多任务实时操作系统的主要任务就是在同一时刻,进行多个操作(输入多个指令,由实时操作系统的多线程机制同时处理多个任务),在一定的时间内输出多个操作结果。
多任务层次结构图
1.2、实时操作系统的特征
1)高精度计时系统(时间约束性)
计时精度是影响实时性的一个重要因素。
在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。
这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
其中包括硬实时和软实时,硬实时是任务必须在规定的时间之内完成,否则将影响结果的精确性,但是软实时则是没有强制规定必须再规定的时间内完成任务,也就是我们所说的时间约束性不是很强。
2)多级中断机制(及时性)
一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。
有的必须立即做出反应,有的则可以延后处理。
因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。
这就是一个响应时间即:
及时性的特点,响应时间越短我们所得到的数据就越精确,越接近最优结果。
3)实时调度机制
实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。
但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。
4)可预测性和可靠性
可预测性是指系统能够对实时任务的执行时间进行判断,确定是否能够满足任务的时限要求。
由于实时系统对时间约束要求的严格性,使可预测性成为实时操作系统的一项重要性能要求。
可靠性是在一些重要的实时应用中,为确保减少任何不可靠因素和计算机的微小故障,或某些特定强实时任务超过时限的问题的出现,从而减少那些难以预测的后果,所以可靠性的实时操作系统中非常的重要。
二、实时操作系统的流水线操作
2.1、流水线操作以及流水线操作与实时操作的关系
流水线操作:
所谓的流水线操作就是指将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。
程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。
一般的三级流水线操作为:
取指、译码、执行。
流水线操作与实时操作系统有着非常紧密的联系,通常现在我们所说的实时操作系统都是多任务实时操作系统,所谓的多任务实时操作就是在同一时间可以同时执行多个指令,而互不干扰。
在今天多任务实时操作系统已成为一种必须,那么这种系统必须实现多线程机制,然而多线程的实现就必须使用流水线操作。
流水线操作不但能够提高实时操作系统的性能,而且能过大大提高计算机的计算速度,满足当代大量数据处理等实质性操作的需要。
通常流水线操作有两种结构,冯.诺依曼结构和哈佛结构。
冯.诺依曼结构是将程序指令存储器和数据存储器合并在一起的结构,但是哈佛结构则是一种将程序指令存储器和数据存储器分开的存储结构。
两中结构的体系图如下所示:
冯.诺依曼体系结构图
哈佛体系结构图
2.2、高速缓冲存储器的特点以及与实时操作系统的关系
高速缓冲存储器:
是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。
主要由三大部分组成:
Cache存储体、地址转换部件、替换部件。
高速缓冲存储器的容量一般只有主存储器的几百分之一,但它的存取速度能与中央处理器相匹配。
根据程序局部性原理,正在使用的主存储器某一单元邻近的那些单元将被用到的可能性很大。
因而,当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。
于是,中央处理器就可以直接对高速缓冲存储器进行存取。
在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。
由于高速缓冲存储器有如上的特点,这些特点和实时操作系统的及时性(在很快的时间之内做出反应)吻合,所以一个实时性很好的实时操作系统必须配置高速缓冲存储器,这样实时操作系统的性能才能很好的体现。
三、实时操作系统的任务分配与调度策略
实时操作系统的任务分配机制其实就是一种任务调度策略,一个好的实时系统必须具有优秀的调度算法作为基础,下面我主要就两种调度机制作为介绍:
单调速率调度算法(短周期优先算法)和时间片轮转算法。
短周期优先算法:
短周期优先算法又名短作业调度算法,是从后备队列中选择一个或者若干个估计运行时间最短的作业,将他们调入内存运行。
而短进程优先调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或者发生某事件而被阻塞放弃处理机时再重新调度。
时间片轮转法:
系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。
当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的队尾;然后,再把处理机分配给就绪队列中的新的队首进程,同时也让它执行一个时间片。
这样就可以保证就绪队列中的所有进程在一个给定的时间内均能获得一时间片的处理机执行时间。
在整个实时操作系统中,调度的实现与任务运行状态迁移,任务队列有着密切的联系,可以说任务运行状态迁移和任务队列决定了调度器的实现。
调度器的主要作用是在就绪队列中选择优先级最高的任务运行,如果优先级最高的任务不止一个,则选择队头的任务运行。
四、实时操作系统的衡量指标
4.1、性能度量指标
一个实时操作系统的实时性能的主要评测指标包括上下文切换时间,抢占时间,中断延迟时间,信号量混洗时间。
1、上下文交换时间:
上下文切换时间也称任务切换时间(taskswitchingtime),定义为系统在两个独立的、处于就绪态并且具有相同优先级的任务之间切换所需要的时间。
它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。
切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率。
产生任务切换的原因可以是资源可得,信号量的获取等。
任务切换是任一多任务系统中基本效率的测量点,它是同步的,非抢占的,实时控制软件实现了一种基于同等优先级任务的时间片轮转算法。
影响任务切换的因素有:
主机CPU的结构,指令集以及CPU特性。
任务切换过程增加了应用程序的额外负荷。
CPU的内部寄存器越多,额外负荷就越重。
任务切换所需要的时间取决于CPU有多少寄存器要入栈。
实时内核的性能不应该以每秒钟能做多少次任务切换来评价,RTOS中通常是1微秒左右。
2、抢占时间(preemptiontime):
抢占时间即系统将控制权从低优先级的任务转移到高优先级任务所花费的时间。
为了对任务进行抢占,系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,最后进行任务的切换,所以抢占时间中包括了任务切换时间。
它和任务切换有些类似,但是抢占时间通常花费时间更长。
这是因为执行中首先要确认唤醒事件,并评估正在运行的任务和请求运行的任务的优先级高低,然后才决定是否切换任务。
实质上,所有的多处理任务可以在执行期间动态分配优先级,所以,抢占时间也是衡量实时性能的重要指标。
3、中断延迟(InterruptLatency):
中断延迟时间是指从接收到中断信号到操作系统做出响应,并完成进入中断服务例程所需要的时间。
多任务操作系统中,中断处理首先进入一个中断服务的总控程序,然后才进入驱动程序的ISR。
中断延迟时间=最大关中断时间+硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间。
硬件开始处理中断到开始执行中断服务例程的第一条指令之间的时间由硬件决定,所以,中断延迟时间的长短主要取决于最大关中断的时间。
硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。
4、信号量混洗时间:
信号量混洗时间(semaphoreshufflingtime),是指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。
在RTOS中,通常有许多任务同时竞争某一共享资源,基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。
信号量混洗时间反映了与互斥有关的时间开销,因此也是衡量ERTOS实时性能的一个重要指标。
4.2、其它度量指标
1.任务调度机制:
RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制。
从调度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式上来讲,分可抢占、不可抢占、选择可抢占调度方式;从时间片来看,分固定与可变时间片轮转。
2.最小内存开销:
RTOS的设计过程中,最小内存开销是一个较重要的指标,这是因为在工业控制领域中的某些工控机(如上下位机控制系统中的下位机),由于基于降低成本的考虑,其内存的配置一般都不大,例如康拓5000系列5185板,其基本内存配置仅为256KSRAM+128KEPROM,而在这有限的空间内不仅要装载实时操作系统,还要装载用户程序。
因此,在RTOS的设计中,其占用内存大小是一个很重要的指标,这是RTOS设计与其它操作系统设计的明显区别之一。
五、实时操作系统内核配置体会
在对实时操作系统内核的配置过程中,我主要采用的是odlaskconfig配置方法,这种配置方法的优点是能够很快速的配置Linux内核,但是它也有一个主要的缺点就是在快速配置Linux内核的时候,我们不能对内核配置的每一步骤有一个清楚的认识和学习。
六、课程及实验学习体会
通过该课程的学习对实时操作系统有了一个从无到有的了解过程,虽然说认识不是很深刻,但是在这一学期的实时操作系统的学习中我学到了很多的知识。
首先,我对实时操作系统的概念有了一个清楚的认识,同时认识到它不但越来越广泛地应用于各个领域,也越来越受到人们的重视,包括航空、航天、工业过程控制、武器防御系统、医疗、信息检索、银行系统等领域。
实时操作系统的任务,实质上就是一种调度机制,一个好的实时调度机制,在实时操作系统中将使实时操作系统的性能达到最高。
实时操作系统的结构中有一个主要成分是非常重要的,它是板级支持包(BSP),它是把操作系统与具体的硬件平台隔离开来,也就是说,在BSP中,把所有与硬件相关的代码封装起来,并向上提供一个虚拟的硬件平台,而实时操作系统就运行在这个虚拟的平台上。
其次,了解了实时操作系统的特征。
实时操作系统的特征主要有如下几个:
时间约束性、可预测性、可靠性、与外部环境的交互作用性等。
实时操作系统的性能指标主要包括包括上下文切换时间,抢占时间,中断延迟时间,信号量混洗时间等,在这些性能指标的学习和了解中,我了解到了及时性对于一个实时操作系统而言,有着重要的意义。
如果一个实时操作系统的及时性不好(不能针对一个任务做出非常快速的反应),那么可能带来严重的后果。
比如在航天航空领域,一个不好的实时操作系统,可能导致一次重要航天实验的失败,不到造成经济的随时,也将带来很多的负面影响。
最后,说道实时操作系统,我们不能不想到多线程,多线程有着良好的任务处理机制。
对于单线程而言,在同一时间内只能执行处理一个优先级较高的任务,这样不但效率很低,需要很长的处理时间,而且也不能满足时代发展的要求。
而多线程的出现,为实时操作系统的性能和时间响应方面做出了突出的贡献。
它与线程有着很大的其别:
(1)多进程有自己的内部逻辑地址,即:
内部逻辑空间,但是多线程没有内部逻辑地址,所以多线程的实时系统体积小;
(2)多线程能够共享资源,这又大大提高了实时操作系统的资源利用率,增强了实时系统的性能;(3)多线程的运行速度很快,这使得实时系统的实时性将大大提高;(4)多线程在使用公共变量时采用了同步机制,这也无疑为实时系统的性能和及时性的提高做出了贡献。
一句话,在这一学年的实时操作系统的学习中,对我来说是受益匪浅的,这将对我以后的学习产生良好的影响。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时操作系统 期末报告 实时 操作系统 期末 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)