第04章 嵌入式实时内核基础_第1页
第04章 嵌入式实时内核基础_第2页
第04章 嵌入式实时内核基础_第3页
第04章 嵌入式实时内核基础_第4页
第04章 嵌入式实时内核基础_第5页
已阅读5页,还剩22页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章嵌入式实时内核基础嵌入式实时内核基础 主要内容主要内容 嵌入式实时内核的关键设计问题嵌入式实时内核的关键设计问题 嵌入式实时内核的主要功能嵌入式实时内核的主要功能 嵌入式实时内核的主要指标嵌入式实时内核的主要指标第一节第一节嵌入式实时内核的关键设计问题嵌入式实时内核的关键设计问题中断基本概念介绍中断基本概念介绍实时性实时性可移植性可移植性可剪裁、可配置性可剪裁、可配置性可靠性可靠性应用编程接口应用编程接口中断概念介绍中断概念介绍(1 1)非嵌套中断处理)非嵌套中断处理中断概念中断概念 实时系统处理外部事件,如按键一旦按下,此事件就会通过中断连线通知系统。实时系统处理外部事件,如按键

2、一旦按下,此事件就会通过中断连线通知系统。于是于是CPU当前运行的程序就被这个外部事件打断,来执行此外部事件的中断处理当前运行的程序就被这个外部事件打断,来执行此外部事件的中断处理程序程序ISR,即读出按键数据,分析是哪个按键按下。,即读出按键数据,分析是哪个按键按下。中断处理过程中断处理过程分为检测、响应分为检测、响应和处理三个阶段。和处理三个阶段。CPU执行每个指令结束时,进入中断周期,检查是否有中断到执行每个指令结束时,进入中断周期,检查是否有中断到来,如无,就取下条指令执行;如有,则来,如无,就取下条指令执行;如有,则CPU进入中断响应。中断响应是进入中断响应。中断响应是CPU内内部硬

3、件完成的。中断响应后,就开始执行相应的部硬件完成的。中断响应后,就开始执行相应的ISR。(2 2)嵌套中断处理)嵌套中断处理中断管理中断管理 多任务系统中,多任务系统中,ISR包括三方面内容:包括三方面内容:中断前导、用户中断前导、用户ISR和中断后和中断后续续。前导前导是保护现场,保存被中断程序的状态;用户是保护现场,保存被中断程序的状态;用户ISR完成对中断的完成对中断的具体处理;而具体处理;而后续后续是恢复现场,前导和后续是由内核的是恢复现场,前导和后续是由内核的中断接管程序中断接管程序实实现的。发生中断现的。发生中断-接管程序接管程序-用户用户ISR-接管程序。接管程序。 保护现场就是

