您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 实时操作系统原理介绍ppt
實時操作系統原理介紹目錄一、實時操作系統簡介二、嵌入式實時操作系統三、實時操作系統的調度策略四、實時操作系統的工作原理一、实时操作系统简介1.1什么是操作系统?操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。它是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。以现代观点而言,标准个人PCOS应提供以下功能:进程管理;记忆空间管理;文件系统;网络通讯;安全机制;使用界面;驱动程序。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。1.2实时操作系统简介实时操作系统,即RTOS,全称Real-timeoperationsystem,是保证在一定时间限制内完成特定功能的操作系统。适用于嵌入式设备和有实时性要求的系统中。例如:可以确保生产线上的机器人能获取某个物体而设计一个操作系统。提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。1.3实时操作系统特点(1)可确定性(2)响应性(3)用户控制(4)可靠性(5)故障弱化运行1.4实时操作系统特征(1)高精度计时系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统的高精度计时功能。(2)多级中断机制一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即做出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。(3)实时调度机制实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。1.5实时操作系统的种类从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统两种,它们两者的区别在于应用场合和开发过程。1、一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。2、嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。优点:嵌入式实时操作系统具有规模小(一般在几K~几十K内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点。在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。缺点:使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。1.6实时操作系统的发展过程实时操作系统(RTOS)的研究是从六十年代开始的。从系统结构上看,RTOS到现在已经历了如下三个阶段:1.早期的实时操作系统2.专用实时操作系统3.通用实时操作系统实时操作系统经过多年的发展,先后从分实模式进化到保护模式,从微内核技术进化到超微内核技术,在系统规模上也从单处理器的RTOS发展到支持多处理器的RTOS和网络RTOS,在操作系统研究领域中形成了一个重要分支。1.7实时操作系统的评价指标评价一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量。1.任务调度机制:RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式上来讲,分可抢占、不可抢占、选择可抢占调度方式;从时间片来看,分固定与可变时间片轮转。2.内存管理:分实模式与保护模式。3.最小内存开销:RTOS的设计过程中,最小内存开销是一个较重要的指标,这是因为在工业控制领域中的某些工控机工控机的供应商(如上下位机控制系统中的下位机),由于基于降低成本的考虑,其内存的配置一般都不大,例如康拓5000系列5185板,其基本内存配置仅为256KSRAM+128KEPROM,而在这有限的空间内不仅要装载实时操作系统,还要装载用户程序。因此,在RTOS的设计中,其占用内存大小是一个很重要的指标,这是RTOS设计与其它操作系统设计的明显区别之一。4.最大中断禁止时间:当RTOS运行在核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的。只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。5.任务切换时间:当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为任务切换时间。上述几项中,最大中断禁止时间和任务切换时间是评价一个RTOS实时性最重要的两个技术指标。1.8实时操作系统的相关概念(1)基本概念代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;资源:任何为任务所占用的实体;共享资源:可以被一个以上任务使用的资源;任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核;调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;(2)关于优先级的问题任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法有优先级封顶协议和优先级继承协议。(3)互斥虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间。中断延迟时间=MAX(关中断的最长时间,最长指令时间)+开始执行ISR的第一条指令的时间。二、嵌入式实时操作系统简介2.1嵌入式实时操作系统简介嵌入式实时操作系统,即EmbededReal-timeOperationSystem。IEEE定义嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。一般定义为:以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。我们常常说的嵌入式操作系统都是嵌入式实时操作系统。比如μC/OS-II、eCOS和Linux。特点:与通用操作系统相比,嵌入式实时操作系统具有可移植、实时性能、内核精简、抢占式内核、使用可重入函数、可配置、可裁剪、高可靠性的基本特征。此外,还有并开发性、操作方便、简单、提供友好的图形界面。能提供强大的网络功能,支持TCP/IP协议及其它协议,为各种移动计算设备预留接口等特点。2.2嵌入式实时操作系统的分类从应用领域来分,可以分为:面向信息家电的嵌入式操作系统;面向智能手机的嵌入式操作系统,如SymbianOS、MSMobileOS、PalmOS、EmbeddedLinux等;面向汽车电子的嵌入式操作系统;面向工业控制的嵌入式操作系统等。按源代码分类,大体上可分为两种,商用型和开源型。按实时性能分可分为,强实时型和普通实时型。按内核结构分可分为,单内核型和微内核型。单内核设计思想:内核尽量全,功能强大。模块间通信通过直接函数调用实现。内部模块作为一个很大的进程运行,提供完整的操作系统服务。优点是系统在内核功能切换上开销小,对外来时间反应速度快;缺点是占用内存空间大,缺乏可扩展,维护困难,排除故障和增加新功能需要重新编译。微内核设计思想:内核尽量小,只执行基本的核心操作系统功能。特点是:移植方便;能有效利用内存;内核不提供操作系统相关服务,而提供实现这些服务的机制,包括:进程管理、存储管理、进程间通信、中断响应框架。一般的嵌入式操作系统都是微内核。2.3嵌入式实时操作系统的体系结构体系结构式操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。层次模块结构:微内核结构:三、实时操作系统的调度策略3.1任务调度任务调度就是从就绪状态的任务中,挑选一个任务到处理器上运行。负责任务调度功能的内核程序成为任务调度程序或任务调度器。任务操作系统的核心和灵魂就是它调度程序(Scheduler或Dispatcher)。在设计任务调度器时,首先要决定选择何种调度算法,然后根据此算法来编制相应的调度程序。而调度算法实际上就是系统所采取的调度策略,选择时所要考虑的因素很多。如系统各类资源的均衡使用;对用户公平并使用户满意等。3.2实时调度算法分类周期性实时任务调度的基本结构:3.2.1基于优先级的调度给每个任务分配一个优先级,在每次任务调度时,调度器总是让CPU执行具有最高优先级的任务。优先级驱动算法是时间驱动算法,即当任务所需要的资源就绪后,会立即执行而无需等待。此算法又称为贪心调度算法,保持工作调度算法或者列表调度算法。优先级调度,分为静态实时调度和动态实时调度。静态实时调度即系统在编译时就决定从就绪任务队列选择哪个任务来执行,即系统中实时任务特性是事先知道的。分为速率单调调度RMS和截止时间单调调度DMS。动态实时调度指调度器在运行期间才决定选择哪个就绪任务来运行。分为最早截止时间有限EDF和最小空闲时间有限LSF。静态调度静态调度是在系统开始运行前进行调度的,严格的静态调度在系统运行时无法对任务进行重新调度。静态调度的目标是把任务分配到各个处理机,并对每一处理机给出所要运行任务的静态运行顺序。静态调度算法实现简单,调度的额外开销小,在系统超载时预测性好。但也具有很大的局限性,例如资源利用率低、受系统支持的优先级个数限制以及灵活性和自适应性差等。下面介绍两种常见的静态调度算法。速率单调调度(RateMonotonicScheduling)RMS算法将最高优先级赋予最高执行频率的任务,以单调的顺序对剩余的任务分配优先级。由于采用抢占式的调度方式,高优先级的任务就绪后立即抢占正在运行的任务。对于RMS调度算法,基于嵌入式系统作了如下假设:所有任务请求必须是周期性的,必须在限定时间内完成;任务之间相互独立;任务的运行时间不变即不考虑中断情况;所有非周期性任务都在特殊情况下运行;采用单处理器,任务切换时间忽略不计。并且,速率越高,周期越短,任务的优先级越高。截止时间单调调度(DeadlineMonotonicSchedul
本文标题:实时操作系统原理介绍ppt
链接地址:https://www.777doc.com/doc-6941027 .html