您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 中断响应时间-中国科学技术大学
UniversityofScienceandTechnologyofChina操作系统关键指标对应用性能的影响陈香兰中国科学技术大学计算机系2020年10月30日UniversityofScienceandTechnologyofChina2提纲操作系统关键指标嵌入式实时操作系统性能测试方法UniversityofScienceandTechnologyofChina3操作系统关键指标有哪些?最多支持进程/线程的个数是否支持虚拟内存SystemcalltimeRTOS相关指标:系统响应时间上下文切换时间中断延迟时间中断响应时间任务切换时间调度器延迟时间周期性抖动(jitter)UniversityofScienceandTechnologyofChina4系统响应时间从系统发出处理要求到系统给出应答信号的时间。这是RTOS一个比较综合的性能指标。UniversityofScienceandTechnologyofChina5中断延迟时间从接收到中断信号到操作系统做出响应,并完成进入中断服务例程(如Linux的do_IRQ)所需要的时间。中断延迟时间Tirq_latency=T1+T2T1=最长关中断时间T2=硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间T2由硬件决定,因此,Tirq_latency主要取决于T1硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。Linux2.4内核的中断处理UniversityofScienceandTechnologyofChina6中断响应时间从计算机接收到中断信号到操作系统作出响应,并完成切换转入用户中断处理程序(即驱动程序注册的ISR)的时间。中断响应时间Tresponse=T1+T2+T3T3=从中断服务例程到开始执行驱动注册的ISR的第一条指令时间。在硬RTOS中,Tresponse通常比Tirq_latency多几微秒。INTR最长关中断时间T1CPU接收到INTR保存上下文T2do_IRQT3ISR实际关中断时间(不可测)Linux2.4内核的中断处理UniversityofScienceandTechnologyofChina7上下文切换时间Tcontext_switch保存当前任务的上下文和恢复被调度任务的上下文的时间。Tcontext_switch取决于CPU有多少寄存器要保存和恢复CPU的内部寄存器越多,额外负荷就越重。还与指令周期长度有关实时内核的性能不应该以每秒钟能做多少次任务切换来评价。RTOS中通常是1微秒左右UniversityofScienceandTechnologyofChina8任务抢占时间当一个事件引起更高优先级的任务TaskHigh就绪到这个任务开始运行之间的时间。Ttask_preemption=T4+Tsched+Tcontext_switchT4=从TaskHigh就绪到开始执行调度函数的时间(并且这次调度正好选择了TaskHigh任务)Tsched=从调度程序开始执行到开始从当前任务Taskany切换到TaskHigh的时间Tcontext_switch=上下文切换时间与调度策略有关:是否允许优先级抢占?与调度算法相关:常数/可变时间与硬件有关UniversityofScienceandTechnologyofChina9调度抖动一个周期任务的周期间隔之间的变化。通常,实时应用以周期性任务的形式,即以一特定的周期被调度,并且在硬件定时器产生一个中断唤醒调度器时开始执行。虽然定时器中断可能发生的跟时钟一样有规律,但是许多不确定因素会导致调度器的运行时间变得不确定,导致接下来的任务的开始时间就会相应地变化,这个影响就叫调度抖动。抖动跟具体的应用紧密相关。UniversityofScienceandTechnologyofChina10嵌入式实时操作系统性能测试方法Rhealstone方法进程分派延迟时间法三维表示法UniversityofScienceandTechnologyofChina11Rhealstone方法:测量ERTOS中六个关键操作的时间,并将它们的加权和称为Rhealstone数1、任务切换时间(taskswitchingtime):即系统在两个独立的、处于就绪态并具有相同优先级的任务之间切换所需要的时间。包括三个部分:保存当前任务上下文的时间调度程序选中新任务的时间恢复新任务上下文的时间。此时间取决于1)保存任务上下文所用的数据结构2)操作系统采用的调度算法的效率。UniversityofScienceandTechnologyofChina122、抢占时间(preemptiontime)即系统将控制从低优先级的任务转移到高优先级任务所花费的时间。系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,确定发生抢占抢占时间中包括了任务切换时间。3、中断延迟时间(interruptlatencytime)即从中断第一条指令所持续的时间间隔由四部分组成:硬件延迟部分(通常可忽略不计)关中断时间处理器完成当前指令的时间中断响应周期的时间UniversityofScienceandTechnologyofChina134、信号量混洗时间(semaphoreshufflingtime)即从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。基于信号量的互斥访问保证了任一时刻只有一个任务能访问公共资源。此时间反映了与互斥有关的时间开销5、死锁解除时间(deadlockbreakingtime)即系统解开处于死锁状态的多个任务所需花费的时间。死锁解除时间反映了RTOS解决死锁的算法的效率。6、数据包吞吐率(datagramthroughputtime)指一个任务通过调用ERTOS的原语,把数据传送到另一个任务去时,每秒可以传送的字节数。UniversityofScienceandTechnologyofChina14进程分派延迟时间法PDLTProcessDispatchLatencyTime这是另一个常用的测量ERTOS性能的方法实时系统中,实时任务总是等待外部事件引发的中断来激活它。当一个中断产生后,系统必须迅速停止当前运行的低优先级任务,将控制权交给被激活的实时任务。PDLT:从中断的产生到由中断激活的实时任务开始执行之间的时间间隔。UniversityofScienceandTechnologyofChina15三维表示法有人将实时系统定义为:能够从外部环境获取输入,处理所获得的数据,并能在足够快的时间内将正确的响应返回给外部环境的系统。可将ERTOS的工作分为三个阶段:响应传感器或者其他输入设备的请求,并获取数据;对获得的数据进行处理(主要由应用程序进行处理);输出处理结果。UniversityofScienceandTechnologyofChina16据此,ERTOS的性能可用三个特性来描述这三个特性的最大值可分别单独测得,但这三个特性之间并不是相互独立的,如图CPU计算能力,MillionsofInstructionsPerSecondI/O吞吐率MillionsofI/OPerSecond中断处理能力,MillionsofInterruptsPerSecondUniversityofScienceandTechnologyofChina17注意:各种不同的方法或者文献中,关于性能指标的定义可能有细微的差异UniversityofScienceandTechnologyofChina18ReferenceArndC.Heursch,etc.Preemptionconcepts,RhealstoneBenchmarkandscheduleranalysisofLinux2.4,PaperforReal-Time&EmbeddedComputingConference,Milan,Nov.,2001嵌入式实时操作系统性能测试方法研究。UniversityofScienceandTechnologyofChina19作业:操作系统关键指标有哪些?名词解释:Rhealstone方法进程分派延迟时间法PDLT三维表示法UniversityofScienceandTechnologyofChina20中断(广义)会改变处理器执行指令的顺序,通常与CPU芯片内部或外部硬件电路产生的电信号相对应中断——异步的:由硬件随机产生,在程序执行的任何时候可能出现异常——同步的:在(特殊的或出错的)指令执行时由CPU控制单元产生设备设备控制器中断控制器IRQCPUINTRLinux2.4内核的中断处理UniversityofScienceandTechnologyofChina21当一个中断信号到达时,CPU必须停止它当前正在做的事,并且切换到一个新的活动来响应这个中断保存程序计数器PC的当前值把与中断信号处理相关的一个入口地址放入进PC中断的处理原则——快!中断会随时到来,打断正在运行的代码中断处理程序可能会禁止同级中断中断处理程序对硬件操作,一般硬件对时间也是非常敏感的UniversityofScienceandTechnologyofChina22保存中断向量保存上下文Do_IRQ中断返回前处理恢复上下文返回
本文标题:中断响应时间-中国科学技术大学
链接地址:https://www.777doc.com/doc-7185471 .html