提高实时操作系统的实时性能和可靠性策略

来源 :科教导刊 | 被引量 : 0次 | 上传用户:adaibaobao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要为了理解RTOS如何通过系统调度策略实现实时性要求,本文介绍了抢占式调度、可抢占的内核等概念。
  关键词操作系统实时性能策略
  中图分类号:TP3文献标识码:A
  
  一个好的RTOS支持开发人员控制系统执行任何任务或对任何重要事件做出反应的时间,并且能够以一种可以预测并且完全一致的形式满足任务执行的最终期限要求。但是,如果RTOS崩溃,这些最终期限就不能被满足。因此,RTOS必须提供高度的可靠性。特别是它必须提供在不需要重启的情况下,从软件故障中快速并智能恢复的机制。
  
  1 抢占式调度
  
  在像Linux这样的通用操作系统中,在对线程和进程的CPU占用上采用了“公平”调度策略。这样的策略能够提供良好的整体表现,但是不能保证高优先级、对时间要求严格的线程将优先于低优先级的线程执行。事实上,操作系统有时甚至会中断高优先级的线程来为低优先级线程提供CPU时间。其结果可能造成对时间要求严格的线程很容易地错过它们的最终期限,甚至在一个高速的高端处理器上运行时也会出现这种情况。优先级控制能够使很多应用受益,包括像前面提到的媒体播放器(MP3、WAV、MPEG2等格式)。媒体播放器需要实现正常播放所要求的速率(例如44kHz的音频、30fps的视频)。在这种限制之下,一个读线程和一个显示线程可以被设计成依靠一个可编程的定时器来唤醒,缓冲或显示一帧后进入睡眠状态,直到下一个定时触发。这提供了一种调整机制,支持高于正常用户活动而又低于关键系统功能的优先级设置。换句话说,如果没有更重要的任务准备运行,媒体播放将始终以给定的媒体速率执行。
  
  2 最坏情形
  
  抢占式调度仅在高优先级的线程在一个短的、有限时间段内抢占低优先级线程的情况下有效。否则,系统将不可能预测要花费多长时间来执行一个给定的操作。因此,任何销售进程模式的RTOS的供应商都必须提供针对下面两种时间间隔提供最坏情形:线程切换时间,即当两个线程处于同一进程的情况下,从执行一个线程的最后一条指令到执行下一个被调度线程的第一条指令所经过的时间;前后关系切换(contextswitch)时间,其定义同上,但仅针对两个线程处于不同进程的情况。将所有的线程放在几个大的进程中将是错误的,因为线程提供的切换速度更快。虽然线程能实现并行处理优势因而适合于某些设计,但将一个应用分成多个内存保护的进程使得代码更容易调试,提供
  了更好的错误隔离和恢复能力,并允许系统进行新功能的动态升级。
  
  3 可抢占的内核
  
  在大部分通用操作系统中,操作系统的内核是不可抢占的。其结果是,一个高优先级的进程不可能抢占一个内核调用,而是必须等待整个调用完成,即使这个调用是由系统中的低优先级进程发起的。另外,当经常在内核调用中执行的驱动程序或其它系统服务代表一个客户线程执行的时候,所有的优先级信息常常会丢失,这导致了不可预测的延迟并阻止了关键活动的准时完成。为了实现这个目标,操作系统内核必须尽可能简洁,只有具有较短执行路径的服务才被包含在内核中,任何需要大量工作(如进程加载)的操作必须被安排到外部进程或线程。这种方法有助于通过内核确保最长的不可抢占代码路径具有一个时间上限。
  
  4 如何提高可靠性
  
  我们已经明白怎样使RTOS具有可以预测性,但是如何实现其可靠性呢?答案在很大程度上取决于RTOS的架构。采用微内核(mricokernel)架构来提供更精确的故障隔离,像QNXNeutrino这样的操作系统都基于微内核架构。微内核有两个明确的特征:(1)在操作系统内核中只实现了一个包含了基本OS服务的小内核(如信号量、定时器、任务调度等)。包括驱动程序、文件系统、协议栈和用户应用程序在内的所有其它的组件在内核外部分离的、保护内存的进程中运行。有问题的系统服务不再作为孤立的故障点,而是在它破坏其它服务或操作系统内核之前被终止并重启。(2)所有的组件能够通过消息传递进行通信,一个定义良好的通信机制保障了程序在保持彼此安全隔离的前提下进行数据交换。适当实现的消息传递也可以作为一个虚拟的“软件总线”,允许几乎任何的软件组件,甚至是一个设备驱动程序被动态地加入或替换,对于必须提供连续服务的系统而言这是一项关键要求。
  和传统的操作系统架构相比,微内核支持嵌入式设备赢得明显更快的平均修复时间(MTTR)。例如,如果一个设备驱动程序失败将可能出现以下情况:操作系统可以终止该驱动程序,回收其正在使用的资源,并对其进行重新启动,这个过程通常这只需要几个毫秒时间。尽管和传统的操作系统相比,基于消息传递的微内核RTOS通常提供了更好的容错性和动态升级能力,也有一些观点认为消息传递增加了开销。在实际应用中,如果实现正确,消息传递的性能可以接近底层硬件的内存带宽。例如,一个微内核RTOS可以采用多段式(multipart)消息和线程到线程的消息数据直接拷贝等各种技术,来确保系统性能可以达到传统的进程间通信(IPC)方法的水平。由一些组织如DedicatedSystems等进行的独立测试证实,和传统的RTOS相比,微内核RTOS在一系列的实时指标方面表现良好,在很多情况下甚至有更好的表现。
