操作系统关键指标 对应用性能的影响

Post on 12-Jan-2016

137 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

操作系统关键指标 对应用性能的影响. 陈香兰 中国科学技术大学计算机系 2014年9月20日. 提纲. 操作系统关键指标 嵌入式实时操作系统性能测试方法. 操作系统关键指标有哪些?. 最多支持进程 / 线程的个数 是否支持虚拟内存 System call time RTOS 相关指标: 系统响应时间 上下文切换时间 中断延迟时间 中断响应时间 任务切换时间 调度器延迟时间 周期性抖动( jitter ). 系统响应时间. 从系统发出处理要求到系统给出应答信号的时间。 这是 RTOS 一个比较综合的性能指标。. 中断延迟时间. - PowerPoint PPT Presentation

TRANSCRIPT

University of Science and Technology of China

操作系统关键指标对应用性能的影响

陈香兰

中国科学技术大学计算机系2023年4月21日 星期五

2University of Science and Technology of China

提纲 操作系统关键指标 嵌入式实时操作系统性能测试方法

3University of Science and Technology of China

操作系统关键指标有哪些? 最多支持进程 / 线程的个数 是否支持虚拟内存 System call time RTOS 相关指标:

系统响应时间上下文切换时间中断延迟时间中断响应时间任务切换时间调度器延迟时间周期性抖动( jitter )

4University of Science and Technology of China

系统响应时间 从系统发出处理要求到系统给出应答信号

的时间。 这是 RTOS 一个比较综合的性能指标。

5University of Science and Technology of China

中断延迟时间 从接收到中断信号到操作系统做出响应,

并完成进入中断服务例程(如 Linux 的 do_IRQ )所需要的时间。

中断延迟时间 Tirq_latency=T1+T2T1 =最长关中断时间T2= 硬件开始处理中断到开始执行中断服务例

程第一条指令之间的时间

T2 由硬件决定,因此, Tirq_latency 主要取决于 T1

硬实时操作系统的关中断时间通常是几微秒,而 Linux 最坏可达几毫秒。

Linux2.4内核的中断处理

6University of Science and Technology of China

中断响应时间 从计算机接收到中断信号到操作系统作出

响应,并完成切换转入用户中断处理程序( 即驱动程序注册的 ISR) 的时间。

中断响应时间 Tresponse=T1+T2+T3T3= 从中断服务例程到开始执行驱动注册的 I

SR 的第一条指令时间。

在硬 RTOS 中, Tresponse 通常比 Tirq_latency

多几微秒。

INTR

最长关中断时间 T1

CPU 接收到 INTR

保存上下文 T2 do_IRQ T3 ISR实际关中断时间(不可测)

Linux2.4内核的中断处理

7University of Science and Technology of China

上下文切换时间 Tcontext_switch

保存当前任务的上下文和恢复被调度任务的上下文的时间。

Tcontext_switch 取决于 CPU 有多少寄存器要保存和恢复CPU 的内部寄存器越多,额外负荷就越重。还与指令周期长度有关

实时内核的性能不应该以每秒钟能做多少次任务切换来评价。

RTOS 中通常是 1 微秒左右

8University of Science and Technology of China

任务抢占时间 当一个事件引起更高优先级的任务 TaskHigh 就绪

到这个任务开始运行之间的时间。

Ttask_preemption=T4+Tsched+Tcontext_switch T4= 从 TaskHigh 就绪到开始执行调度函数的时间(并

且这次调度正好选择了 TaskHigh 任务) Tsched= 从调度程序开始执行到开始从当前任务 Taskany 切

换到 TaskHigh 的时间 Tcontext_switch= 上下文切换时间

与调度策略有关:是否允许优先级抢占? 与调度算法相关:常数 / 可变 时间 与硬件有关

9University of Science and Technology of China

调度抖动 一个周期任务的周期间隔之间的变化。

通常,实时应用以周期性任务的形式,即以一特定的周期被调度,并且在硬件定时器产生一个中断唤醒调度器时开始执行。

虽然定时器中断可能发生的跟时钟一样有规律,但是许多不确定因素会导致调度器的运行时间变得不确定,导致接下来的任务的开始时间就会相应地变化,这个影响就叫调度抖动。

抖动跟具体的应用紧密相关。

10University of Science and Technology of China

