首页 理论教育 事件和组织块关系分析

事件和组织块关系分析

时间:2023-06-29 理论教育 版权反馈
【摘要】:表5.8启动OB的事件续表启动事件与程序循环事件不会同时发生,在启动期间,只有诊断错误事件能中断启动事件,其他事件将进入中断队列,在启动事件结束后处理它们。

事件和组织块关系分析

1.启动组织块的事件

组织块(OB)是操作系统与用户程序的接口,出现启动组织块的事件时,由操作系统调用对应的组织块。启动组织块的事件的属性如表5.8所示。

表5.8 启动OB的事件

续表

启动事件与程序循环事件不会同时发生,在启动期间,只有诊断错误事件能中断启动事件,其他事件将进入中断队列,在启动事件结束后处理它们。

2.不会启动OB的事件(见表5.9)

表5.9 不会启动OB的事件

3.事件执行的优先级与中断队列(www.xing528.com)

优先级、优先级组和队列用来决定事件服务程序的处理顺序。

每个CPU事件都有它的优先级,不同优先级的事件分为3个优先级组。表5.9给出了各类事件的优先级、优先级组和队列深度。优先级的编号越大,优先级越高。时间错误中断具有最高的优先级26和27。

事件一般按优先级的高低来处理,先处理高优先级的事件。优先级相同的事件按“先来先服务”的原则来处理。

高优先级组的事件可以中断低优先级组的事件的OB的执行,例如,第2优先级组所有的事件都可以中断程序循环 OB 的执行,第 3 优先级组的时间错误 OB 可以中断所有其他的OB。

一个OB正在执行时,如果出现了另一个具有相同或较低优先级组的事件,后者不会中断正在处理的OB,而是根据它的优先级添加到对应的中断队列排队等待。当前的OB被处理完后,再处理排队的事件。

当前的OB执行完后,CPU将执行队列中最高优先级事件的OB,优先级相同的事件按出现的先后次序处理。如果高优先级组中没有排队的事件,CPU将返回较低的优先级组被中断的OB,从被中断的地方开始继续处理。

不同的事件(或不同的OB)均有它自己的中断队列和不同的队列深度(见表5.9)。对于特定的事件类型,如果队列中的事件个数达到上限,下一个事件将使队列溢出,新的中断事件被丢弃,同时产生时间错误中断事件。

有的OB用它的临时局部变量提供触发它的启动事件的详细信息,可以在OB中编程,作出相应的反应,如触发报警等。

4.中断的响应时间

中断的响应时间是指从CPU得到中断事件出现的通知,到CPU开始执行该事件的OB的第一条指令之间的时间。如果在事件出现时,只是在执行程序循环OB,中断响应时间小于175 μs。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