4、保存当前保护现场就是保存当前CPU寄存器内容。恢复就是将保存的现场恢寄存器内容。恢复就是将保存的现场恢复到寄存器中。这些是由中断接管程序完成的。以便确保返回被中断的复到寄存器中。这些是由中断接管程序完成的。以便确保返回被中断的程序时有属于自己的寄存器内容程序时有属于自己的寄存器内容。 用户中断服务程序(用户中断服务程序(ISRISR) 当中断线上出现中断信号,对应中断向量中注册的当中断线上出现中断信号,对应中断向量中注册的ISRISR就会被就会被调用。这个过程是由调用。这个过程是由CPUCPU负责,不需要负责,不需要OSOS内核调度。但需要内核接内核调度。但需要内核接管服务程序辅助处理。如果允

5、许嵌套,当前的管服务程序辅助处理。如果允许嵌套,当前的ISRISR还可能被更高优还可能被更高优先权的先权的ISRISR中断(抢占)。中断(抢占)。 ISRISR应尽量短小,以保障系统能及时处理其他中断和任务。应尽量短小,以保障系统能及时处理其他中断和任务。ISRISR通常只处理一些必要的操作,其他的操作则交给与其协作的通常只处理一些必要的操作,其他的操作则交给与其协作的任任务务DSRDSR(Deferred Service RoutineDeferred Service Routine)来完成。来完成。ISRISR只是进行与外只是进行与外围相关的设备进行数据传送,以及发出确认信息,然后唤醒与之

6、围相关的设备进行数据传送,以及发出确认信息,然后唤醒与之相应的任务,使其准备就绪,将这个事件进一步处理。例如,网相应的任务,使其准备就绪,将这个事件进一步处理。例如,网卡卡ISRISR只传送原始的包数据,而对包内数据的分析与解释则由只传送原始的包数据,而对包内数据的分析与解释则由DSRDSR来完成。来完成。 当事件处理程序很短,当事件处理程序很短,ISRISR就可全部完成,就不用就可全部完成,就不用DSRDSR。 这种这种ISR+DSRISR+DSR方式,只当方式,只当DSRDSR执行完毕,整个事件处理才结束。执行完毕,整个事件处理才结束。 所有所有就绪任务就绪任务是按优先权处理的,在是按优先

7、权处理的,在就绪任务队列就绪任务队列中等候处理。中等候处理。并且,每执行一个新的并且,每执行一个新的ISRISR,接管程序后续处理中都要激活,接管程序后续处理中都要激活重调度重调度程序程序,对当前所有就绪任务进行一次调度,以使优先级最高的任,对当前所有就绪任务进行一次调度,以使优先级最高的任务马上被执行。务马上被执行。 复习一下复习一下实时内核实时内核 实时内核是实时操作系统的基础。它提实时内核是实时操作系统的基础。它提供任务管理、内存管理、通信、同步与互斥供任务管理、内存管理、通信、同步与互斥机制、中断管理、时间管理以及任务扩展功机制、中断管理、时间管理以及任务扩展功能。内核还提供应用程序接

8、口能。内核还提供应用程序接口APIAPI功能。功能。4.1 嵌入式实时内核的关键设计问题嵌入式实时内核的关键设计问题4.1.1 4.1.1 实时性实时性 实时性是实时内核最重要特性之一。实时系统的正确性实时性是实时内核最重要特性之一。实时系统的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时间。实时性能取决于硬件、时间。实时性能取决于硬件、OSOS和应用程序和应用程序APAP。当硬件和。当硬件和APAP确定之后,实时内核起到关键作用确定之后,实时内核起到关键作用。实时性就是实时性就是实时内核应实时内核应该保证系统尽可能快的对外部时

9、间做出反应该保证系统尽可能快的对外部时间做出反应。(1 1)确定性)确定性 确定性是指系统对外部事件(任务)相应的最长确定性是指系统对外部事件(任务)相应的最长处理时间是可预知的处理时间是可预知的。实时性和确定性是缺一不可的。实时性和确定性是缺一不可的。一个系统是确定的,就是说,它在固定的、一个系统是确定的,就是说,它在固定的、预先确定预先确定的时间间隔内操作。的时间间隔内操作。(2 2)响应性)响应性 响应性反映的是,在识别外部事件后,系统要花响应性反映的是,在识别外部事件后,系统要花费多长时间来处理这个事件。例如:费多长时间来处理这个事件。例如:l 中断处理初始化及开始执行中断处理初始化及

10、开始执行ISRISR所需的时间;所需的时间;l 执行执行ISRISR所需时间;所需时间;l 中断嵌套的影响。中断嵌套的影响。(3)响应时间)响应时间 确定性和响应性在一起构成了系统对外部事件的响应时间。确定性和响应性在一起构成了系统对外部事件的响应时间。对于多任务实时应用来讲,分为中断响应时间和任务响应时间。对于多任务实时应用来讲,分为中断响应时间和任务响应时间。中断响应时间中断响应时间是指从中断发生到开始执行是指从中断发生到开始执行ISR的第一条指令的时的第一条指令的时间;间;任务响应时间任务响应时间是指从任务对应的中断产生到该任务真正开是指从任务对应的中断产生到该任务真正开始执行这一过程所

11、花费的时间。任务响应时间又称任务调度延始执行这一过程所花费的时间。任务响应时间又称任务调度延迟。迟。实时内核的几个重要原则是:实时内核的几个重要原则是:l 支持多任务;支持多任务;l 支持抢占多任务;支持抢占多任务;l 支持任务优先级调度;支持任务优先级调度;l 任务优先级可继承;任务优先级可继承;l 支持可预测的任务同步机制;支持可预测的任务同步机制;l 实时内核的运行时间是可预测的;实时内核的运行时间是可预测的;l 系统调用的确定性。系统调用的确定性。1.1.调度算法调度算法 无论对单处理器还是多处理器,调度算法对响应时间都无论对单处理器还是多处理器,调度算法对响应时间都有很大影响。实时系

