2013-03-17 45 views
1

这是我在CIS-21作业系统课上的一个问题:操作系统课,我已经有了答案,因为教师给了我们,但他不想解释为什么这是回答。所以这里的问题是:处理器管理器和作业中断

在系统中运行的作业,每个队列的可变时间量需要30毫秒才能完成。如果第一个队列的时间量为5毫秒,并且之后每个队列的时间量都是前一个量的两倍,那么该作业将被中断多少次以及它将在哪个队列上完成其执行?

第二部分很简单,工作将在第三级队列(一级队列为5毫秒,二级队列为10毫秒,第三级队列为20毫秒)完成其执行。由于作业需要30毫秒,因此它将在第一级队列中执行5毫秒,然后在第二级队列中执行10毫秒,并在第三级队列中执行15毫秒。

问题的第一部分是每个人,我的意思是大家都没有得到。指导员说总共有3个中断。但是当我们都说这是两个中断时,他变得生气并且继续前进......奇怪,是吧?这么多钱用于支付适当的教育费用。

无论如何,我们的想法是,作业在第一个队列中运行5毫秒,然后发出中断,更新其PCB(个人控制块),并将其移入下一个较低队列,即10毫秒队列。一旦到达它,该作业将在第二级队列中执行10毫秒,并发出中断。信息将在PCB中更新,作业将移至下一个较低的队列,即20毫秒队列。到目前为止,这是两个中断。一旦作业到达第三级队列中的队列顶部,它将执行15秒,并在队列的时间范围到期之前结束其执行。

那么,他从哪里得到第三个中断?当程序完成执行时会发出第三个中断吗?我认为工作中断只发生在有内部中断时(例如I/O请求,时间到期并且作业周期未完成,或作业内存在非法操作/指令时)。

那么,有2或3个工作中断,为什么?

编辑:我通过电子邮件教师在互联网上获得冲突后的答案,并且他承认自己犯了一个错误,它的只有2中断,因为在这项工作得到由20ms的队列完成。以防万一有人在想。

回答

0

2中断,教师发出错误。该作业以20ms队列完成。

0

3中断 - 当作业完成其执行之后,在第三级使用完整量程(即20ms)时,可以通过调度器来调度另一个进程。

+0

那么,你是说在执行结束时,作业被中断以便切换到另一个作业?但是如果这项工作完成了它的执行,它怎么会被打断? – 2013-03-18 00:30:28

+0

原来只有2个中断,请参考我对原帖的编辑。 – 2013-03-19 04:21:25