logo资料库

操作系统第五版费祥林.docx

第1页 / 共111页
第2页 / 共111页
第3页 / 共111页
第4页 / 共111页
第5页 / 共111页
第6页 / 共111页
第7页 / 共111页
第8页 / 共111页
资料共111页,剩余部分请下载后查看
第一章 操作系统概论 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 个用户进程,此时:cPu 利用率=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 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU 存在空闲等待,时间为 100 至 150ms 之间(见图 中有色部分) (2)程序 A 无等待现象,但程序 B 有等待。程序 B 有等待时间段为 180rns 至 200ms 间(见图中有色部分) 3 设有三道程序,按 A 、B 、C 优先次序运行,其内部计算和 UO 操作时间由图 给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少 时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时 lms , 试画出各程序状态转换的时间关系图。 答: 1 )忽略调度执行时间,多道运行方式(抢占式): 抢占式共用去 190ms ,单道完成需要 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 ( 10ms )、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 。所以 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 ) 如果 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 空闲时间段为: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 的平 均利用率各为多少? 答:分别画出单道和多道运行的时间图 ( 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 利用率? 答:画出三个作业并发执行的时间图: ( 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 用了 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)读时钟日期;(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)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线 工序。 答:并发进程之间的基本相互制约关系有互斥和同步两种。其中(1)、(3)为 互斥问题.(2)、(4)为同步问题。 4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。在处 理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来? 答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断 是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个 进程的账上。 5 若后备作业队列中等待运行的同时有三个作业 J1 、J2、J3 ,已知它们各自 的运行时间为 a 、b 、c,且满足 a < b <c,试证明采用短作业优先算法调度 能获得最小平均作业周转时间。 答:采用短作业优先算法调度时,三个作业的总周转时间为: Tl = = a + ( a +b ) + ( a + b + c ) = 3a + 2b + c ① 若不按短作业优先算法调度,不失一般性,设调度次序为:J2 、J1 、J3 。则 三个作业的总周转时间为: T2=b+(b+a ) +(b+a + c ) = 3b + 2a + c ② 令②-① 式得到:
T2 - Tl = b- a> 0 可见,采用短作业优先算法调度才能获得最小平均作业周转时间。 6、若有一组作业 J1 ,… ,Jn ,其执行时间依次为 S1 ,… , Sn 。如果这些 作业同时到试找出一种作业调度算法到达系统,并在一台单 CPU 处理器上按单 道方式执行。使得平均作业周转时间最短。 答:首先,对 n 个作业按执行时间从小到大重新进行排序,则对 n 个作业:J1 ' ,… ,Jn , 创门的运行时间满足:S1≤S2 ≤……≤S (n-l ) ≤ Sn ’。那 么有: 由于任何调度方式下,S1' + S2' + S3'+…+Sn’为一个确定的数,而当 S1 ’ ≤S2 ’≤…≤ S( n - 1 ) ’≤Sn ’时才有:0*S1+1*S2+2*S3+…(n-1)Sn 的值最大,也就是说,此时 T 值最小。所以,按短作业优先调度算法调度时, 使得平均作业周转时间最短。 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 对某系统进行监测后表明平均每个进程在 I/O 阻塞之前的运行时间为 T 。一 次进程‘切换的系统开销时间为 S 。若采用时间片长度为 Q 的时间片轮转法, 对下列各种情况算出 CPU 利用率。 9 有 5 个待运行的作业,各自预计运行时间分别是:9 、6 、3 、5 和 x ,采 用哪种运行次序使得平均响应时间最短? 答:按照最短作业优先的算法可以使平均响应时间最短。x 取值不定,按照以下 情况讨论:
分享到:
收藏