12、统的目标:所有的硬实时任务要在它们有很大影响。实时系统的目标:所有的硬实时任务要在它们的最后期限之前完成。尽可能多的将软实时任务在它们的最的最后期限之前完成。尽可能多的将软实时任务在它们的最后期限到达前完成。因此,实时内核中,为了能够在突发状后期限到达前完成。因此,实时内核中,为了能够在突发状态时作出反应,都采用抢占优先级任务调度。态时作出反应,都采用抢占优先级任务调度。2. 2. 可抢占内核可抢占内核 可抢占内核是指在执行内核服务程序时,也能响应中断。可抢占内核是指在执行内核服务程序时,也能响应中断。可抢占内核调度,可进一步提高系统响应性。可抢占内核调度,可进一步提高系统响应性。 a.a.不

13、可抢占内核情况。不可抢占内核情况。b.b.可抢占内核调度情况。可抢占内核调度情况。3. 3. 内核的关中断时间内核的关中断时间临界资源临界资源:某时刻仅允许一个进程单独访问的资某时刻仅允许一个进程单独访问的资源。源。硬件有:打印机,接口等硬件有:打印机,接口等, ,软件有:消息缓冲队列、软件有:消息缓冲队列、变量、数组等。因此各进程间应采取互斥方式,来实变量、数组等。因此各进程间应采取互斥方式,来实现对这种资源的先后共享。现对这种资源的先后共享。 而每个进程中访问临界资源的那段代码称为而每个进程中访问临界资源的那段代码称为临界临界区区。保证各进程单独地进入临界区,才可实现各进程。保证各进程单独

14、地进入临界区,才可实现各进程对临界资源的互斥访问。为此,每个进程在进入此区对临界资源的互斥访问。为此,每个进程在进入此区之前,应先检查它是否正被其他进程访问。如无,进之前,应先检查它是否正被其他进程访问。如无,进程便可进入临界区对该资源进行访问,并设置正在被程便可进入临界区对该资源进行访问,并设置正在被访问的标志;如有,则此进程就不能进入此临界区。访问的标志;如有,则此进程就不能进入此临界区。 内核关中断时间是由内核服务函数对临界资源的内核关中断时间是由内核服务函数对临界资源的操作引入的。为的是保护临界资源不被破坏。在临界操作引入的。为的是保护临界资源不被破坏。在临界区中进行暂时中断屏蔽,即关

15、中断,以便阻止其他进区中进行暂时中断屏蔽,即关中断,以便阻止其他进程访问此临界区代码。从而实现访问互斥。程访问此临界区代码。从而实现访问互斥。4. 数据结构数据结构 为保证各个功能执行时间的确定性,引入优先级位图算法和为保证各个功能执行时间的确定性,引入优先级位图算法和双向链表及差分时间;双向链表及差分时间;5. 存储管理机制;存储管理机制;6.资源有限时间等待(自学)。资源有限时间等待(自学)。7.优先级反转问题优先级反转问题 抢占式内核可降低任务重新调度的延迟时间,但是会产抢占式内核可降低任务重新调度的延迟时间,但是会产生优先级反转问题。低优先级任务占有生优先级反转问题。低优先级任务占有临

16、界资源临界资源,但没有,但没有CPU处理权处理权,高优先级任务有被,高优先级任务有被处理权处理权,但须等待,但须等待临界资源临界资源。凡是有资源竞争的场合,都会有优先级反转问题。因此需用凡是有资源竞争的场合,都会有优先级反转问题。因此需用内核间接地通过互斥信号量来解决。内核间接地通过互斥信号量来解决。 优先级继承优先级继承 就是临时提高已经占有临界资源的任务的优就是临时提高已经占有临界资源的任务的优先级,使之优先执行,然后释放临界资源,以便高优先级任先级,使之优先执行,然后释放临界资源,以便高优先级任务获得它。务获得它。 优先级天花板优先级天花板 则是将申请临界资源的任务的优先级别提则是将申请

