1、70习题 44.1 强迫性中断与自愿性中断的主要区别是什么 ?答:强迫性中断这类中断事件是正在运行的程序(进程)所不知的。这类中断的发生与否,何时发生都是事先所无法预知的,因而执行的程序可能在任意位置被打断。自愿性中断这类中断事件是正在运行的程序事先有意识安排的。它们通常由于正在运行的程序执行访管指令(或系统调用)而引起的,其目的是要求系统为其提供某种服务。这类中断的发生具有必然性,而且发生的位置确定。4.2 试说明时钟中断对于程序、作业管理的作用。答: 进程管理:在采用时间片轮转处理机调度算法的系统中,记录进程已占用处理机时间,并判断时间片是否用完。在采用可抢占 CPU 动态优先数处理机调度
2、算法中,重新计算各进程的优先数,并判断是否有高优先数(与当前运行的进程优先数比较)进程出现。 作业管理:记录作业在输入井中等待的时间,以及目前的优先级别,以便作业调度程序据此决定下一个将要进入系统执行的作业。4.3 试说明中断是进程切换的必要条件,但不是充分条件。答:进程切换是在系统模式下,是通过硬/软中断进入系统模式的,但中断不一定产生进程切换,如在非强占机制下,尽管发生 I/O 外部中断使得一个进程可能从阻塞队列进入就绪队列,但不能立刻强占 CPU,即发生进程切换。4.4 为什么在中断发生时要保存当前被中断进程的 PC 和 PSW,IBM PC 机上在中断发生后,硬件上都保存那些内容 ?答
3、:因为 PC 和 PSW 当前进程的 CPU 现场,是下次运行的初始环境。IBM PC 机上在中断发生后,硬件上都保存:CS,IP,PSW。4.5 何谓中断向量,用户在多道程序系统下是否可修改中断向量,为什么 ?答:每个中断处理程序都有一个入口地址(PC存放于系统固定单元中的地址) ,及其运行环境(PSW ) 。当中断事件发生时,中断装置根据中断类别自动地将对应的 PSW 和PC 分别送入程序状态字和程序计数器中,如此便转入到对应的中断处理程序。这个转移类似于向量转移,因而 PSW 和 PC 也可以被称为中断向量。用户在多道程序系统下不可修改中断向量,因为中断、中断向量和中断处理程序是由系统控
4、制和管理的,对用户是透明的。4.6 你认为在多道程序系统下,用户程序是否可以执行“关中断”和“屏蔽中断”指令, 为什么 ?答:用户程序不可以执行“关中断”和“屏蔽中断”指令,因为中断是由系统控制和管理的,用户不感知中断;否则将造成系统混乱(无统一管理者) 。4.7 如果没有中断,是否可以实现多道程序设计,为什么 ?答:不能,因为如果一个进程被调度执行就一直执行下去而不会被打断,就不会存在多个进程交替运行。4.8 高级调度与低级调度各自的任务是什么,何时需要中级调度,中级调度的目的71是什么 ?答:高级调度的任务就是选择一个或多个作业投入系统活动空间中,即从静止空间进入活动空间,准备在 CPU
5、上运行。低级调度的任务就是选择一个处在活动空间中的一个就绪进程调度到 CPU 上执行。在需要进行进程的程序和数据交换时需要中级调度的时机,中级调度的目的就是缓解内存紧张状况,将一个或多个进程的全部或部分程序和数据交换到外存的交换区上。4.9 如果系统存在系统级线程,低级调度的单位是什么,如果系统不存在系统级线程,低级调度的单位是什么 ?答:如果系统存在系统级线程,则低级调度的单位是线程,如果系统不存在系统级线程,低级调度的单位是进程。4.10 请你给出低级调度的三个时机,即何时会产生低级调度。答:一个进程执行结束、当前进程由于请求 I/O 进入阻塞、以及分时系统中时间片到。4.11 在抢占方式
6、的系统中,何时会产生抢占 ?答:当一个进程从阻塞队列进入就绪队列时、以及创建一个新进程时等。4.12 判别下列各结论的正确与错误,并说明你的理由(1)若系统限定一个进程在 CPU 上一次只能执行一个时间片,则系统采用的是抢占式调度方式。正确,因为时间片到是一种强占机制。(2)若只当一个进程执行完了它的任务,系统才重新进行调度,则系统采用的是非抢占式调度方式。正确,因为中间未被打断过(强占) 。(3)若现行进程需要等待某个事件时,系统立即将 CPU 转交给其它进程,则系统采用的是抢占式调度方式。否,因为是由进程主动放弃 CPU 的。(4)实时系统通常采用抢占式调度方式。正确,因为需要及时响应高级
7、中断事件。4.12 解释 CPU 利用率、吞吐率、作业的周转时间和进程的周转时间,以及作业带权周转时间。答:单位时间内 CPU 运行时间所占比例。单位时间内完成任务的个数。作业进入系统到完成的时间;进程初始进入就绪队列到完成的时间。作业周转时间与运行时间的比。4.13 如果某调度算法获得了平均周转时间最小,能否说明该算法必定是最佳的,该结论是否成立 ?试说明你的理由。答:平均周转时间最小将导致单位时间内系统吞吐率高,因而该算法是最佳的。4.14 周转时间与响应时间有何不同 ?答:周转时间一般是指从进入到完成的时间。响应时间一般是指从进入到准备开始响应的时间(分时系统否) 。724.15 设在批
8、处理系统中,有 4 道作业,他们进入系统的时刻及运行时间如下:请分别求出下列算法各作业的执行顺序,以及平均周转时间、带权周转时间。FCFS,SJF,HRN,SRT 算法答:FCFS:SJF:HRN:SRT 与 SJF 同样:4.16 请证明 SJF 算法导致最短的平均周转时间。答:在长作业之前,优先执行短作业,所减少的短作业的等待时间大于长作业所增加的等作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间A 10.0 2B 10.0 1C 10.30 1D 10.50 0,5作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间A 10.0 2 10.0 12.0
9、 2.0 1B 10.0 1 12.0 13.0 3.0 3C 10.30 1 13.0 14.0 3.70 3.7D 10.50 0,5 14.0 14.50 4.0 83.175 3.925作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间A 10.0 2 12.5 14.5 4.5 2.25B 10.0 1 10.0 11.0 1 1C 10.30 1 11.5 12.5 2.2 2.2D 10.50 0,5 11.0 11.50 1.0 22.175 1.8625作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间A 10.0 2 10.0 12.0
10、2.0 1B 10.0 1 12.5 13.5 3.5 3.5C 10.30 1 13.5 14.5 4.2 4.2D 10.50 0,5 12.0 12.50 2.0 42.925 3.17573待时间,从而,平均等待时间应得到减少;即有下面图示:从相关的参考资料(何炎祥主编,计算机操作系统学习指导与习题解答,清华大学出版社)得到的具体解答为:解:假设在某一时刻,有 n 个作业到达,其服务时间(运行时间)分别为;t1t 2t 3 。 。 。 ,所以响应时间;T(t 1)= t1,T(t 2)= t1 + t2 , 。 。 。 。因此平均响应时间如下:= Tavniit1)(再假设,作业 a
11、和作业 b 交换执行顺序,且 ab,则新响应时间如下:= nt1+(n-1)t2+(n-a+1)tb+(n-b+1)ta+tnvn = (n-a+1)tb (n-a+1)ta+(n-b+1)ta(n-b+1)t b= (tbt a)(ba)a 1由于 ab,所以 tatb,上式大于 0,即按 SJF 调度平均响应时间最小(短) 。4.17 下述结论是否正确 ?为什么 ?(1)SJF 属于公平调度算法。(2)越短的作业,或进程,应越优先服务。(3)由于 SJF 优先服务短者,故可用于分时系统。答:(1)不正确,因为 SJF 属于短作业优先。(2)不正确,应根据系统的追求的目标。(3)正确,分时系
12、统对及时要求不高。4.18 假定 RR 算法调度一个进程所需的 CPU 时间的平均值为 a,讨论下述情况对时间片 q 不同的设置将导致什么结果,或产生什么影响;(1)q = ; (2)q 稍大于 0 ; (3)q = a ;答:(1)q = 时,相当于 FCFS。(2)q 稍大于 0 时,CPU 利用率极低。(3)q = a 时,CPU 利用率 = 50%4.19 实时调度算法中最重要的参考依据是什么 ?答:实时调度算法中最重要的参考依据是截止时间。4.20 目前常用的调度算法能否应用到实时系统中 ?答:长 短短 长74不能。4.21 在实时系统中,采用不可抢占处理机的优先级调度算法与采用可抢占处理机的优先级调度算法的区别是什么 ?答:区别是否存在快速的外部事迹中断响应。可抢占处理机的优先级调度算法要求系统具有快速响应外部事件中断的能力。一旦出现外部中断,只要当前任务未处于临界区,便能立即剥夺当前任务的执行,把处理机分配给请求中断的紧迫任务;而不可抢占处理机的优先级调度算法一旦调度某个进程运行就一直运行下去,直到完成,或自我终止。4.22 紧耦合与松散耦合多处理机系统的区别是什么 ?答:区别就在于是否通过主存进行数据交换。紧耦合是通过主存进行数据交换,而松散耦合是通过通信线进行的数据交换。