操作系统 第四版 答案 孙钟秀主编.pdf
《操作系统 第四版 答案 孙钟秀主编.pdf》由会员分享,可在线阅读,更多相关《操作系统 第四版 答案 孙钟秀主编.pdf(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章 1、有一台计算机,具有 IMB 内存,操作系统占用 200KB,每个用户进程各占 200KB。如果用户进程等待 I/O 的时间为 80%,若增加 1MB 内存,则 CPU 的利用率提高多少?答:设每个进程等待 I/O 的百分比为 P,则 n 个进程同时等待刀 O 的概率是 Pn,当 n 个进程同时等待 I/O 期间 CPU 是空闲的,故 CPU 的利用率为 1-Pn。由题意可知,除去操作系统,内存还能容纳 4 个用户进程,由于每个用户进程等待 I/O 的时间为 80%,故:CPU 利用率l-(80%)4=0.59 若再增加 1MB 内存,系统中可同时运行 9 个用户进程,此时:c
2、Pu 利用率l-(1-80%)9=0.87 故增加 IMB 内存使 CPU 的利用率提高了 47%:87/59=147%147-100%=47%2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序 A 先开始做,程序 B 后开始运行。程序 A 的运行轨迹为:计算 50ms、打印 100ms、再计算 50ms、打印 100ms,结束。程序 B 的运行轨迹为:计算 50ms、输入 80ms、再计算 100ms,结束。试说明(1)两道程序运行时,CPU 有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序 A、B 有无等待 CPU 的情况?若有,指出发生等待的时刻。答
3、:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU 存在空闲等待,时间为 100 至 150ms 之间(见图中有色部分)(2)程序 A 无等待现象,但程序 B 有等待。程序 B 有等待时间段为 180rns 至 200ms 间(见图中有色部分)3 设有三道程序,按 A、B、C 优先次序运行,其内部计算和 UO 操作时间由图给出。试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时 lms,试画出各程序状态转换的时间关系图。答:1)忽略调度执行时间,多道运行方式(抢占式):?抢占式共用去 190ms,
4、单道完成需要 260ms,节省 70ms。忽略调度执行时间,多道运行方式(非抢占式):非抢占式共用去 180ms,单道完成需要 260ms,节省 80ms。2)调度执行时间 1ms,多道运行方式(抢占式):调度执行时间 ITns,多道运行方式(非抢占式):4 在单 CPU 和两台 I/O(I1,12)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:Jobl:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)Job2:I1(20ms)、CPU(20ms)、I2(40 ms)JOb3:CPU(30ms)、I1(20ms)、CPU(10m
5、s)、I1(10ms)如果 CPU、I1 和 I2 都能并行工作,优先级从高到低为 Jobl、Job2 和 Job3,优先级高的作业可以抢占优先级低的作业的 CPU,但不抢占 I1 和 I2。试求:(l)每个作业从投入到完成分别所需的时间。(2)从投入到完成 CPU 的利用率。(3)I2 设备利用率。答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):,(1)Job1 从投入到运行完成需 110ms,Job2 从投入到运行完成需 90ms,Job3 从投入到运行完成需 110ms.CPU 空闲时间段为:60ms 至 70ms,80ms 至 90ms,100ms 至 110ms。所以
6、CPU 利用率为(110-30)/10=72.7。设备 I1 空闲时间段为:20ms 至 40ms,90ms 至 100ms,故 I1 的利用率为(110-30)/l10=72.7。设备 I2 空闲时间段为:30ms 至 50ms,故 I2 的利用率为(110-20)/110=81.8。5 在单 CPU 和两台 I/O(I1,12)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:Jobl:I2(30ms)、CPU(10rns)、I1(30ms)、CPU(10ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)如
7、果 CPU、I1 和 I2 都能并行工作,优先级从高到低为 Job1、Job2 和 Job3,优先级高的作业可以抢占优先级低的作业的 CPU。试求:(l)每个作业从投入到完成分别所需的时间 (2)每个作业投入到完成 CPU 的利用率。(3)I/0 设备利用率。答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):(1)Job1 从投入到运行完成需 80ms,Job2 从投入到运行完成需 90ms,Job3 从投入到运行完成需 90ms。(2)CPU 空闲时间段为:60ms 至 70ms,80ms 至 90ms。所以 CPU 利用率为(90-20)/90=77.78。(3)设备 I1 空
8、闲时间段为:20ms 至 40ms,故 I1 的利用率为(90-20)/90=77.78。设备 I2 空闲时间段为:30ms 至 50ms,故 I2 的利用率为(90-20)/90=77.78。6 若内存中有 3 道程序 A、B、C,它们按 A、B、C 优先次序运行。各程序的计算轨迹为:A:计算(20)、I/O(30)、计算(10)B:计算(40)、I/O(20)、计算(10)c:计算(10)、I/O(30)、计算(20)如果三道程序都使用相同设备进行 I/O(即程序用串行方式使用设备,调度开销忽略不计)。试分别画出单道和多道运行的时间关系图。两种情况下,CPU 的平均利用率各为多少?答:分别
9、画出单道和多道运行的时间图(1)单道运行时间关系图 单道总运行时间为 190ms。CPU 利用率为(190-80)/190=57.9%单道运行时间关系图 多道总运行时间为 140ms。CPU 利用率为(140-30)/140=78.6%7 若内存中有 3 道程序 A、B、C,优先级从高到低为 A、B 和 C,它们单独运行时的 CPU 和I/O 占用时间为:如果三道程序同时并发执行,调度开销忽略不计,但优先级高的程序可中断优先级低的程序,优先级与 I/O 设备无关。试画出多道运行的时间关系图,并问最早与最迟结束的程序是哪个?每道程序执行到结束分别用了多少时间?计算三个程序全部运算结束时的 CPU
10、 利用率?答:画出三个作业并发执行的时间图:(l)最早结束的程序为 B,最后结束的程序为 C。(2)程序 A 为 250ms。程序 B 为 220ms。程序 C 为 310ms。(3)CPU 利用率为(310-120)/310=61.3%有两个程序,A 程序按顺序使用:(CPU)10 秒、(设备甲)5 秒、(CPU)5 秒、(设备乙)10 秒、(CPU)10 秒。B 程序按顺序使用:(设备甲)10 秒、(CPU)10 秒、(设备乙)5 秒、(CPU)5 秒、(设备乙)10 秒。在顺序环境下先执行 A,再执行 B,求出总的 CPU 利用率为多少?答:程序 A 执行了 40 秒,其中 CPU 用了
11、 25 秒。程序 B 执行了 40 秒,其中 CPU 用了 15 秒。两个程序共用了 80 秒,CPU 化 40 秒。故 CPU 利用率为 40/80=50。9、在某计算机系统中,时钟中断处理程序每次执行的时间为 2ms(包括进程切换开销)。若时钟中断频率为 60HZ,试问 CPU 用于时钟中断处理的时间比率为多少?答:因时钟中断频率为 60HZ,所以,时钟周期为:l/60s=50/3ms。在每个时钟周期中,CPU 花 2ms 执行中断任务。所以,CPU 用于时钟中断处理的时间比率为:2(50/3)=6/50=12。作者:佚名 来源:网络 1.下列指令中哪些只能在核心态运行?(l)读时钟日期;
12、(2)访管指令;(3)设时钟日期;(4)加载 PSW;(5)置特殊寄存器:(6)改变存储器映象图;(7)启动 I/O 指令。答:(3),(4),(5),(6),(7).2 假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O 繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。答:因为 I/O 繁忙型作业忙于 I/O,所以它 CPU 用得少,按调度策略能优先执行。同样原因一个进程等待 CPU 足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关系:(1)踢足球
13、,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。答:并发进程之间的基本相互制约关系有互斥和同步两种。其中(1)、(3)为互斥问题(2)、(4)为同步问题。4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。5 若后备作业队列中等待运行的同时有三个作业 J1、J2、J3,已知它们各自的运行时间为 a、b、c,且满足 a 0 可见,采用短作业优先
14、算法调度才能获得最小平均作业周转时间。6、若有一组作业 J1,Jn,其执行时间依次为 S1,,Sn。如果这些作业同时到试找出一种作业调度算法到达系统,并在一台单 CPU 处理器上按单道方式执行。使得平均作业周转时间最短。答:首先,对 n 个作业按执行时间从小到大重新进行排序,则对 n 个作业:J1 ,Jn,创门的运行时间满足:S1S2 S(n-l)Sn。那么有:由于任何调度方式下,S1+S2+S3Sn为一个确定的数,而当 S1 S2 S(n-1)Sn 时才有:0*S1+1*S2+2*S3+(n-1)Sn 的值最大,也就是说,此时 T 值最小。所以,按短作业优先调度算法调度时,使得平均作业周转时
15、间最短。7、假定执行表中所列作业,作业号即为到达顺序,依次在时刻 0 按次序 1、2、3、4、5 进入单处理器系统。(1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);(2)计算每种情况下作业的平均周转时间和平均带权周转时间。(1)采用 FCFS 算法调度作业,运作情况:(2)采用双算法调度作业,若令时间片长l,各作业执行情况为:1、2、3、4、5、l、3、5、1、5、1、5、1、5、1、l、l、1、1。(3)采用 SJF 算法调度作业,运作情况:(4)采用非剥夺优先权算法调度作业,运作情况:8 对某系统进行监测
16、后表明平均每个进程在 I/O 阻塞之前的运行时间为 T。一次进程切换的系统开销时间为 S。若采用时间片长度为 Q 的时间片轮转法,对下列各种情况算出 CPU 利用率。9 有 5 个待运行的作业,各自预计运行时间分别是:9、6、3、5 和 x,采用哪种运行次序使得平均响应时间最短?答:按照最短作业优先的算法可以使平均响应时间最短。x 取值不定,按照以下情况讨论:10.有 5 个批处理作业 A 到 E 均己到达计算中心,其运行时间分别 2、4、6、8 和 10 分钟:各自的优先级分跳狠掀完为、飞、飞、氏积 5、这里 5 为最高级。对于 1)时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来
17、先服务调度算法(按到达次序 C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。(对 l)每个作业获得相同的 2 分钟长的时间片;对 2)到 4)采用单道运行,直到结束。)答:(l)FCFS 调度算法 (2)优先级调度算法 (3)时间片轮转法 按次序 ABCDEBCDECDEDEE 轮转执行。(4)SJF 调度算法 11、有 5 个批处理作业 A 到 E 均已到达计算中心,其运行时间分别 10、6、2、4 和 8 分钟;各自的优先级分别被规定为 3、5、2、1 和 4,这里 5 为最高级。若不考虑系统切换开销,计算出平均作业周转时间。(1)FCFs(按 A、B、C、D、E
18、);(2)优先级调度算法,(3)时间片轮转法(每个作业获得相同的 2 分钟长的时间片)。答:(1)FCFS 调度算法 (2)优先级调度算法 (3)时间片轮转法 按次序 ABCDEABDEABEAEA 轮转执行。12(l)假定一个处理器正在执行两道作业,一道以计算为主,另一道以输入输出为主,你将怎样赋予它们占有处理器的优先级?为什么?(2)假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主,第三道为计算与输入输出均匀。应该如何赋予它们占有处理器的优先级使得系统效率较高?答:处理器调度算法会考虑以下因素:作业响应时间要求;让 CPU 尽量和外围设备并行工作;限制一个计算进程长时间
19、霸占处理器。因而,(1)FO 为主作业优先级高。(2)输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最低。13 请你设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换,则 CPU 需要哪些信息?请描述用硬件完成进程切换的工作过程。答:该计算机有一个专用硬件寄存器,它始终存放指向当前运行进程的 PCB 的指针。当系统中发生了一个事件,如 FO 结束事件,CPU 便可把运行进程的上下文保存到专用硬件寄存器指针指向的 PCB 中保护起来,然后,CPU 转向中断向量表,找到设备中断处理程序入口,让专用硬件寄存器指针指向(设备)中断服务例程,于是,便可启动中断服
20、务例程工作。14 设计一条机器指令和一种与信号量机制不同的算法,使得并发进程对共享变量的使用不会出现与时间有关的错误。解:(l)设计机器指令。设计一条如下的”测试、比较和交换”三地址指令,提供了一种硬件互斥解决方案:TC&S R1 R3 B2 D2 该指令的功能如下:l)C 为一个共享变量,由地址 2、即变址(B2)+D2 给出,(2)(Rl)与(C)比较,(3)如果(Rl)=(C)则(R3)C,并置条件码为00,如果(R1)(c)则(C)Rl,并置条件码为01 .(2)编写进程访问共享变量的程序。对每个访问共享变量 C 的进程,编写访问共享变量的程序段为:作业 执行时间 等待时间 周转时间
21、带权周转时间 A B C D E 10 6 2 4 8 20 l6 4 l2 20 30 22 6 16 28 3 3.66 3 4 3.5 作业平均周转时间作业平均带权周转时间 T=(30+22+6+16+28)/5=20.4 W=(3+3.66+3+4+3.5)/5=3.43 (3)程序执行说明。此解与互斥使用共享变量的思路绝然不同,并发运行的进程可不互斥地访问它们的共享变量。此方案认为造成共享变量 C 值错误的原因在于:一个进程(Pl)在改变 C 值的过程中,另一个进程伊 2)插进来也改变了 C 的值,而本进程(Pl)却不知道,造成了 c 值结果不正确。如果有办法使本进程口 1)能知道
22、C 值是否改变,改变的话在继承改变了的 C 值的基础上,再作自己的改变操作,则就不会导致共享变量 C 值的错误。为此,本解决方案中,当一个进程 l)准备改变 C 值时,先把 C 的值保护在 Rl 中,然后,通过 R3 来改变共享变量 C 的值。当要把新的值(即R3 内的值)送 C 之前,先要判断一下在本进程(P1)工作期间是否有别的进程口 2)插进来也改变了 C 的值(并发进程 P1、P2 的执行完全会造成这种情况),方法是:将扭 1)中被保护的 C 的原来值,与 C 的当前值比较,若相等,说明 C 值未被改变过,则将本进程(Pl)修改过的新值送 C(即(R3)一 C);若不相等,说明 C 值
23、在工作期间被改变过,则应该继承 C 的新值(即(C)一 Rl)并且返回到 loop2 处重新对 C 值计数,以此保证 C 值的最终结果的正确性。这里提及”进程工作期间”指的是一个进程从开始至结束对共享变量 C 值的操作的这段时间,也就是执行进程,I 晦界区”这段程序的时间。此外,在进程进入临界区之前,应等待直到 C 为非。(即有资源可用)为止。(4)举例。假定系统中有静态分配资源磁带机共 3 台,被 N 个进程共享,由共享变量 C 来代表可用磁带机台数,其初值为 3。现有并发进程 P1 和 P2 均申请使用磁带机,执行临界区程序。进程 Pl 执行临界区程序(C)R1;因(C)=3,故(R1)=
24、3。loop2:(Rl)R3 因(R1)=3,故(R3)当前也3。decrease R3:申请使用磁带机,做减 1 操作,故(R3)=2.TC&S 执行”测试、比较和交换,,TC&S 指令。如果 R1=(C)则(R3)C,即(C)=2,并置条件码为”00,跳出临界区程序,去使用磁带机。如果(Rl)(C),例如,(C)=2,说明进程 P2 抢先申请了磁带机,所以,C 与保护在 R1 中的值不一样了(C 的值必 小于 Rl 的值),应以 C 的当前值为准,执行(C)Rl(R1 此时变为 2),并置条件码为”01 ,转向 foopZ。于是伍 1)=2,跟着(R3 卜 2。接着卿)减 1 后应l 了。
25、再执行 TC&S 时,由于伍 1 卜(C)=2,会使 C 变为 1。r(conditio 二 01)loop2;巧单道批处理系统中,下列三个作业采用先来先服务调度算法和最高响应比优先算法进行调度,哪一种算法性能较好?请完成下表:陆界区程序 说明 (C)Rl;loop2:(R1)R3;Add/decrease R3;TC&S;R(condition=01)loop2;共享变量 C 的值保护到 RI 中。Rl 的值传送到 R3 中,进程修改共享变量时,先对 R3 操作(不是直接操作 C)。R3 加 1 减 1,进程归还申请由共享变量 C 代表的共享资源(假定每次一个)。执行”测试、比较和交换”指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第四版 答案 孙钟秀主编 第四 孙钟秀 主编
限制150内