17、临界资源的任务的优先级别提到最高。以便能被到最高。以便能被CPU马上执行。马上执行。 其实就是使一个任务同时获得被执行的两个条件:最高优其实就是使一个任务同时获得被执行的两个条件:最高优先级和临界资源!避免互相等待情况发生。先级和临界资源!避免互相等待情况发生。4.2 嵌入式实时内核的主要功能嵌入式实时内核的主要功能4.2.1 4.2.1 任务管理任务管理 在多任务系统中(在多任务系统中(Multi-Tasking),Multi-Tasking),任务是被调度和竞任务是被调度和竞争的基本实体单元争的基本实体单元。实时内核的基本功能就是任务管理和对。实时内核的基本功能就是任务管理和对多线程的支持

18、。多线程的支持。 任务管理包括创建任务、删除任务、改变任务状态和查任务管理包括创建任务、删除任务、改变任务状态和查询任务状态。管理任务的核心就是询任务状态。管理任务的核心就是任务调度任务调度。 实时内核采用基于优先级的可抢占调度机制实时内核采用基于优先级的可抢占调度机制。同优先级。同优先级的使用时间片轮转调度。的使用时间片轮转调度。4.2.2 4.2.2 中断管理中断管理 实时内核对中断的管理功能,使实时内核对中断的管理功能,使ISRISR和其他任务之间进和其他任务之间进行协调工作,以快速地响应外部事件。功能如下:行协调工作,以快速地响应外部事件。功能如下:l 中断发生时,系统作现场保护,并执

19、行确定的中断发生时,系统作现场保护,并执行确定的ISRISR来处理来处理中断;中断;l l ISR ISR也使用内核提供的功能调用,建立也使用内核提供的功能调用,建立ISRISR与任务的通信;与任务的通信;l 使应用程序能够根据需要在运行时关闭或打开中断。使应用程序能够根据需要在运行时关闭或打开中断。 对于中断的现场保护、调用系统中断程序和中断退出三对于中断的现场保护、调用系统中断程序和中断退出三部分。即部分。即中断前导中断前导、用户中断程序用户中断程序和和中断退出中断退出(后续)。前(后续)。前导和退出部分是由内核接管程序负责,对用户导和退出部分是由内核接管程序负责,对用户ISRISR是透明

20、的,是透明的,用户不用编写这二部分程序。简化了用户不用编写这二部分程序。简化了ISRISR编程。编程。4.2.3 4.2.3 时间管理时间管理 内核的时间管理包括时钟管理和定时管理。它的功能是为内核的时间管理包括时钟管理和定时管理。它的功能是为应用系统的实时响应提供支持。功能包括:应用系统的实时响应提供支持。功能包括:l 维护系统的时间基准、执行与系统时基相关的操作和处理。维护系统的时间基准、执行与系统时基相关的操作和处理。l 设置和取得时间信息,即日期和时间。设置和取得时间信息,即日期和时间。4.2.4 4.2.4 对共享资源的互斥管理对共享资源的互斥管理 有资源共享,就需要实现资源互斥访问

21、机制进行协调。一有资源共享,就需要实现资源互斥访问机制进行协调。一般采用:般采用:- - 关中断关中断- - 使用测试位使用测试位- - 禁止任务切换等方法。禁止任务切换等方法。 有关同步与通信管理、内存管理、有关同步与通信管理、内存管理、I/OI/O管理、出错处理、管理、出错处理、扩展管理、电源管理等阅读后续相应章节。扩展管理、电源管理等阅读后续相应章节。4.3 嵌入式实时内核的重要指标嵌入式实时内核的重要指标4.3.1 4.3.1 概述概述 实时内核性能直接影响整个系统的性能。量化性能指标分实时内核性能直接影响整个系统的性能。量化性能指标分为时间性能指标和存储开销。为时间性能指标和存储开销。1.1.时间性能指标时间性能指标l 中断延迟时间中断延迟时间l 中断响应时间中断响应时间l 中断恢复时间中断恢复时间l 内核最大关中断时间内核最大关中断时间l 任务上下文切换时间任务上下文切换时间l 任务响应时间任务响应时间l 系统调用执行时间系统调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论