中断响应时间-中国科学技术大学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
University
of
Science
and
Technology
of
China
嵌入式实时操作系统性能测试方法
Rhealstone方法 进程分派延迟时间法 三维表示法
University
of
Science
and
Technology
of
China
10
Rhealstone方法:
测量ERTOS中六个关键操作的时间,并将它们 的加权和称为Rhealstone数
China
5
中断响应时间
Linux2.4内核的中断处理
从计算机接收到中断信号到操作系统作出 响应,并完成切换转入用户中断处理程序 (即驱动程序注册的ISR)的时间。 中断响应时间Tresponse=T1+T2+T3
T3=从中断服务例程到开始执行驱动注册的 ISR的第一条指令时间。
最长关中断时间T1 实际关中断时间 (不可测) 保存上下文T2
3、中断延迟时间(interrupt latency time) 即从中断第一条指令所持续的时间间隔
由四部分组成:
硬件延迟部分(通常可忽略不计) 关中断时间 处理器完成当前指令的时间 中断响应周期的时间
University
of
Science
and
Technology
of
China
操作系统关键指标 对应用性能的影响
陈香兰
中国科学技术大学计算机系 2018年11月3日
University
of
Science
and
Technology
of
China
提纲
操作系统关键指标 嵌入式实时操作系统性能测试方法
University
of
Science
and
Technology
of
China
12
4、信号量混洗时间(semaphore shuffling time) 即从一个任务释放信号量到另一个等待该信号量 的任务被激活的时间延迟。
基于信号量的互斥访问保证了任一时刻只有一个任务 能访问公共资源。 此时间反映了与互斥有关的时间开销
5、死锁解除时间(deadlock breaking time) 即系统解开处于死锁状态的多个任务所需花费的 时间。
1、任务切换时间(task switching time) : 即系统在两个独立的、处于就绪态并具有相同优 先级的任务之间切换所需要的时间。
包括三个部分:
保存当前任务上下文的时间 调度程序选中新任务的时间 恢复新任务上下文的时间。
此时间取决于 1)保存任务上下文所用的数据结构 2)操作系统采用的调度算法的效率。
of Science and Technology of China
University
8
调度抖动
一个周期任务的周期间隔之间的变化。
通常,实时应用以周期性任务的形式,即以一特 定的周期被调度,并且在硬件定时器产生一个中 断唤醒调度器时开始执行。 虽然定时器中断可能发生的跟时钟一样有规律, 但是许多不确定因素会导致调度器的运行时间变 得不确定,导致接下来的任务的开始时间就会相 应地变化,这个影响就叫调度抖动。 抖动跟具体的应用紧密相关。
CPU的内部寄存器越多,额外负荷Hale Waihona Puke Baidu越重。 还与指令周期长度有关
实时内核的性能不应该以每秒钟能做多少 次任务切换来评价。 RTOS中通常是1微秒左右
of Science and Technology of China
University
7
任务抢占时间
当一个事件引起更高优先级的任务TaskHigh就绪到 这个任务开始运行之间的时间。 Ttask_preemption=T4+Tsched+Tcontext_switch
2
操作系统关键指标有哪些?
最多支持进程/线程的个数 是否支持虚拟内存 System call time RTOS相关指标:
系统响应时间 上下文切换时间 中断延迟时间 中断响应时间 任务切换时间 调度器延迟时间 周期性抖动(jitter)
University
of
Science
and
Technology
of
China
3
系统响应时间
从系统发出处理要求到系统给出应答信号 的时间。 这是RTOS一个比较综合的性能指标。
University
of
Science
and
Technology
of
China
4
中断延迟时间
Linux2.4内核的中断处理
从接收到中断信号到操作系统做出响应, 并完成进入中断服务例程(如Linux的 do_IRQ)所需要的时间。 中断延迟时间Tirq_latency=T1+T2
do_IRQ T3
ISR
INTR
CPU接收到INTR
在硬RTOS中,Tresponse通常比Tirq_latency多 几微秒。
of Science and Technology of China
University
6
上下文切换时间Tcontext_switch
保存当前任务的上下文和恢复被调度任务 的上下文的时间。 Tcontext_switch取决于CPU 有多少寄存器要 保存和恢复
死锁解除时间反映了RTOS解决死锁的算法的效率。
T4=从TaskHigh就绪到开始执行调度函数的时间(并且 这次调度正好选择了TaskHigh任务) Tsched=从调度程序开始执行到开始从当前任务Taskany切 换到TaskHigh的时间 Tcontext_switch=上下文切换时间
与调度策略有关:是否允许优先级抢占? 与调度算法相关:常数/可变 时间 与硬件有关
T1=最长关中断时间 T2=硬件开始处理中断到开始执行中断服务例 程第一条指令之间的时间
T2由硬件决定,因此,Tirq_latency主要取决于T1 硬实时操作系统的关中断时间通常是几微秒, 而Linux最坏可达几毫秒。
University
of
Science
and
Technology
of
of Science and Technology of China
University
11
2、抢占时间(preemption time) 即系统将控制从低优先级的任务转移到高优先级 任务所花费的时间。
系统必须首先识别引起高优先级任务就绪的事件,比 较两个任务的优先级,确定发生抢占 抢占时间中包括了任务切换时间。
University
of
Science
and
Technology
of
China
嵌入式实时操作系统性能测试方法
Rhealstone方法 进程分派延迟时间法 三维表示法
University
of
Science
and
Technology
of
China
10
Rhealstone方法:
测量ERTOS中六个关键操作的时间,并将它们 的加权和称为Rhealstone数
China
5
中断响应时间
Linux2.4内核的中断处理
从计算机接收到中断信号到操作系统作出 响应,并完成切换转入用户中断处理程序 (即驱动程序注册的ISR)的时间。 中断响应时间Tresponse=T1+T2+T3
T3=从中断服务例程到开始执行驱动注册的 ISR的第一条指令时间。
最长关中断时间T1 实际关中断时间 (不可测) 保存上下文T2
3、中断延迟时间(interrupt latency time) 即从中断第一条指令所持续的时间间隔
由四部分组成:
硬件延迟部分(通常可忽略不计) 关中断时间 处理器完成当前指令的时间 中断响应周期的时间
University
of
Science
and
Technology
of
China
操作系统关键指标 对应用性能的影响
陈香兰
中国科学技术大学计算机系 2018年11月3日
University
of
Science
and
Technology
of
China
提纲
操作系统关键指标 嵌入式实时操作系统性能测试方法
University
of
Science
and
Technology
of
China
12
4、信号量混洗时间(semaphore shuffling time) 即从一个任务释放信号量到另一个等待该信号量 的任务被激活的时间延迟。
基于信号量的互斥访问保证了任一时刻只有一个任务 能访问公共资源。 此时间反映了与互斥有关的时间开销
5、死锁解除时间(deadlock breaking time) 即系统解开处于死锁状态的多个任务所需花费的 时间。
1、任务切换时间(task switching time) : 即系统在两个独立的、处于就绪态并具有相同优 先级的任务之间切换所需要的时间。
包括三个部分:
保存当前任务上下文的时间 调度程序选中新任务的时间 恢复新任务上下文的时间。
此时间取决于 1)保存任务上下文所用的数据结构 2)操作系统采用的调度算法的效率。
of Science and Technology of China
University
8
调度抖动
一个周期任务的周期间隔之间的变化。
通常,实时应用以周期性任务的形式,即以一特 定的周期被调度,并且在硬件定时器产生一个中 断唤醒调度器时开始执行。 虽然定时器中断可能发生的跟时钟一样有规律, 但是许多不确定因素会导致调度器的运行时间变 得不确定,导致接下来的任务的开始时间就会相 应地变化,这个影响就叫调度抖动。 抖动跟具体的应用紧密相关。
CPU的内部寄存器越多,额外负荷Hale Waihona Puke Baidu越重。 还与指令周期长度有关
实时内核的性能不应该以每秒钟能做多少 次任务切换来评价。 RTOS中通常是1微秒左右
of Science and Technology of China
University
7
任务抢占时间
当一个事件引起更高优先级的任务TaskHigh就绪到 这个任务开始运行之间的时间。 Ttask_preemption=T4+Tsched+Tcontext_switch
2
操作系统关键指标有哪些?
最多支持进程/线程的个数 是否支持虚拟内存 System call time RTOS相关指标:
系统响应时间 上下文切换时间 中断延迟时间 中断响应时间 任务切换时间 调度器延迟时间 周期性抖动(jitter)
University
of
Science
and
Technology
of
China
3
系统响应时间
从系统发出处理要求到系统给出应答信号 的时间。 这是RTOS一个比较综合的性能指标。
University
of
Science
and
Technology
of
China
4
中断延迟时间
Linux2.4内核的中断处理
从接收到中断信号到操作系统做出响应, 并完成进入中断服务例程(如Linux的 do_IRQ)所需要的时间。 中断延迟时间Tirq_latency=T1+T2
do_IRQ T3
ISR
INTR
CPU接收到INTR
在硬RTOS中,Tresponse通常比Tirq_latency多 几微秒。
of Science and Technology of China
University
6
上下文切换时间Tcontext_switch
保存当前任务的上下文和恢复被调度任务 的上下文的时间。 Tcontext_switch取决于CPU 有多少寄存器要 保存和恢复
死锁解除时间反映了RTOS解决死锁的算法的效率。
T4=从TaskHigh就绪到开始执行调度函数的时间(并且 这次调度正好选择了TaskHigh任务) Tsched=从调度程序开始执行到开始从当前任务Taskany切 换到TaskHigh的时间 Tcontext_switch=上下文切换时间
与调度策略有关:是否允许优先级抢占? 与调度算法相关:常数/可变 时间 与硬件有关
T1=最长关中断时间 T2=硬件开始处理中断到开始执行中断服务例 程第一条指令之间的时间
T2由硬件决定,因此,Tirq_latency主要取决于T1 硬实时操作系统的关中断时间通常是几微秒, 而Linux最坏可达几毫秒。
University
of
Science
and
Technology
of
of Science and Technology of China
University
11
2、抢占时间(preemption time) 即系统将控制从低优先级的任务转移到高优先级 任务所花费的时间。
系统必须首先识别引起高优先级任务就绪的事件,比 较两个任务的优先级,确定发生抢占 抢占时间中包括了任务切换时间。