第04章 嵌入式实时内核基础要点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISR应尽量短小,以保障系统能及时处理其他中断和任务。ISR通 常只处理一些必要的操作,其他的操作则交给与其协作的任务DSR (Deferred Service Routine)来完成。ISR只是进行与外围相关的设 备进行数据传送,以及发出确认信息,然后唤醒与之相应的任务, 使其准备就绪,将这个事件进一步处理。例如,网卡ISR只传送原 始的包数据,而对包内数据的分析与解释则由DSR来完成。
(1)非嵌套中断处理
(2)嵌套中断处理
中断管理
多任务系统中,ISR包括三方面内容:中断前导、用户ISR和中断后 续。前导是保护现场,保存被中断程序的状态;用户ISR完成对中断的 具体处理;而后续是恢复现场,前导和后续是由内核的中断接管程序实 现的。发生中断->接管程序->用户ISR->接管程序。
(1)确定性
确定性是指系统对外部事件(任务)相应的最长处理 时间是可预知的。实时性和确定性是缺一不可的。一 个系统是确定的,就是说,它在固定的、预先确定的 时间间隔内操作。
(2)响应性
响应性反映的是,在识别外部事件后,系统要花费多 长时间来处理这个事件。例如:
中断处理初始化及开始执行ISR所需的时间;
当事件处理程序很短,ISR就可全部完成,就不用DSR。 这种ISR+DSR方式,只当DSR执行完毕,整个事件处理才结束。 所有就绪任务是按优先权处理的,在就绪任务队列中等候处理。 并且,每执行一个新的ISR,接管程序后续处理中都要激活重调度 程序,对当前所有就绪任务进行一次调度,以使优先级最高的任 务马上被执行。
4. 数据结构 为保证各个功能执行时间的确定性,引入优先级位图算法和 双向链表及差分时间;5. 存储管理机制;6.资源有限时间等待(自学)。
7.优先级反转问题
抢占式内核可降低任务重新调度的延迟时间,但是会产 生优先级反转问题。低优先级任务占有临界资源,但没有 CPU处理权,高优先级任务有被处理权,但须等待临界资源。 凡是有资源竞争的场合,都会有优先级反转问题。因此需用 内核间接地通过互斥信号量来解决。
支持多任务;
支持抢占多任务;
支持任务优先级调度;
任务优先级可继承;
支持可预测的任务同步机制;
实时内核的运行时间是可预测的;
系统调用的确定性。
Βιβλιοθήκη Baidu 1.调度算法 无论对单处理器还是多处理器,调度算法对响应时间都有很
大影响。实时系统的目标:所有的硬实时任务要在它们的最 后期限之前完成。尽可能多的将软实时任务在它们的最后期 限到达前完成。因此,实时内核中,为了能够在突发状态时 作出反应,都采用抢占优先级任务调度。
2. 可抢占内核
可抢占内核是指在执行内核服务程序时,也能响应中断。可 抢占内核调度,可进一步提高系统响应性。
a.不可抢占内核情况。
b.可抢占内核调度情况。
3. 内核的关中断时间 临界资源:某时刻仅允许一个进程单独访问的资 源。硬件有:打印机,接口等,软件有:消息缓冲队列、 变量、数组等。因此各进程间应采取互斥方式,来实 现对这种资源的先后共享。 而每个进程中访问临界资源的那段代码称为临界区。 保证各进程单独地进入临界区,才可实现各进程对临 界资源的互斥访问。为此,每个进程在进入此区之前, 应先检查它是否正被其他进程访问。如无,进程便可 进入临界区对该资源进行访问,并设置正在被访问的 标志;如有,则此进程就不能进入此临界区。 内核关中断时间是由内核服务函数对临界资源的 操作引入的。为的是保护临界资源不被破坏。在临界 区中进行暂时中断屏蔽,即关中断,以便阻止其他进 程访问此临界区代码。从而实现访问互斥。
保护现场就是保存当前CPU寄存器内容。恢复就是将保存的现场恢 复到寄存器中。这些是由中断接管程序完成的。以便确保返回被中断的 程序时有属于自己的寄存器内容。
用户中断服务程序(ISR)
当中断线上出现中断信号,对应中断向量中注册的ISR就会被调 用。这个过程是由CPU负责,不需要OS内核调度。但需要内核接 管服务程序辅助处理。如果允许嵌套,当前的ISR还可能被更高优 先权的ISR中断(抢占)。
优先级继承 就是临时提高已经占有临界资源的任务的优 先级,使之优先执行,然后释放临界资源,以便高优先级任 务获得它。
执行ISR所需时间;
中断嵌套的影响。
(3)响应时间 确定性和响应性在一起构成了系统对外部事件的响应时间。
对于多任务实时应用来讲,分为中断响应时间和任务响应时间。 中断响应时间是指从中断发生到开始执行ISR的第一条指令的时 间;任务响应时间是指从任务对应的中断产生到该任务真正开 始执行这一过程所花费的时间。任务响应时间又称任务调度延 迟。实时内核的几个重要原则是:
第四章
嵌入式实时内核基础
主要内容
• 嵌入式实时内核的关键设计问题 • 嵌入式实时内核的主要功能 • 嵌入式实时内核的主要指标
第一节
嵌入式实时内核的关键设计问题
中断基本概念介绍 实时性 可移植性 可剪裁、可配置性 可靠性 应用编程接口
中断概念介绍
中断概念
实时系统处理外部事件,如按键一旦按下,此事件就会通过中断连线通知系统。 于是CPU当前运行的程序就被这个外部事件打断,来执行此外部事件的中断处理 程序ISR,即读出按键数据,分析是哪个按键按下。中断处理过程分为检测、响应 和处理三个阶段。CPU执行每个指令结束时,进入中断周期,检查是否有中断到 来,如无,就取下条指令执行;如有,则CPU进入中断响应。中断响应是CPU内 部硬件完成的。中断响应后,就开始执行相应的ISR。
复习一下实时内核
实时内核是实时操作系统的基础。它提供 任务管理、内存管理、通信、同步与互斥机 制、中断管理、时间管理以及任务扩展功能。 内核还提供应用程序接口API功能。
4.1 嵌入式实时内核的关键设计问题
4.1.1 实时性
实时性是实时内核最重要特性之一。实时系统的正确性不 仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时 间。实时性能取决于硬件、OS和应用程序AP。当硬件和AP 确定之后,实时内核起到关键作用。实时性就是实时内核应 该保证系统尽可能快的对外部时间做出反应。
(1)非嵌套中断处理
(2)嵌套中断处理
中断管理
多任务系统中,ISR包括三方面内容:中断前导、用户ISR和中断后 续。前导是保护现场,保存被中断程序的状态;用户ISR完成对中断的 具体处理;而后续是恢复现场,前导和后续是由内核的中断接管程序实 现的。发生中断->接管程序->用户ISR->接管程序。
(1)确定性
确定性是指系统对外部事件(任务)相应的最长处理 时间是可预知的。实时性和确定性是缺一不可的。一 个系统是确定的,就是说,它在固定的、预先确定的 时间间隔内操作。
(2)响应性
响应性反映的是,在识别外部事件后,系统要花费多 长时间来处理这个事件。例如:
中断处理初始化及开始执行ISR所需的时间;
当事件处理程序很短,ISR就可全部完成,就不用DSR。 这种ISR+DSR方式,只当DSR执行完毕,整个事件处理才结束。 所有就绪任务是按优先权处理的,在就绪任务队列中等候处理。 并且,每执行一个新的ISR,接管程序后续处理中都要激活重调度 程序,对当前所有就绪任务进行一次调度,以使优先级最高的任 务马上被执行。
4. 数据结构 为保证各个功能执行时间的确定性,引入优先级位图算法和 双向链表及差分时间;5. 存储管理机制;6.资源有限时间等待(自学)。
7.优先级反转问题
抢占式内核可降低任务重新调度的延迟时间,但是会产 生优先级反转问题。低优先级任务占有临界资源,但没有 CPU处理权,高优先级任务有被处理权,但须等待临界资源。 凡是有资源竞争的场合,都会有优先级反转问题。因此需用 内核间接地通过互斥信号量来解决。
支持多任务;
支持抢占多任务;
支持任务优先级调度;
任务优先级可继承;
支持可预测的任务同步机制;
实时内核的运行时间是可预测的;
系统调用的确定性。
Βιβλιοθήκη Baidu 1.调度算法 无论对单处理器还是多处理器,调度算法对响应时间都有很
大影响。实时系统的目标:所有的硬实时任务要在它们的最 后期限之前完成。尽可能多的将软实时任务在它们的最后期 限到达前完成。因此,实时内核中,为了能够在突发状态时 作出反应,都采用抢占优先级任务调度。
2. 可抢占内核
可抢占内核是指在执行内核服务程序时,也能响应中断。可 抢占内核调度,可进一步提高系统响应性。
a.不可抢占内核情况。
b.可抢占内核调度情况。
3. 内核的关中断时间 临界资源:某时刻仅允许一个进程单独访问的资 源。硬件有:打印机,接口等,软件有:消息缓冲队列、 变量、数组等。因此各进程间应采取互斥方式,来实 现对这种资源的先后共享。 而每个进程中访问临界资源的那段代码称为临界区。 保证各进程单独地进入临界区,才可实现各进程对临 界资源的互斥访问。为此,每个进程在进入此区之前, 应先检查它是否正被其他进程访问。如无,进程便可 进入临界区对该资源进行访问,并设置正在被访问的 标志;如有,则此进程就不能进入此临界区。 内核关中断时间是由内核服务函数对临界资源的 操作引入的。为的是保护临界资源不被破坏。在临界 区中进行暂时中断屏蔽,即关中断,以便阻止其他进 程访问此临界区代码。从而实现访问互斥。
保护现场就是保存当前CPU寄存器内容。恢复就是将保存的现场恢 复到寄存器中。这些是由中断接管程序完成的。以便确保返回被中断的 程序时有属于自己的寄存器内容。
用户中断服务程序(ISR)
当中断线上出现中断信号,对应中断向量中注册的ISR就会被调 用。这个过程是由CPU负责,不需要OS内核调度。但需要内核接 管服务程序辅助处理。如果允许嵌套,当前的ISR还可能被更高优 先权的ISR中断(抢占)。
优先级继承 就是临时提高已经占有临界资源的任务的优 先级,使之优先执行,然后释放临界资源,以便高优先级任 务获得它。
执行ISR所需时间;
中断嵌套的影响。
(3)响应时间 确定性和响应性在一起构成了系统对外部事件的响应时间。
对于多任务实时应用来讲,分为中断响应时间和任务响应时间。 中断响应时间是指从中断发生到开始执行ISR的第一条指令的时 间;任务响应时间是指从任务对应的中断产生到该任务真正开 始执行这一过程所花费的时间。任务响应时间又称任务调度延 迟。实时内核的几个重要原则是:
第四章
嵌入式实时内核基础
主要内容
• 嵌入式实时内核的关键设计问题 • 嵌入式实时内核的主要功能 • 嵌入式实时内核的主要指标
第一节
嵌入式实时内核的关键设计问题
中断基本概念介绍 实时性 可移植性 可剪裁、可配置性 可靠性 应用编程接口
中断概念介绍
中断概念
实时系统处理外部事件,如按键一旦按下,此事件就会通过中断连线通知系统。 于是CPU当前运行的程序就被这个外部事件打断,来执行此外部事件的中断处理 程序ISR,即读出按键数据,分析是哪个按键按下。中断处理过程分为检测、响应 和处理三个阶段。CPU执行每个指令结束时,进入中断周期,检查是否有中断到 来,如无,就取下条指令执行;如有,则CPU进入中断响应。中断响应是CPU内 部硬件完成的。中断响应后,就开始执行相应的ISR。
复习一下实时内核
实时内核是实时操作系统的基础。它提供 任务管理、内存管理、通信、同步与互斥机 制、中断管理、时间管理以及任务扩展功能。 内核还提供应用程序接口API功能。
4.1 嵌入式实时内核的关键设计问题
4.1.1 实时性
实时性是实时内核最重要特性之一。实时系统的正确性不 仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时 间。实时性能取决于硬件、OS和应用程序AP。当硬件和AP 确定之后,实时内核起到关键作用。实时性就是实时内核应 该保证系统尽可能快的对外部时间做出反应。