《实时操作系统基本概念.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《实时操作系统基本概念

第一章 实时操作系统基本概念 §1.00 操作系统 操作系统是管理计算机硬件、软件资源,提高资源利用率,方便用户应用计算机的最基本的系统软件。 操作系统一般具有存储管理、进程管理、设备管理、文件管理、作业管理等五项基本功能,表现出并发、共享、虚拟等特征。按追求的目标和所适应的环境,操作系统分为多道批处理系统、分时系统和实时系统。 §1.01 实时操作系统(Real Time Operating System .RTOS) 实时系统是指计算机对特定的输入作出快速反应,以控制发出实时信号的对象。 实时控制系统应用的操作系统是典型的实时操作系统,它要求系统可靠性高,反应速度快,响应速度在ms级甚至ns级。 实时系统大都是具有特殊用途的专用系统,只允许访问有限的专用程序及实现通用操作系统的部分功能,以换起可靠性和实时性。 实时系统有软实时系统和硬实时系统之分。软实时系统要求各任务尽快地执行,在规定的时间内都执行完,而不要求某一具体任务在特定时间内完成。硬实时系统不仅要求各任务在规定的时间内必须完成,而且每个任务必须准时执行。 多数实时系统都是嵌入式的,计算机建在系统内部,用户看不到。 §1.02 前后系统 应用程序是一个无限的循环,循环中调用有关函数以完成相应的操作,这部分看成后台行为(background);中断复合程序处理异步事件,这部分看成前台行为(foreground)。后台叫作任务级,前台叫作中断级。 时间相关性很强的操作一般靠中断服务来保存(前台操作),但中断服务产生的信息要交给后方应用程序处理。当后方运行到处理该信息时,才能得到处理。从前台中断到后台任务处理所产生的时差称作任务级响应时间。 §1.03 多任务 多任务运行的实现靠的是CPU(中央处理单元)在许多任务之间转换和调度。CPU只有一个,轮番服务于一系列任务中的某一个。在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。 §1.04 任务 一个任务,也称作一个线程,是一个简单的程序,该程序认为CPU完全只属于自己。实时应用程序的设计包括如何把问题分割成多个任务。每个任务都是整个应用程序的一部分,都被赋予一定的优先级,有自己的一套CPU寄存器和伐空间(如图F2.2所示)。 典型的实时应用程序,每个任务都是一个无限的循环,都可能处在以下5种状态之一——休眠态、就绪态、运行态、挂起态(等待某一事件发生)及被中断态(参见图F2.3)。 休眠态相当于任务驻留在内存中,但不被多任务内核所调度;就绪态意味着任务已经准备好,可以运行,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行;运行态是指任务掌握了CPU的使用权,正在运行中;挂起态也叫做等待事件态(waiting),指任务在等待某一事件的发生(例如等待某外设的I/O操作,等待某共享资源由暂不能使用变成使用状态,等待定时脉冲的到来,或等待超时信号的到来,以结束目前的等待,等等);发生中断时,CPU提供相应的中断服务,原来正在运行的任务不能运行,就进入了被中断状态。 §1.05 任务切换 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态(constorage area)(保存到正在运行任务自己的栈区之中,见图(F2.2)。入栈工作完成之后,就把下一个将要运行的任务的当前状况从该任务的栈中重新装入CPU的寄存器,并开始运行,这一过程叫做任务切换。 任务切换过程增加了应用程序的额外负荷,CPU的内部寄存器越多,额外负荷就越重。任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核的性能不应以每秒能做多少次任务切换来评价。 §1.06 内核 多任务系统中,内核(kernel)负责管理各项任务,或者说为每个任务分配CPU时间,并且负责任务间的通信。 内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。 内核本身也增加了应用程序的额外负荷,因为内核提供的服务需要一定的执行时间。额外负荷的量取决于用户多久调用一次这类服务。 单片机一般不能运行实时内核,因为单片机的RAM很有限。通过提供必不可少的系统服务,诸如信号量管理、邮箱、消息队列及时间延时等,实时内核使得CPU的利用更为有效。用实时内核做过系统设计以后,将决不会再想返回到前/后态系统。 §1.07 调度 调度(schedulers),是内核的主要职责之一,就是决定该轮到哪个任务运行了。多数实时内核是采用优先级调度法。每个任务根据其重要程度的不同,被赋予相应的优先级。CPU总是让处于就绪态的、优先级最高的

文档评论(0)

lisufan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档