嵌入式实时操作系统性能测试方法 Rhealstone 方法进程分派延迟时间法 三维表示法

11University of Science and Technology of China

Rhealstone方法: 测量 ERTOS 中六个关键操作的时间,并将它们

的加权和称为 Rhealstone 数

1、任务切换时间 (task switching time) :即系统在两个独立的、处于就绪态并具有相同优先级的任务之间切换所需要的时间。 包括三个部分:

保存当前任务上下文的时间调度程序选中新任务的时间恢复新任务上下文的时间。

此时间取决于1 )保存任务上下文所用的数据结构2 )操作系统采用的调度算法的效率。

12University of Science and Technology of China

2、抢占时间( preemption time)即系统将控制从低优先级的任务转移到高优先级任务所花费的时间。 系统必须首先识别引起高优先级任务就绪的事件,比

较两个任务的优先级,确定发生抢占 抢占时间中包括了任务切换时间。

3、中断延迟时间( interrupt latency time)即从中断第一条指令所持续的时间间隔 由四部分组成:

硬件延迟部分 ( 通常可忽略不计 )关中断时间处理器完成当前指令的时间中断响应周期的时间

13University of Science and Technology of China

4、信号量混洗时间 (semaphore shuffling time)即从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。基于信号量的互斥访问保证了任一时刻只有一个任务

能访问公共资源。 此时间反映了与互斥有关的时间开销

5、死锁解除时间 (deadlock breaking time)即系统解开处于死锁状态的多个任务所需花费的时间。死锁解除时间反映了 RTOS解决死锁的算法的效率。

6、数据包吞吐率 (datagram throughput time)指一个任务通过调用 ERTOS 的原语,把数据传送到另一个任务去时,每秒可以传送的字节数。

14University of Science and Technology of China

进程分派延迟时间法 PDLT

Process Dispatch Latency Time 这是另一个常用的测量 ERTOS 性能的方法

实时系统中,实时任务总是等待外部事件引发的中断来激活它。当一个中断产生后,系统必须迅速停止当前运行的低优先级任务,将控制权交给被激活的实时任务。

PDLT :从中断的产生到由中断激活的实时任务开始执行之间的时间间隔。

15University of Science and Technology of China

三维表示法 有人将实时系统定义为:

能够从外部环境获取输入,处理所获得的数据,并能在足够快的时间内将正确的响应返回给外部环境的系统。

可将 ERTOS的工作分为三个阶段: 响应传感器或者其他输入设备的请求,并获取数据;对获得的数据进行处理 ( 主要由应用程序进行处理 );输出处理结果。

16University of Science and Technology of China

据此, ERTOS的性能可用三个特性来描述 这三个特性的最大值可分别单独测得,但这三个特性之

间并不是相互独立的,如图

CPU计算能力,Millions of Instructions Per Second

I/O吞吐率Millions of I/O Per Second

中断处理能力,Millions of Interrupts Per Second

17University of Science and Technology of China

注意:各种不同的方法或者文献中,关于性能指

标的定义可能有细微的差异

18University of Science and Technology of China

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., 2001

嵌入式实时操作系统性能测试方法研究。

19University of Science and Technology of China

作业: 操作系统关键指标有哪些?名词解释:

Rhealstone 方法进程分派延迟时间法 PDLT三维表示法

20University of Science and Technology of China

中断(广义)会改变处理器执行指令的顺序,通常与 CPU芯片内部或外部硬件电路产生的电信号相对应 中断——异步的:

由硬件随机产生,在程序执行的任何时候可能出现异常——同步的:

在(特殊的或出错的)指令执行时由 CPU控制单元产生

设备 设备控制器

中断控制器

IRQ CPUINTR

Linux2.4内核的中断处理

21University of Science and Technology of China

当一个中断信号到达时, CPU必须停止它当前正在做的事,并且切换到一个新的活动来响应这个中断保存程序计数器 PC 的当前值把与中断信号处理相关的一个入口地址放入

进 PC

中断的处理原则——快!中断会随时到来,打断正在运行的代码中断处理程序可能会禁止同级中断中断处理程序对硬件操作,一般硬件对时间也是非常敏感的

22University of Science and Technology of China

保存中断向量保存上下文Do_IRQ

中断返回前处理恢复上下文返回

top related