嵌入式操作系统及应用-chapter4-嵌入式实时内核基础

嵌入式操作系统及应用-chapter4-嵌入式实时内核基础

ID:27442785

大小:236.50 KB

页数:112页

时间:2018-12-02

嵌入式操作系统及应用-chapter4-嵌入式实时内核基础_第1页
嵌入式操作系统及应用-chapter4-嵌入式实时内核基础_第2页
嵌入式操作系统及应用-chapter4-嵌入式实时内核基础_第3页
嵌入式操作系统及应用-chapter4-嵌入式实时内核基础_第4页
嵌入式操作系统及应用-chapter4-嵌入式实时内核基础_第5页
资源描述:

《嵌入式操作系统及应用-chapter4-嵌入式实时内核基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章嵌入式实时内核基础主要内容嵌入式实时内核的关键设计问题嵌入式实时内核的主要功能嵌入式实时内核的重要性能指标第一节 嵌入式实时内核的关键设计问题实时性可移植性可剪裁、可配置性可靠性应用编程接口嵌入式实时内核,在设计时通常需要考虑以下要求:实时性可移植性可剪裁、可配置性可靠性应用编程接口实时性实时性是实时内核最重要的特性之一。实时系统的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时间。从整体上考虑,一个系统的实时性能与硬件、操作系统及应用程序三方面都有关系,提高硬件能力可以在一定程度上提高实时性,但是当硬件条件确定之

2、后,嵌入式系统的性能主要是由操作系统来决定,其中实时内核起着关键的作用。实时性所谓实时性是指:实时内核应该保证系统尽可能快地对外部事件产生响应系统对外部事件响应的最坏时间是可以预知的实时性关于内核实时性的几个重要原则:支持多任务:为了降低任务切换延迟,许多实时内核的实现都使用轻量级任务(即线程)。线程是轻量级的,因为它们携带的信息比进程要少。这意味着一个线程的控制块比进程的控制块要小,存储被抢占线程的控制块和恢复下一个执行线程的控制块所带来的开销就被降低了。因此在嵌入式实时系统中,多采用单进程多线程(任务)调度来提高实时性。支持抢占式

3、多任务实时性支持任务的优先级调度支持可预测的任务同步机制实时内核的运行时间(如中断延迟、任务切换延迟等)可知并可以预测系统调用的确定性。指系统调用的执行时间即使在最坏的情形下也是可预测的。一个时间确定的系统调用,它的执行时间往往不是唯一的值,而是在一个范围内。系统调用运行时间可以预测还有一层含义,即不论系统负载如何,系统调用的最大执行时间可以确定。实时性影响实时性的主要因素调度算法内核的可抢占性内核的关中断时间存储管理机制资源等待的处理优先级反转的处理中断处理浮点数的处理调度算法在设计一个实时内核的调度器的时候,公平和最小化平均响应时

4、间不是重要的。重要的是所有的硬实时任务要在它们的最后期限之前完成(或开始),以及尽可能多的软实时任务也在它们的最后期限之前完成(或开始)。因此,实时内核被设计为尽可能地响应实时任务,当一个实时任务的最后期限接近时,它能够被迅速地调度。调度算法当前任务实时任务一个实时任务就绪该实时任务被调度当前任务阻塞或完成调度时间优先级驱动的非抢占式调度在一个非抢占式的调度器中,可以使用优先级调度,给予实时任务较高的优先级。在这种情况下,一旦当前任务阻塞或运行完成,一个已就绪的优先级更高的实时任务将会被调度。如果一个慢速的、低优先级的任务在这个关键的

5、时间执行,就可能延迟优先级更高的实时任务,因而这个方法对实时内核来说是不可接受的。调度算法在下一个抢占点处实时任务被调度一个实时任务就绪调度时间当前任务实时任务抢占点基于抢占点的优先级驱动的抢占式调度在规定的时间间隔处设置抢占点,当一个抢占点发生时,如果有一个更高优先级的任务在等待,当前运行的任务就被抢占。在这种情况下造成的延迟根据抢占点之间的时间间隔而定,可能在几个毫秒的数量级上。调度算法一个实时任务就绪当前任务实时任务实时任务抢占当前任务并立即执行调度时间立即抢占调度可以满足要求更高的实时应用,该方法被称为立即抢占。在这种情况下,

6、内核几乎立即地响应一个实时任务,除非系统处于一个临界代码锁定段中。一个实时任务的调度延迟可以被降低到更少。调度算法在大多数实时内核中,为了能够在突发状态时迅速做出反应,大都采用“抢占式优先级任务调度”的机制,也就是实时内核有权主动终止当前任务的执行,将执行权交给新就绪的高优先级任务,并且是立即抢占的。目前比较流行的思路是采用基于优先级的可抢占调度作为主要的调度方式,配合同优先级时间片轮转调度作为可选择的调度方式,兼顾同优先级任务,使它们具有平等的运行权利。基于优先级的调度方式是指CPU总是让处于就绪态的、优先级最高的任务先运行。调度算

7、法非抢占式调度与抢占式调度非抢占式调度要求每个任务主动放弃CPU的使用权。在抢占式调度的情况下,一旦更高优先级的任务就绪,当前任务的CPU使用权就会被尽快剥夺,以使更高优先级的任务能够尽快得到CPU。非抢占式调度中断服务以后,CPU使用权归还给原来被中断了的那个任务,直到该任务主动放弃CPU的使用权,新就绪的高优先级的任务才能获得CPU的使用权。假设在任务运行过程中可以响应中断,并且中断服务使一个高优先级任务由其它状态变为就绪态。抢占式调度中断服务程序使一个高优先级任务就绪,中断完成后,高优先级任务开始运行。内核的可抢占性可抢占内核(

8、preemptablekernel)与可抢占调度(preemptivescheduling)是不同的概念。内核可抢占与不可抢占,体现在任务在使用内核提供的系统调用的过程中被中断打断的不同处理上。内核的可抢占性可抢占内核:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。