Presentation is loading. Please wait.

Presentation is loading. Please wait.

U niversity of S cience and T echnology of C hina 操作系统关键指标 对应用性能的影响 陈香兰 中国科学技术大学计算机系 2015年7月15日 2015年7月15日 2015年7月15日.

Similar presentations


Presentation on theme: "U niversity of S cience and T echnology of C hina 操作系统关键指标 对应用性能的影响 陈香兰 中国科学技术大学计算机系 2015年7月15日 2015年7月15日 2015年7月15日."— Presentation transcript:

1 U niversity of S cience and T echnology of C hina 操作系统关键指标 对应用性能的影响 陈香兰 中国科学技术大学计算机系 2015年7月15日 2015年7月15日 2015年7月15日

2 University of Science and Technology of China 2 提纲 操作系统关键指标 嵌入式实时操作系统性能测试方法

3 University of Science and Technology of China 3 操作系统关键指标有哪些? 最多支持进程 / 线程的个数 是否支持虚拟内存 System call time RTOS 相关指标: 系统响应时间 上下文切换时间 中断延迟时间 中断响应时间 任务切换时间 调度器延迟时间 周期性抖动( jitter )

4 University of Science and Technology of China 4 系统响应时间 从系统发出处理要求到系统给出应答信号 的时间。 这是 RTOS 一个比较综合的性能指标。

5 University of Science and Technology of China 5 中断延迟时间 从接收到中断信号到操作系统做出响应, 并完成进入中断服务例程(如 Linux 的 do_IRQ )所需要的时间。 中断延迟时间 T irq_latency =T1+T2 T1 =最长关中断时间 T2= 硬件开始处理中断到开始执行中断服务例 程第一条指令之间的时间 T2 由硬件决定,因此, T irq_latency 主要取决于 T1 硬实时操作系统的关中断时间通常是几微秒, 而 Linux 最坏可达几毫秒。 Linux2.4 内核的中断处理

6 University of Science and Technology of China 6 中断响应时间 从计算机接收到中断信号到操作系统作出 响应,并完成切换转入用户中断处理程序 ( 即驱动程序注册的 ISR) 的时间。 中断响应时间 T response =T1+T2+T3 T3= 从中断服务例程到开始执行驱动注册的 ISR 的第一条指令时间。 在硬 RTOS 中, T response 通常比 T irq_latency 多 几微秒。 INTR 最长关中断时间 T1 CPU 接收到 INTR 保存上下文 T2 do_IRQ T3ISR 实际关中断时间 (不可测) Linux2.4 内核的中断处理

7 University of Science and Technology of China 7 上下文切换时间 T context_switch 保存当前任务的上下文和恢复被调度任务 的上下文的时间。 T context_switch 取决于 CPU 有多少寄存器要 保存和恢复 CPU 的内部寄存器越多,额外负荷就越重。 还与指令周期长度有关 实时内核的性能不应该以每秒钟能做多少 次任务切换来评价。 RTOS 中通常是 1 微秒左右

8 University of Science and Technology of China 8 任务抢占时间 当一个事件引起更高优先级的任务 Task High 就绪到 这个任务开始运行之间的时间。 T task_preemption =T4+T sched +T context_switch T4= 从 TaskHigh 就绪到开始执行调度函数的时间(并且 这次调度正好选择了 Task High 任务) T sched = 从调度程序开始执行到开始从当前任务 Task any 切 换到 Task High 的时间 T context_switch = 上下文切换时间 与调度策略有关:是否允许优先级抢占? 与调度算法相关:常数 / 可变 时间 与硬件有关

9 University of Science and Technology of China 9 调度抖动 一个周期任务的周期间隔之间的变化。 通常,实时应用以周期性任务的形式,即以一特 定的周期被调度,并且在硬件定时器产生一个中 断唤醒调度器时开始执行。 虽然定时器中断可能发生的跟时钟一样有规律, 但是许多不确定因素会导致调度器的运行时间变 得不确定,导致接下来的任务的开始时间就会相 应地变化,这个影响就叫调度抖动。 抖动跟具体的应用紧密相关。

10 University of Science and Technology of China 10 嵌入式实时操作系统性能测试方法 Rhealstone 方法 进程分派延迟时间法 三维表示法

11 University of Science and Technology of China 11 Rhealstone 方法: 测量 ERTOS 中六个关键操作的时间,并将它们 的加权和称为 Rhealstone 数 1 、任务切换时间 (task switching time) : 即系统在两个独立的、处于就绪态并具有相同优 先级的任务之间切换所需要的时间。 包括三个部分:  保存当前任务上下文的时间  调度程序选中新任务的时间  恢复新任务上下文的时间。 此时间取决于 1 )保存任务上下文所用的数据结构 2 )操作系统采用的调度算法的效率。

