处理器管理器和作业中断

时间:2013-03-17 08:02:05

标签: jobs processor interrupt-handling interrupt

这是我在CIS-21:操作系统课上的作业中的问题,我已经有了答案,因为导师给了我们,但他不想解释为什么这就是答案。所以这就是问题:

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

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

问题的第一部分是每个人,我的意思是每个人,在课堂上没有得到。教练说总共会有3次中断。但是,当我们都说这将是2次中断时,他变得愤怒并继续前进......很奇怪,是吧?为了适当的教育而付我的钱。

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

那么,他在哪里获得第3次中断?程序完成执行后会发出第3个中断吗?我认为只有当有内部中断时才会发生作业中断,例如I / O请求,时间量程到期和作业周期未完成,或者作业中存在非法操作/指令时。

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

编辑:我在互联网上收到相互矛盾的答案后给教师发了电子邮件,他承认他犯了一个错误而且只有2个中断,因为这个工作在20毫秒的队列中完成了。万一有人想知道。

2 个答案:

答案 0 :(得分:0)

3中断 - 当作业在第三级(即20ms)使用全量程之前完成其执行时,到私人调度程序来安排另一个进程。

答案 1 :(得分:0)

2中断,导师犯了错误。该作业以20ms队列结束。