1第4章中断处理与时间管理4
1中断处理4
2时钟节拍4
3时间管理习题24
1中断处理中断:由于某种事件的发生而导致程序流程的改变
产生中断的事件称为中断源
CPU响应中断的条件:至少有一个中断源向CPU发出中断信号;系统允许中断,且对此中断信号未予屏蔽
1中断嵌套4中断服务程序ISR中断一旦被识别,CPU会保存部分(或全部)运行上下文(context,即寄存器的值),然后跳转到专门的子程序去处理此次事件,称为中断服务子程序(ISR)
μC/OS-Ⅱ中,中断服务子程序要用汇编语言来编写,然而,如果用户使用的C语言编译器支持在线汇编语言的话,用户可以直接将中断服务子程序代码放在C语言的程序文件中
5中断延迟中断延迟:从硬件中断发生到开始执行中断处理程序第一条指令所用的时间是从中断发生到中断跳转指令执行完毕之间的这段时间,它是实时内核最重要的指标
由于实时操作系统考虑得更多的是最坏的情况,而不是平均的情况,因此指令执行的时间必须按照最长的指令执行时间来计算
6计算公式在前后台系统中:在不可剥夺型和不可剥夺内核中:中断延迟=MAX最长指令时间,用户关中断时间+内核关中断时间,中断向量跳转时间7中断响应中断响应:从中断发生起到开始执行中断用户处理程序的第一条指令所用的时间即从中断发生到刚刚开始处理异步事件之间的这段时间,它包括开始处理这个中断前的全部开销
在前后台系统和不可剥夺型内核中:中断响应=中断延迟+保存CPU内部寄存器的时间在可剥夺型内核中中断响应=中断延迟+保存CPU内部寄存器的时间+内核进入中断服务函数的执行时间8中断恢复时间CPU返回到被中断了的程序代码所需要的时间
在前后台系统和不可剥夺型内核中对于可剥夺型内核=中断恢复时间恢复CPU内部寄存器值的时间+执行中断返回指令的时间=中断恢复时间判定是否有优先