收藏 分销(赏)

实时操作系统基本概念.doc

上传人:pc****0 文档编号:9008533 上传时间:2025-03-11 格式:DOC 页数:5 大小:58KB
下载 相关 举报
实时操作系统基本概念.doc_第1页
第1页 / 共5页
实时操作系统基本概念.doc_第2页
第2页 / 共5页
实时操作系统基本概念.doc_第3页
第3页 / 共5页
实时操作系统基本概念.doc_第4页
第4页 / 共5页
实时操作系统基本概念.doc_第5页
第5页 / 共5页
本文档共5页,全文阅读请下载到手机保存,查看更方便
资源描述

1、 第一章 实时操作系统基本概念第一章 实时操作系统基本概念1.00操作系统 操作系统是管理计算机硬件、软件资源,提高资源利用率,方便用户应用计算机的最基本的系统软件。操作系统一般具有存储管理、进程管理、设备管理、文件管理、作业管理等五项基本功能,表现出并发、共享、虚拟等特征。按追求的目标和所适应的环境,操作系统分为多道批处理系统、分时系统和实时系统。1.01实时操作系统(Real Time Operating System .RTOS) 实时系统是指计算机对特定的输入作出快速反应,以控制发出实时信号的对象。 实时控制系统应用的操作系统是典型的实时操作系统,它要求系统可靠性高,反应速度快,响应速

2、度在ms级甚至ns级。 实时系统大都是具有特殊用途的专用系统,只允许访问有限的专用程序及实现通用操作系统的部分功能,以换起可靠性和实时性。 实时系统有软实时系统和硬实时系统之分。软实时系统要求各任务尽快地执行,在规定的时间内都执行完,而不要求某一具体任务在特定时间内完成。硬实时系统不仅要求各任务在规定的时间内必须完成,而且每个任务必须准时执行。多数实时系统都是嵌入式的,计算机建在系统内部,用户看不到。1.02前后系统 应用程序是一个无限的循环,循环中调用有关函数以完成相应的操作,这部分看成后台行为(background);中断复合程序处理异步事件,这部分看成前台行为(foreground)。后

3、台叫作任务级,前台叫作中断级。时间相关性很强的操作一般靠中断服务来保存(前台操作),但中断服务产生的信息要交给后方应用程序处理。当后方运行到处理该信息时,才能得到处理。从前台中断到后台任务处理所产生的时差称作任务级响应时间。1.03多任务多任务运行的实现靠的是CPU(中央处理单元)在许多任务之间转换和调度。CPU只有一个,轮番服务于一系列任务中的某一个。在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。1.04任务 一个任务,也称作一个线程,是一个简单的程序,该程序认为CPU完全只属于自己。实时应用程序的设计包括如何把问题分割成多

