实时操作系统期末总结报告
一、实时操作系统的概述
实时操作系统(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系统结构图
对应其中的存储器部分我以冯.诺依曼体系结构作为图解: