![点击分享此内容可以赚币 分享](/master/images/share_but.png)
提高实时操作系统的实时性能和可靠性策略-1.docx
《提高实时操作系统的实时性能和可靠性策略-1.docx》由会员分享,可在线阅读,更多相关《提高实时操作系统的实时性能和可靠性策略-1.docx(15页珍藏版)》请在咨信网上搜索。
1、提高实时操作系统的实时性能和可靠性策略对很多嵌入式系统来说,一个设计良好的实时操作系统(RTOS)可以让开发工程师掌握系统执行任何任务或响应任何关键事件的时间,满足系统实时性要求。为了理解RTOS如何通过系统调度策略实现实时性要求,本文介绍了抢占式调度、可抢占的内核、优先级继承和中断处理等概念。在设计工业控制系统或医疗设备时,大部分工程师和系统设计工程师会认为采用RTOS是必需的。然而,网际路由器、车载娱乐系统和多媒体设备等普通应用还需要采用RTOS吗?像Linux或Windows这样的通用操作系统是否就能胜任呢?通常,这些产品需要采用RTOS,但是这个问题常常直到设计阶段的后期才能意识到。R
2、TOS对于很多嵌入式系统来说不但是有益的,而且也是必要的,认识到这一点很重要。例如,一个播放如MPEG格式电影的设备,如果依靠软件来实现其整个内容传输,可能会出现用户难以接受的高丢帧率。然而,通过使用RTOS,系统设计工程师能够准确地控制软件过程的执行顺序,从而保证按照给定的媒体速率进行播放。上述大部分情况适用于用户希望对输入做出立即响应的系统。通过RTOS,开发人员能够保证由用户的操作总能得到及时的响应,除非一个更重要的操作(如一项有助于保障用户安全的操作)必须首先执行。总之,一个好的RTOS支持开发人员控制系统执行任何任务或对任何重要事件做出反应的时间,并且能够以一种可以预测并且完全一致的
3、形式满足任务执行的最终期限要求。但是,如果RTOS崩溃,这些最终期限就不能被满足。因此,RTOS必须提供高度的可靠性。特别是它必须提供在不需要重启的情况下,从软件故障中快速并智能恢复的机制。抢占式调度在像Linux这样的通用操作系统中,在对线程和进程的CPU占用上采用了“公平”调度策略。这样的策略能够提供良好的整体表现,但是不能保证高优先级、对时间要求严格的线程将优先于低优先级的线程执行。事实上,操作系统有时甚至会中断高优先级的线程来为低优先级线程提供CPU时间。其结果可能造成对时间要求严格的线程很容易地错过它们的最终期限,甚至在一个高速的高端处理器上运行时也会出现这种情况。而在RTOS中,线
4、程按照其优先级顺序执行。如果一个高优先级的线程准备运行时,它将在一个短的、有限时间间隔内从任何可能正在运行的低优先级进程接管CPU。另外,高优先级的线程能够不被中断地运行,直到它已经完成了需要做的事情当然是在不被更高优先级进程抢占的前提下。这种方法就是抢占式调度,保证了高优先级线程始终满足其最终期限,而不管有多少其它线程正在竞争CPU时间。通过合理地控制线程优先级,开发者能显着地提高很多对用户非常重要的应用响应速度。然而,控制优先级可能是一把双刃剑,当使用不当时它可能会潜在地导致低优先级的进程不能得到CPU时间。保证高优先级的进程和线程的同时确保不会使其它进程处于“饥饿”状态的关键是要对它们的
5、执行进行限制,通过对执行进行调整或在响应加载的过程中进行控制,开发人员能够限制这些活动消耗的CPU时间比例,并支持低优先级进程获得对CPU的共享。优先级控制能够使很多应用受益,包括像前面提到的媒体播放器(MP3、WAV、MPEG2等格式)。媒体播放器需要实现正常播放所要求的速率(例如44kHz的音频、30fps的视频)。在这种限制之下,一个读线程和一个显示线程可以被设计成依靠一个可编程的定时器来唤醒,缓冲或显示一帧后进入睡眠状态,直到下一个定时触发。这提供了一种调整机制,支持高于正常用户活动而又低于关键系统功能的优先级设置。换句话说,如果没有更重要的任务准备运行,媒体播放将始终以给定的媒体速率
6、执行。最坏情形抢占式调度仅在高优先级的线程在一个短的、有限时间段内抢占低优先级线程的情况下有效。否则,系统将不可能预测要花费多长时间来执行一个给定的操作。因此,任何销售进程模式的RTOS的供应商都必须提供针对下面两种时间间隔提供最坏情形:线程切换时间,即当两个线程处于同一进程的情况下,从执行一个线程的最后一条指令到执行下一个被调度线程的第一条指令所经过的时间;前后关系切换(context switch)时间,其定义同上,但仅针对两个线程处于不同进程的情况。可以将线程看作是最小的“执行单元”,而将进程看作是一个或多个线程的“容器”,进程定义了线程将要在其中执行的地址空间。显然,最坏情形的前后关系
7、切换时间将比最坏情形的线程切换时间要慢,尽管在一个好的RTOS设计中差别可能是微不足道的。将所有的线程放在几个大的进程中将是错误的,因为线程提供的切换速度更快。虽然线程能实现并行处理优势因而适合于某些设计,但将一个应用分成多个内存保护的进程使得代码更容易调试,提供了更好的错误隔离和恢复能力,并允许系统进行新功能的动态升级。可抢占的内核在大部分通用操作系统中,操作系统的内核是不可抢占的。其结果是,一个高优先级的进程不可能抢占一个内核调用,而是必须等待整个调用完成,即使这个调用是由系统中的低优先级进程发起的。另外,当经常在内核调用中执行的驱动程序或其它系统服务代表一个客户线程执行的时候,所有的优先
8、级信息常常会丢失,这导致了不可预测的延迟并阻止了关键活动的准时完成。而在RTOS中,内核操作是可抢占的。尽管仍然会存在一些时间窗口,在这些时间窗口中可能没有抢占,但是这些时间间隔应该是相当短暂的,通常在几百纳秒。另外,必须有一个关于抢占被推迟或中断被禁止的时间上限,这样开发者可以确定最坏情形下的等待时间。为了实现这个目标,操作系统内核必须尽可能简洁,只有具有较短执行路径的服务才被包含在内核中,任何需要大量工作(如进程加载)的操作必须被安排到外部进程或线程。这种方法有助于通过内核确保最长的不可抢占代码路径具有一个时间上限。优先级继承然而,为一个进程设定一个高优先级并不总能保证该进程能够抢占低优先
9、级的进程。有时候,系统会出现一种称为优先级倒置(priority inversion)的状态,在这种状态下,低优先级的进程将在“无意中”阻止较高优先级进程占用CPU。优先级倒置可能会表现为几种形式,为了防止发生这种情况,RTOS必须提供一种称为优先级继承的功能。 假定系统有三个进程:A(低优先级),B(中等优先级),Z(高优先级)。这里Z是一个为A和B提供服务的“服务器”进程。参见图1。现在假定A已经请求Z来执行一个计算,而在这期间,突然B需要Z的服务。因为B拥有比A更高的优先级,一般会认为Z将立即挂起A的请求并将转向为B服务。但是实际情况并非如此,因为Z比B具有更高的优先级。其结果是,B不能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 提高 实时 操作系统 性能 可靠性 策略
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。