其他文献
摘要根据对龙门石窟环境地质情况的具体调查得到龙门石窟裂隙渗水的水源为大气降水,而且为季节性,暂时性渗水。大气降水及由其形成的坡水,主要沿崖壁坡体上的卸荷裂隙下渗,与层理裂隙、构造裂隙、岩溶构造等构成渗流网络。裂隙渗水是潜溪寺石窟最普遍、最主要的病害。本文根据现场和室内的研究成果,对渗水机理及渗水对潜溪寺的影响进行了分析。  关键词裂隙渗水病害渗水机理  中图分类号:K928.7文献标识码:A
目的动态监测窒息新生儿生后24小时、72小时血清神经元特异性烯醇化酶(NSE)的变化,并同时检测其生后72小时血清总胆红素值(TBIL)的水平,探讨窒息新生儿出生后24小时和72小时这
摘要本文通过合理分析调查屋面防水中出现的质量问题,找到了质量不合格的产生原因,并从材料选择,施工设计,质量监管,后期维护等方面提出了控制措施,从而延长建筑的使用寿命,减少后期维护的成本。  关键词屋面防水工程质量设计施工  中图分类号:TU57文献标识码:A    1 屋面防水工程质量问题产生的原因    (1)防水材料的使用不当。建筑防水材料质量不符合质量要求,未能按屋面防水等级来确定防水标准、
目的探讨脑出血后血清细胞间黏附因子-1(ICAM-1)和基质金属蛋白酶-9(MMP-9)浓度的动态变化与脑水肿的关系,以及脑出血后血肿周围组织细胞间黏附因子-1(ICAM-1)和基质金属蛋白
摘要水利工程建设一般都要经过勘测、规划、设计和施工四个阶段。切实抓好水利工程现场质量管理是创造优良工程的关键。水利施工质量只有在全体施工人员的共同努力下,精心施工,才能打造出优良工程,才能在保证质量的前提下,创造更多的经济效益。  关键词施工概述质量控制管理内容  中图分类号:TV5文献标识码:A    水利工程建设一般都要经过勘测、规划、设计和施工四个阶段。水利工程的施工应以勘测、规划和设计的成
摘要以麻蝇成虫为材料,利用溶解度的不同,分别用硫酸铵、氯化钠、乙醇、氢氧化钠从脱脂麻蝇粉中分离、纯化获得清蛋白、小分子肽、球蛋白、醇溶蛋白和碱溶性蛋白等几类蛋白。测定蛋白质含量,并用亲和层析法纯化凝集素,通过SDS—PAGE凝胶电泳测定各类蛋白的相对分子质量。结果表明:脱脂麻蝇粉蛋白质的主要成分是清蛋白、球蛋白和小分子肽;蛋白质得率为44.94%,回收率为85.6%,凝集素的相对分子质量为82.9