实时操作系统 期末报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实时操作系统期末总结报告
一、实时操作系统的概述
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。
1.1.实时操作系统的相关概念
(1)实时操作系统的定义
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:ms级)。一些实时操作系统是为特定的应用
设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或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所应具有的基本功能。总结起来多任务实时操作系统的主要任务就是在同一时刻,进行多个操作(输入多个指令,由实时操作系统的多线程机制同时处理多个任务),在一定的时间内输出多个操作结果。
多任务层次结构图