4、个任务。每个任务都是整个应用程序的一部分,都被赋予一定的优先级,有自己的一套CPU寄存器和伐空间(如图F2.2所示)。 典型的实时应用程序,每个任务都是一个无限的循环,都可能处在以下5种状态之一休眠态、就绪态、运行态、挂起态(等待某一事件发生)及被中断态(参见图F2.3)。休眠态相当于任务驻留在内存中,但不被多任务内核所调度;就绪态意味着任务已经准备好,可以运行,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行;运行态是指任务掌握了CPU的使用权,正在运行中;挂起态也叫做等待事件态(waiting),指任务在等待某一事件的发生(例如等待某外设的I/O操作,等待某共享资源由暂不能使

5、用变成使用状态,等待定时脉冲的到来,或等待超时信号的到来,以结束目前的等待,等等);发生中断时,CPU提供相应的中断服务,原来正在运行的任务不能运行,就进入了被中断状态。1.05任务切换 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态(constorage area)(保存到正在运行任务自己的栈区之中,见图(F2.2)。入栈工作完成之后,就把下一个将要运行的任务的当前状况从该任务的栈中重新装入CPU的寄存器,并开始运行,这一过程叫做任务切换。任务切换过程增加了应用程序的额外负荷,CPU的内部寄存器越多,额外负荷就越重。任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核

6、的性能不应以每秒能做多少次任务切换来评价。1.06内核 多任务系统中,内核(kernel)负责管理各项任务,或者说为每个任务分配CPU时间,并且负责任务间的通信。 内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。 内核本身也增加了应用程序的额外负荷,因为内核提供的服务需要一定的执行时间。额外负荷的量取决于用户多久调用一次这类服务。单片机一般不能运行实时内核,因为单片机的RAM很有限。通过提供必不可少的系统服务,诸如信号量管理、邮箱、消息队列及时间延时等,实时内核使得CPU的利用更为有效。用实时内核做过系统设计以后

7、将决不会再想返回到前/后态系统。1.07调度 调度(schedulers),是内核的主要职责之一,就是决定该轮到哪个任务运行了。多数实时内核是采用优先级调度法。每个任务根据其重要程度的不同,被赋予相应的优先级。CPU总是让处于就绪态的、优先级最高的任务先运行。何时高优先级任务掌握CPU的使用权,由使用的内核的类型确定。基于优先级的内核有2种类型:不可剥夺型和可剥夺型。1.08不可剥夺型内核 不可剥夺型内核(non-preemptive kernel)要求每个任务主动放弃CPU的使用权。不可剥夺型调度法也称作合作型多任务调度法,各任务彼此合作共享一个CPU。异步事件由中断服务来处理。中断服务可

8、使一个高优先级的任务由挂起态变为就绪态,但中断服务以后,使用权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权,一个新的高优先级的任务才能获得CPU的使用权。 不可剥夺型内核的一个优点是响应中断快。在任务级,不可剥夺型内核允许使用不可重入函数。每个任务都可以调用不可重入函数,不必担心其他任务可能正在使用该函数,从而造成数据的破坏,因为每个任务运行到完成时,才释放CPU的使用权。当然该不可重入函数本身不得有放弃CPU使用权的企图。不可剥夺型内核的另一个优点是,几乎无须使用信号量保护共享数据,运行着的任务占有CPU,而不必担心被别的任务抢占;但这也不是绝对的,再某种情况下,信号量还

9、是用得着的。处理共享I/O设备时,仍须使用互斥性信号量。1.09可剥夺型内核 当系统响应时间很重要时,须使用可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的使用权。当一个比运行着的任务优先级高的任务进入就绪态时,当前任务的CPU使用权就被剥夺了,或者说被挂起了,更高优先级的任务立刻得到了CPU的使用权。使用可剥夺型内核,最高优先级的任务何时可以执行,何时可以得到CPU的使用权,这些是可知的。可剥夺型内核使得任务级响应时间得以最优化。1.10可重入函数可重入函数可以被一个以上的任务调用,而不必担心数据被破坏。可重入函数任何时候都可以被中断,一段时间以后又可以运行,而相应的数据不会丢失。可

10、重入函数使用局部变量,即变量保存在CPU寄存器中或堆栈中;使用全局变量,则要对全局变量予以保护。1.11时间片轮番调度法 当2个或2个以上任务有同样的优先级时,内核允许1个任务运行事先确定的一段时间,这段时间叫做时间额度(quantum),然后切换给另一个任务。这个过程叫做时间片轮番调度。内核在满足以下条件时,把CPU使用权交给下一个就绪态的任务:l 当前任务已空闲;l 当前任务在时间片还没有结束时已经完成了;l 时间片结束。1.12任务优先级每个任务都有其优先级。任务越重要,赋予的优先级相应越高。就大多数内核而言,每个任务的优先级是由用户决定的。1.13任务优先级分配许多系统中,并非所有的任务都至关重要。不重要的任务优先级可以低一些。实时系统大多综合了软实时和硬实时2种需求。软实时系统要求任务执行得尽量快,并不要求在某一特定时间内完成;硬实时系统不但要求任务执行无误,还要准时完成。单调执行率调度法RMS(Rate Monotonic Scheduling),用于分配任务优先级。这种方法基于任务执行的次数(或者称为任务的执行率),执行最频繁的任务优先级最高。5黄石市科威自控有限公司

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服