- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时 Linu 架构剖析
Linux? 的速度或效率都非常不错,只是在一些情况下,这样的速度还不能满足需求。我们需要的是在特定的容差范围内确定性地满足调度期限的能力。本文将揭示各种实现实时 Linux 的可选方案以及它们如何实现实时性 — 从早期的模仿虚拟化解决方案的架构到如今标准 2.6 内核中可用的选项。
本文探索了一些支持实时特性的 Linux 架构,并探讨了实时架构 的含意是什么。有许多种解决方案赋予 Linux 实时能力,本文将对瘦内核(或微内核)方法、超微内核方法以及资源内核(resource-kernel)方法进行考查。最后,描述了标准 2.6 内核的实时功能,并向您示范如何启用并使用这种功能。
实时的定义及要求
下列实时 的定义为探讨实时 Linux 架构提供了基础。定义由 Donal Gillies 在 Realtime Computing FAQ 中提出(参见 参考资料 的链接)。
实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。
换句话说,系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。注意,上述定义并未提到性能,原因是实时性与速度关系不大:它与可预见性有关。例如,使用快速的现代处理器时,Linux 可以提供 20 μ 微秒的典型中断响应,但有时候响应会变得很长。这是一个基本的问题:并不是 Linux 不够快或效率不够高,而是因为它不能提供确定性。
一些例子将演示全部这些内容的含意。图 1 显示的是中断延迟指标。当中断到达时(event),CPU 发生中断并转入中断处理。执行一些工作以确定发生了什么事件,然后执行少量工作分配必需的任务以处理此事件(上下文切换)。中断到达与分发必需任务之间的时间(假设分配的是优先级最高的任务)称为响应时间。对于实时性要求,响应时间应是确定的并应当在已知的最坏情况的时间内完成。
上下文切换发生中断后分配新任务的过程中隐含着上下文切换。这个过程在中断时存储 CPU 的当前状态,然后恢复一项给定任务的状态。上下文切换依赖于操作系统及底层的处理器架构。
图 1. 中断延迟和响应时间
有关这个过程的一个例子就是目前汽车中使用的气囊。当报告车辆碰撞的传感器中断 CPU 后,操作系统应快速地分配展开气囊的任务,并且不允许其他非实时处理进行干扰。晚一秒钟展开气囊比没有气囊的情况更糟糕。
除为中断处理提供确定性外,实时处理也需要支持周期性间隔的任务调度。考虑图 2。本图演示了周期性任务调度。大量控制系统要求周期性采样与处理。某个特定任务必须按照固定的周期(p)执行,从而确保系统的稳定性。考虑一下汽车的防抱死系统(ABS)。控制系统对车辆的每个车轮的转速进行采样(每秒最多 20 次)并控制每个制动器的压力(防止它锁死)。为了保持控制系统的正常工作,传感器的采样与控制必须按照一定的周期间隔。这意味着必须抢占其他处理,以便 ABS 任务能按照期望的周期执行。
图 2. 周期性任务调度
硬实时与软实时系统
能够在指定的期限完成实时任务(即便在最坏的处理负载下也能如此)的操作系统称为硬实时 系统。但并不是任何情况下都需要硬实时支持。如果操作系统在平均情况下能支持任务的执行期限,则称它为软实时 系统。硬实时系统指超过截止期限后将造成灾难性后果(例如展开气囊过晚或制动压力产生的滑行距离过长)的系统。软实时系统超过截止期限后并不会造成系统整体失败(如丢失视频中的一帧)。
现在您已经对实时性要求有了一些深入了解,让我们查看一些实时 Linux 架构各支持哪个级别的实时性以及如何做到这一点。
回页首
瘦内核方法
瘦内核(或微内核)方法使用了第二个内核作为硬件与 Linux 内核间的抽象接口(见图 3)。非实时 Linux 内核在后台运行,作为瘦内核的一项低优先级任务托管全部非实时任务。实时任务直接在瘦内核上运行。
图 3. 硬实时的瘦内核方法
瘦内核主要用于(除了托管实时任务外)中断管理。瘦内核截取中断以确保非实时内核无法抢占瘦内核的运行。这允许瘦内核提供硬实时支持。
虽然瘦内核方法有自己的优势(硬实时支持与标准 Linux 内核共存),但这种方法也有缺点。实时任务和非实时任务是独立的,这造成了调试困难。而且,非实时任务并未得到 Linux 平台的完全支持(瘦内核执行称为瘦 的一个原因)。
使用这种方法的例子有 RTLinux (现在由 Wind River Systems 专有),实时应用程序接口(RTAI)和 Xenomai。
回页首
超微内核方法
这里瘦内核方法依赖于包含任务管理的最小内核,而超微内核法对内核进行更进一步的缩减。通过这种方式,它不像是一个内核而更
您可能关注的文档
- 学生评教系统 佳宇.doc
- 学生选课系统毕论文5.doc
- 学生网络道德与全教育.doc
- 宁夏2014中古诗文积累和阅读.doc
- 宁夏中卫汇英商能源行业解决方案建设一个集日常生产管理.doc
- 宁德事业单位历考试试题.docx
- 宁波万里国际学中学期中试卷.doc
- 宁波大学影视欣考试内容集锦.doc
- 宁阳四中201—2015学年度上学期中高二学分认定历史试题.doc
- 宁阳四中201—2012学年度下学期高二历史试题.doc
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
最近下载
- 初中课外文言文100篇.doc
- 期中模拟测试卷(试题)-2024-2025学年一年级上册语文统编版(2024).docx VIP
- 高中英语_阅读课U2 Mother of Ten Thousand Babies教学设计学情分析教材分析课后反思.doc
- 《小学语文课程与教学论》课件——第七章 口语交际教学.pptx VIP
- 2024 ESC慢性冠脉综合征指南解读(全).pptx
- 国家与人口基础信息库建设项目建议书.doc
- 期中试题-2024-2025学年一年级上册语文统编版(2024).docx VIP
- 第十七章分子标记辅助选择育种习题及答案.docx
- 2013年通用安装工程计量规范.pdf
- 2024年全国各地中考试题分类汇编(一):现代文阅读含答案.docx
文档评论(0)