12 University of Science and Technology of China 12 2 、抢占时间( preemption time ) 即系统将控制从低优先级的任务转移到高优先级 任务所花费的时间。 系统必须首先识别引起高优先级任务就绪的事件,比 较两个任务的优先级,确定发生抢占 抢占时间中包括了任务切换时间。 3 、中断延迟时间( interrupt latency time ) 即从中断第一条指令所持续的时间间隔 由四部分组成:  硬件延迟部分 ( 通常可忽略不计 )  关中断时间  处理器完成当前指令的时间  中断响应周期的时间

13 University of Science and Technology of China 13 4 、信号量混洗时间 (semaphore shuffling time) 即从一个任务释放信号量到另一个等待该信号量 的任务被激活的时间延迟。 基于信号量的互斥访问保证了任一时刻只有一个任务 能访问公共资源。 此时间反映了与互斥有关的时间开销 5 、死锁解除时间 (deadlock breaking time) 即系统解开处于死锁状态的多个任务所需花费的 时间。 死锁解除时间反映了 RTOS 解决死锁的算法的效率。 6 、数据包吞吐率 (datagram throughput time) 指一个任务通过调用 ERTOS 的原语,把数据传 送到另一个任务去时,每秒可以传送的字节数。

14 University of Science and Technology of China 14 进程分派延迟时间法 PDLT Process Dispatch Latency Time 这是另一个常用的测量 ERTOS 性能的方法 实时系统中,实时任务总是等待外部事件引发的中断来 激活它。当一个中断产生后,系统必须迅速停止当前运 行的低优先级任务,将控制权交给被激活的实时任务。 PDLT : 从中断的产生到由中断激活的实时任务开始执行之间的 时间间隔。

15 University of Science and Technology of China 15 三维表示法 有人将实时系统定义为: 能够从外部环境获取输入,处理所获得的数据, 并能在足够快的时间内将正确的响应返回给外部 环境的系统。 可将 ERTOS 的工作分为三个阶段: 响应传感器或者其他输入设备的请求,并获取数据; 对获得的数据进行处理 ( 主要由应用程序进行处理 ) ; 输出处理结果。

16 University of Science and Technology of China 16 据此, ERTOS 的性能可用三个特性来描述 这三个特性的最大值可分别单独测得,但这三个特性 之间并不是相互独立的,如图 CPU 计算能力, Millions of Instructions Per Second I/O 吞吐率 Millions of I/O Per Second 中断处理能力, Millions of Interrupts Per Second

17 University of Science and Technology of China 17 注意: 各种不同的方法或者文献中,关于性能指 标的定义可能有细微的差异

18 University of Science and Technology of China 18 Reference Arnd C. Heursch, etc. Preemption concepts, Rhealstone Benchmark and scheduler analysis of Linux 2.4, Paper for Real-Time & Embedded Computing Conference, Milan, Nov., 2001Preemption concepts, Rhealstone Benchmark and scheduler analysis of Linux 2.4 嵌入式实时操作系统性能测试方法研究。 嵌入式实时操作系统性能测试方法研究

19 University of Science and Technology of China 19 作业: 操作系统关键指标有哪些? 名词解释: Rhealstone 方法 进程分派延迟时间法 PDLT 三维表示法

20 University of Science and Technology of China 20 中断(广义) 会改变处理器执行指令的顺序,通常与 CPU 芯 片内部或外部硬件电路产生的电信号相对应 中断 —— 异步的: 由硬件随机产生,在程序执行的任何时候可能出现 异常 —— 同步的: 在(特殊的或出错的)指令执行时由 CPU 控制单元产 生 设备 控制器 中断 控制器 IRQ CPU INTR Linux2.4 内核的中断处理

21 University of Science and Technology of China 21 当一个中断信号到达时, CPU 必须停止它 当前正在做的事,并且切换到一个新的活 动来响应这个中断 保存程序计数器 PC 的当前值 把与中断信号处理相关的一个入口地址放入 进 PC 中断的处理原则 —— 快! 中断会随时到来,打断正在运行的代码 中断处理程序可能会禁止同级中断 中断处理程序对硬件操作,一般硬件对时间 也是非常敏感的

22 University of Science and Technology of China 22 保存中断向量 保存上下文 Do_IRQ 中断返回前处理 恢复上下文 返回


Download ppt "U niversity of S cience and T echnology of C hina 操作系统关键指标 对应用性能的影响 陈香兰 中国科学技术大学计算机系 2015年7月15日 2015年7月15日 2015年7月15日."

Similar presentations


Ads by Google