中国科学技术大学计算机系.ppt_第1页
中国科学技术大学计算机系.ppt_第2页
中国科学技术大学计算机系.ppt_第3页
中国科学技术大学计算机系.ppt_第4页
中国科学技术大学计算机系.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、操作系统关键指标对应用性能的影响,陈香兰 中国科学技术大学计算机系 2021年3月29日,2,提纲,操作系统关键指标 嵌入式实时操作系统性能测试方法,3,操作系统关键指标有哪些?,最多支持进程/线程的个数 是否支持虚拟内存 System call time RTOS相关指标: 系统响应时间 上下文切换时间 中断延迟时间 中断响应时间 任务切换时间 调度器延迟时间 周期性抖动(jitter),4,系统响应时间,从系统发出处理要求到系统给出应答信号的时间。 这是RTOS一个比较综合的性能指标。,5,中断延迟时间,从接收到中断信号到操作系统做出响应,并完成进入中断服务例程(如Linux的do_IRQ

2、)所需要的时间。 中断延迟时间Tirq_latency=T1+T2 T1最长关中断时间 T2=硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间 T2由硬件决定,因此,Tirq_latency主要取决于T1 硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。,Linux2.4内核的中断处理,6,中断响应时间,从计算机接收到中断信号到操作系统作出响应,并完成切换转入用户中断处理程序(即驱动程序注册的ISR)的时间。 中断响应时间Tresponse=T1+T2+T3 T3=从中断服务例程到开始执行驱动注册的ISR的第一条指令时间。 在硬RTOS中,Tresponse通常比

3、Tirq_latency多几微秒。,INTR,最长关中断时间T1,CPU接收到INTR,保存上下文T2,do_IRQ T3,ISR,实际关中断时间 (不可测),Linux2.4内核的中断处理,7,上下文切换时间Tcontext_switch,保存当前任务的上下文和恢复被调度任务的上下文的时间。 Tcontext_switch取决于CPU 有多少寄存器要保存和恢复 CPU的内部寄存器越多,额外负荷就越重。 还与指令周期长度有关 实时内核的性能不应该以每秒钟能做多少次任务切换来评价。 RTOS中通常是1微秒左右,8,任务抢占时间,当一个事件引起更高优先级的任务TaskHigh就绪到这个任务开始运行

4、之间的时间。 Ttask_preemption=T4+Tsched+Tcontext_switch T4=从TaskHigh就绪到开始执行调度函数的时间(并且这次调度正好选择了TaskHigh任务) Tsched=从调度程序开始执行到开始从当前任务Taskany切换到TaskHigh的时间 Tcontext_switch=上下文切换时间 与调度策略有关:是否允许优先级抢占? 与调度算法相关:常数/可变 时间 与硬件有关,9,调度抖动,一个周期任务的周期间隔之间的变化。 通常,实时应用以周期性任务的形式,即以一特定的周期被调度,并且在硬件定时器产生一个中断唤醒调度器时开始执行。 虽然定时器中断可

5、能发生的跟时钟一样有规律,但是许多不确定因素会导致调度器的运行时间变得不确定,导致接下来的任务的开始时间就会相应地变化,这个影响就叫调度抖动。 抖动跟具体的应用紧密相关。,10,嵌入式实时操作系统性能测试方法,Rhealstone方法 进程分派延迟时间法 三维表示法,11,Rhealstone方法:,测量ERTOS中六个关键操作的时间,并将它们的加权和称为Rhealstone数 1、任务切换时间(task switching time) :即系统在两个独立的、处于就绪态并具有相同优先级的任务之间切换所需要的时间。 包括三个部分: 保存当前任务上下文的时间 调度程序选中新任务的时间 恢复新任务上

6、下文的时间。 此时间取决于1)保存任务上下文所用的数据结构2)操作系统采用的调度算法的效率。,12,2、抢占时间(preemption time)即系统将控制从低优先级的任务转移到高优先级任务所花费的时间。 系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,确定发生抢占 抢占时间中包括了任务切换时间。 3、中断延迟时间(interrupt latency time)即从中断第一条指令所持续的时间间隔 由四部分组成: 硬件延迟部分(通常可忽略不计) 关中断时间 处理器完成当前指令的时间 中断响应周期的时间,13,4、信号量混洗时间(semaphore shuffling time

7、)即从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。 基于信号量的互斥访问保证了任一时刻只有一个任务能访问公共资源。 此时间反映了与互斥有关的时间开销 5、死锁解除时间(deadlock breaking time)即系统解开处于死锁状态的多个任务所需花费的时间。 死锁解除时间反映了RTOS解决死锁的算法的效率。 6、数据包吞吐率(datagram throughput time)指一个任务通过调用ERTOS的原语,把数据传送到另一个任务去时,每秒可以传送的字节数。,14,进程分派延迟时间法PDLT,Process Dispatch Latency Time 这是另一个常用的测

8、量ERTOS性能的方法 实时系统中,实时任务总是等待外部事件引发的中断来激活它。当一个中断产生后,系统必须迅速停止当前运行的低优先级任务,将控制权交给被激活的实时任务。 PDLT:从中断的产生到由中断激活的实时任务开始执行之间的时间间隔。,15,三维表示法,有人将实时系统定义为:能够从外部环境获取输入,处理所获得的数据,并能在足够快的时间内将正确的响应返回给外部环境的系统。 可将ERTOS的工作分为三个阶段: 响应传感器或者其他输入设备的请求,并获取数据; 对获得的数据进行处理(主要由应用程序进行处理); 输出处理结果。,16,据此,ERTOS的性能可用三个特性来描述 这三个特性的最大值可分别

9、单独测得,但这三个特性之间并不是相互独立的,如图,17,注意:,各种不同的方法或者文献中,关于性能指标的定义可能有细微的差异,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., 2001 嵌入式实时操作系统性能测试方法研究。,19,作业:,操作系统关键指标有哪些? 名词解释: Rhealstone方法 进程分派延迟时间法PDLT 三维表示法,20,中断(广义)会改变处理器执行指令的顺序,通常与CPU芯片内部或外部硬件电路产生的电信号相对应 中断异步的:由硬件随机产生,在程序执行的任何时候可能出现 异常同步的:在(特殊的或出错的)指令执行时由CPU控制单元产生,设备,设备 控制器,中断 控制器,IRQ,CPU,INTR,Linux2.4内核的中断处理,21,当一个中断信号到达时,CPU必须停止它当前正在做的事,并且切换到一个新的活动来响

温馨提示

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

评论

0/150

提交评论