操作系统课后习题1-9答案.doc

上传人:小** 文档编号:13275953 上传时间:2020-06-11 格式:DOC 页数:18 大小:427.02KB
收藏 版权申诉 举报 下载
操作系统课后习题1-9答案.doc_第1页
第1页 / 共18页
操作系统课后习题1-9答案.doc_第2页
第2页 / 共18页
操作系统课后习题1-9答案.doc_第3页
第3页 / 共18页
资源描述:

《操作系统课后习题1-9答案.doc》由会员分享,可在线阅读,更多相关《操作系统课后习题1-9答案.doc(18页珍藏版)》请在装配图网上搜索。

1、 练习11.1-1.10题解见书1.11 有一台输入设备和一台输出设备的计算机系统上,运行有两道程序。两道程序投入运行情况如下: 程序1先开始运行,其运行轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束; 程序2后开始运行,其运行轨迹为:计算50ms、输入100ms、计算100ms、结束。 1. 忽略调度时间,指出两道程序运行时,CPU是否有空闲?在哪部分空闲?指出程序1和程序 2. 有无等待CPU的情况?如果有,发生在哪部分?题解:由题画出CPU利用图如下: 由图可知,1.CPU有空闲,在100ms150ms时间段是空闲的。 2.程序1无等待时间,而程序2在一开始的0

2、ms50ms时间段会等待。1.12 在计算机系统上运行三道程序,运行次序为程序1、程序2、程序3。程序1的运行轨迹为:计算20ms、输入40ms、计算10ms。程序2的运行轨迹为:计算40ms、输入30ms、计算10ms。程序3的运行轨迹为:计算60ms、输入30ms、计算20ms。忽略调度时间,画出三道程序运行的时间关系图;完成三道程序共花多少时间?与单道程序比较,节省了多少时间?解答:三道程序运行,完成三道程序共花170ms。与单道程序(260ms)比较,节省了90ms。(始终按照1-2-3的次序,即程序1程序2程序3程序1程序2(在程序3运行前会停10ms等待输入完成)程序3。(如果不是

3、按照程序1、2、3的次序完成则会有多种情况。)1.13 在计算机系统上有两台输入/输出设备,运行两道程序。 程序1的运行轨迹为:计算10ms、输入5ms、计算5ms、输出10ms、计算10ms。 程序2的运行轨迹为:输入10ms、计算10ms、输出5ms、计算5ms、输出10ms。 在顺序环境下,先执行程序1,再执行程序2,求总的CPU利用率为多少?题解:由题画出CPU利用图如下:由图可知,在总共80ms的时间里,CPU空闲时间为40ms,即: CPU利用率=40ms/80ms*100%=50%1.14 一个计算机系统有足够的内存空间存放3道程序,这些程序有一半的时间在空闲等待I/O操作。问多

4、大比例的CPU时间被浪费掉了。题解:由题画图如下:因为每个程序有一半的时间在等待I/O操作,所以在并发状态下,程序1、程序2、程序3所占时间比依次减半(如上图),所以浪费的时间比例为1/8。 练习2218 某系统中进程状态变化如图2.22所示,当对系统中的进程进行观察时,发现某一进程产生的一次状态变化会引起另一进程发生状态变化。(1)在什么情况下,一个进程的状态变化3能够立即引起另一进程的状态变化1?(2)在什么情况下,一个进程的状态变化2能够立即引起另一进程的状态变化1?(3)进程的状态变化3是否可能引起另一进程的状态变化2?进程的状态变化3是否可能引起另一进程的状态变化1?解答:(1)当就

5、绪队列中还存在其它进程的情况下,一个进程的状态变化3能够立即引起另一进程的状态变化2。(2)当就绪队列中还存在其它进程的情况下,一个进程从运行状态变化到就绪状态后,另一个就绪进程能够从就绪状态变为运行状态。(3)不可能,可能。219分别写出相应的程序来描述图2.23中的前趋图。解答S1S2S3S4S5S6S7程序:S1:a:=x+1 S2:b:=a+2 S3:c:=a+3 S4:d:=b+4 S5:e:=b+c S6:f:=e+5 S7:g=e+6 S1S2S3S4S5S6S7程序:S1:a:=x+1 S2:b:=a+2 S3:c:=a+3 S4:d:=b+4 S5:e:=b+c S6:f:=

6、d+e S7:g:=c+e2.20 假设在一个系统中,新进程以每分钟8个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中CPU忙的时间比率。 如果新进程以每分钟10个进程的速率到达,每个进程请求服务的平均时间也为6s,估计在一个单处理器系统中CPU忙的时间比率。 如果新进程创建以每分钟超过10个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中CPU忙得时间比率,并解释此时的情况。解答: 因为新进程每分钟8个进程的速率到达,每个进程之间达到的时间间隔为7.5s。由于每个进程占用6s的CPU时间。所以,1分钟之内CPU的空间时间为8*1.5s=1

7、2s。CPU的利用率为48/60=0.8,即80%。 因为新进程每分钟10个进程的速率到达,每个进程之间达到的时间间隔为6s。由于每个进程占用6s的CPU时间。所以,1分钟之内CPU的空间时间为0s。CPU的利用率为100%。 如果新进程创建以每分钟超过10个进程的速率到达,每个进程请求服务的平均时间为6s,则请求服务时间会大于1分钟,CPU一直会处于繁忙,所以 CPU忙的时间比率同样为100%。2.21 一个系统中有4个进程,进程P1要求20s后运行,经过40s后再次运行;进程P2要求25s后运行;进程P3要求35s后运行,经过35s后再次运行;进程P4要求60s后运行。进程在阻塞队列等待被

8、唤醒后运行,试创建进程的唤醒队列。解答:进程的唤醒队列为P1P2P3P4P1P3注意:“经过40s后再次运行”表示第1次运行完成后再过40s。2.22 如果线程是在用户空间线程库中实现,解释为什么当进程中的一个线程阻塞时,进程内的所有其它线程都会阻塞?如果线程是在内核空间中实现,而进程内的一个线程阻塞不会引起进程内的其他线程被阻塞,为什么?解答: 用户级线程由用户空间运行的用户级线程库实现。当一个应用程序提交给操作系统后,操作系统首先为该应用程序建立一个内核管理进程,然后用户级线程库为该进程创建一个或多个用户级线程,但内核并不知道用户空间线程的活动,内核只是以进程为单位,实现进程状态的转换,因

9、此当进程中的一个线程阻塞时,进程内的所有其它线程都会阻塞。 如果线程是在内核空间中实现的,这些内核级线程都由内核创建和控制管理,内核为整个进程及进程中的所有线程维护现场信息,内核的调度是在线程的基础上进行的,因而进程的一个线程阻塞不会引起进程内的其他线程被阻塞。练习33.13 证明作业调度算法中短作业优先调度算法具有最小平均等待时间。证明:假设在作业队列中等待运行的作业有N道,分别为N0,N1,N2,Nn-1,它们的运行时间分别为t0,t1,tn-1,且满足t0t10说明任何一种作业调度顺序的作业的平均等待时间都大于按照短作业优先的作业的平均等待时间。3.14 假设在一个处理器上执行5个作业,

10、作业到达的次序和需要执行的时间分别为:J0(75ms)、J1(15ms)、J2(5ms)、J3(15ms)、J4(45ms),假定系统中使用FCFS调度算法,作业J3的周转时间是多少?作业的平均等待时间是多少?答:周转时间(ms)等待时间(ms)J0750J19075J29590J311095J4155110平均等待时间(ms)743.15在单道批处理系统中,三个作业的提交时间分别为:10:00、10:10、10:20,需要执行时间分别为:2小时、1小时、0.5小时,分别按照短作业优先调度算法和高响应比优先调度算法进行调度,比较哪一种调度算法更好?解:(1) 不抢占:执行顺序为A,C,B平均周

11、转时间:(120+130+200)/3=150(min)平均带劝周转时间:(120/120+130/30+200/60)/3 =26/9 抢占: A(10:10),B(10:20),C(10:50),B(11:40),A(13:30)平均周转时间:(210+90+30)/3=110(min)平均带劝周转时间:(210/120+90/60+30/30)/3 =510/360=17/12(2) 响应比高者优先调度算法不会抢占,因此,只存在这样一种情况:执行顺序为A,C,B平均周转时间:(120+130+200)/3=150(min)平均带劝周转时间:(120/120+130/30+200/60)/

12、3 =26/9 所以,如果要比较哪一种算法好自然针对不抢占的情况。根据比较结果,它们的平均周转时间和平均带权周转相同,这主要是该应用正好发生了这样凑巧的情况。3.16假设在具有一个处理器的系统上执行下面的作业,假如采用抢占式短作业优先调度算法,作业需要处理时间T和到达时间A分别如下:那么:IT到达时间A050013510220103255544095作业1的周转时间是多少?作业的平均等待时间是多少?答:1。执行顺序为:0(10),2(30),1(65),3(90),0(130),4(170)作业0的周转时间为:130,作业1的周转时间为:55,作业2的周转时间为:20,作业3的周转时间为:35

13、作业4的周转时间为:65平均周转时间=305/5=61作业0的等待时间为:130-50=80,作业1的等待时间为:55-35=20,作业2的等待时间为:10-10=0,作业3的等待时间为:,35-25=10作业4的等待时间为:,65-40=253.17假如在具有一个处理器系统中,采用优先级高者优先的进程调度算法,优先数小代表优先级高,进程达到顺序I和需要处理时间T、优先数分别如下:IT优先级0753115125431554452(1)没有优先级抢占情况下,写出进程的执行先后序列,进程2的周转时间是多少?进程的平均等待时间是多少?(3)有优先级抢占情况下,写出进程的执行先后序列,进程2的周转时间

14、是多少?进程的平均等待时间是多少?答:(1)无抢占:执行顺序为:1(15),4(60),0(135),2(140),3(155)进程0的周转时间为:135进程1的周转时间为:15进程2的周转时间为:140进程3的周转时间为:155进程4的周转时间为:60进程的平均等待时间=(135-75)+(15-15)+(140-5)+(155-15)+(60-45)/5 = 70(2)有抢占:优先级抢占同上一样。3 18 假如在具有一个处理器的系统中,采用时间片轮转调度算法,时间片大小为10。进程需要处理时间T和到达时间A分别如下:IT到达时间A050013510220103158044085写出进程的执

15、行序列,进程3的周转时间是多少?进程的平均等待时间是多少?答:进程的执行序列为:0,1,2,0,1,2,0,1,3,4,0,1,3,4,0,4进程0的周转时间 T0= 140进程1的周转时间 T1= 105进程2的周转时间 T1= 50进程3的周转时间 T1= 40进程4的周转时间 T1= 75 进程的平均等待时间为:(140-50)+(105-35)+(50-20)+(40-15)+(75-40)/5=503.18 在时间片轮转调度算法中,有 n个进程共享CPU。(1)如果进程切换的时间不可忽略,每次进程切换用去时间为s秒,在保证每个进程至少每t秒内能够在CPU上轮回一次的前提下,确定时间片

16、大小q使得进程切换所造成的负载最小。 (2) 如果n=100,t=1,s=0.001,那么q的大小应该是多少?答:(1)时间片大小q =(t-ns)/n (2)q=(1-100*0.001)/100 = 0.0093.19 有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交时间和估计运行时间由下表给出: 作业 提交时间 估计运行时间(分钟) 1 8:00 60 2 8:20 353 8:25 204 8:30 255 8:35 56 8:40 10系统采用短作业优先调度算法,作业被调度进入系统后中途不得退出。但作业运行时可被更短的作业抢占。分别给出6个作业的执行时间序列,作业

17、的周转时间, 平均周转时间。答:作业的执行顺序为:1(8:20),2(8:25),3(8:45),5(8:50),6(9:00),4(9:25),2(9:55),1(10:35)作业1的周转时间 = 155 min作业2的周转时间 = 95 min作业3的周转时间 = 20 min作业4的周转时间 = 55 min作业5的周转时间 = 15 min作业6的周转时间 = 20 min作业的平均周转时间为:360/6=603.20 在一个实时系统中有4个周期性事件,周期分别为50、100、150、200ms。假设其处理时间分别需要30、25、20和xms,则该系统可调度允许的x值最大为多少?解:3

18、0/50 + 25/100 +150/20 +200/x =1X = 10/33.21 某系统的进程状态变化如图3.23所示,该系统的进程调度为非抢占方式,根据该状态图叙述系统的调度策略、调度效果。图3.23 状态变化图阻塞运行低优先级就绪首先选择100ms高优先级就绪其次选择100msy答:首先采用优先权高者优先调度算法,然后采用时间片为100ms的调度算法。 该调度算法如果调度效果考虑更周到的话,应该让阻塞队列上的进程唤醒后进入低优先级就绪队列,这样能够保证优先级高的进程及时调度,优先级低的进程能够合理的得到调度。第4章4.13 如果有n个进程共享一个互斥段 (1)如果每次只允许一个进程进

19、入互斥段。 (2)如果每次最多允许m个进程同时进入互斥段(m10) (2) V(s); (5) x;(3) y=x2; (6) else P(s); x ; 分别说明(1)、(2)、(3)、(4)、(5)、(6)语句之后的x、y值为多少?答:(1)x=11,y=2 (2) x=11,y=2 (3) x=11,y=9(4)x=11,y=9 (5) x=10,y=9 (6) x=10,y=84.18 三个进程:输入、计算、输出。它们通过两个缓冲区传递数据,如图4.11所示。每个缓冲区一次只能放入一条数据。写出用信号量进行同步。解:var empty1,full1,empty2,full2:sema

20、phore:=1,0,1,0;begin parbeginI:begin repeat wait(empty1); put to buffer1; signal(full1); until false; end;P:begin repeat wait(full1); get from buffer1; signal(empty1); wait(empty2); put to buffer2; signal(full2); until false; end;O:begin repeat wait(full2) get from buffer2; signal(empty2); until fal

21、se; end;parend;end;第5章5.1什么是死锁?引起死锁的原因和必要条件是什么? 死锁是指多个进程因为竞争资源造成的一种僵局。 原因:并发进程对临界资源的竞争和并发进程推进顺序不当。 必要条件:互斥条件,占有并请求条件,不剥夺条件,环路等待条件。5.2 比较解决死锁的方法中,那种方法最容易实现?那种方法使得资源的利用率最高? 解决死锁的方法:预防死锁,避免死锁,检测死锁,解除死锁。 预防死锁是通过设计协同资源管理程序,在进程运行期间,柏怀死锁产生的四个条件之中的任何一个,是指不成立。 是最容易实现的方法。 解除死锁是在发现死锁后,解除死锁,释放资源。是资源利用率最高的方法。5.3

22、预防死锁的方法有哪些? 破坏互斥条件,破坏占有并请求,阻止环路等待,允许剥夺5.8系统中有3个进程共享4个资源,每个进程每次只能申请或释放一个资源,每个进程最多需要2个资源,给进程是否会发生死锁,为什么? 解:不会发生死锁。3个进程共享4个资源,每个进程最多需要2个资源。 总有一个进程的请求会满足,运行并释放资源。不会形成环路等待。5.9系统中有20个进程,每个进程最多使用3个资源,每个进程逐个申请并竞争使用60个同类资源。一旦某进程获得所需要的资源,完成后立即释放全部资源。系统是否会发生死锁?为什么? 系统不会发生死锁。以最坏的情况来考虑,20个进程都需要使用3个资源。当前,每个进程都持有2

23、个资源。(20*2=40).都在申请第3个资源(60-40=20)对于剩余的20个资源,每个进程多会得到一个资源。不会形成环路等待。5.10 一台计算机有8台打印机,被N个进程竞争使用,每个进程最多需 要3台。 请问N为多少时,系统没有死锁的危险,说明原因。 解: N=3时,没有死锁的危险。 对于N个进程,都持有2台打印机时,申请第3台打印机,只要有一台的多余的打印机能被申请到,则系统就没有死锁的危险。即N*2+1=8 ,得 N=3。5.11 考虑图5.9所示的资源分配图,哪个进程会发生死锁?进程P3,P4会发生死锁。 对于进程P1,P2,进程的推进不需要等待其他进程的完成。进程P3,P4。P

24、3要等P4完成并释放资源后方能推进。而P4要等到P3完成后才能。结果是P3,P4都不能完成。形成死锁。5.12 假定有3个人排队等候上电梯。当电梯门打开的时候,3个人都朝门口冲去,但是门不够大,他们3人不能同时进门。描述解决这种死锁的方法,可以让3个人都上电梯。说明你的解决方案清除了哪个死锁的必要条件。答:让3个人轮流进电梯。 破坏了死锁发生的4个必要条件中的“不剥夺条件”。5.13 假定一个系统具有四种资源类型,分别为:R=3,7,2,3,最大资源需求数表如图5.10所示。资源分配器根据图5.11中的表来分配资源,这个状态安全吗?为什么?图5.10图5.11 答:这个状态安全。存在安全执行序

25、列P4,P0,P1,P3,P2;6.9 如果一个分页系统能够向用户提供的逻辑地址最大为16页,页面大 小为2K,内存总共有8个存储块。请问逻辑地址应该为多少位?内 存空间为多大?解:逻辑地址应该为4+11=15(位) 内存空间为8*2K =16K6.10 如果一个分页系统的页表存放在内存。 (1)若对内存的一次存取需要1.2ms,请问一次页面访问的存取需 要花多少时间? (2)若系统配置了联想寄存器,对快表的命中率为70%,假如查询 联想寄存器的时间忽略不计,请问实现一次页面访问的存取 时间是多少?解:(1)访问一次页面的存取需要花费的时间为2*1.2ms=2.4ms (2)实现一次页面访问的

26、存取时间=0.3*1.2ms+1.2ms=1.56ms6.11 如果一个分页系统逻辑地址长度为16位,页面大小为4KB,第0、1、2页对应10、12、14号物理块, 请问逻辑地址为2F6AH对应的物理地址为多少?解:逻辑地址为2F6AH对应的二进制码为:0010 1111 0110 1010,页号为:2,页内偏移为F6AH。 查询页表2号页面对应14号块,所以,物理地址为 1110 1111 0110 1010,最终物理地址为:EF6AH6.12 如果内存中有4个空闲块,每个空闲块的大小为10MB。有10个请求,每次请求1MB的内存大小,对于下面列出的内存分配方法中的每一种,确定所有10个请求

27、都被满足之后剩余空闲块的大小。 (a)首次适应算法 (b)循环首次适应算法 (c)最佳适应算法 (d)最坏适应算法解:(a)首次适应算法:块1用完,块2,3,4剩余10MB。 (b)循环首次适应算法:块1,2余7MB,块3.4余8MB。 (c)最佳适应算法:块1用完,块2,3,4余10MB。 (d)最坏适应算法:块1,2余7MB,块3,4余8MB。6.13 如果一个系统的段表为:段 号始 址段 长0200510190030210080312005004180080求下列逻辑地址相应的物理地址。如果越界请指明。0,380、1,20、1,24、2,200、3,500、4,120。解:0,380表示

28、为0段,段内偏移为380,物理地址为580; 1,20表示为1段,段内偏移为20,物理地址为920;1,24表示为1段,段内偏移为24,物理地址为924;2,200表示为2段,段内偏移为200,已经越界;3,500表示为3段,段内偏移为500,物理地址为1700;4,120表示为4段,段内偏移为120,已经越界。7.5 在分页虚拟存储器管理中,如果已知时间利用率为:CPU20%、分页 磁盘92%、外设50%,请问采取哪些措施可以改善CPU的利用率?解:增大分页磁盘空间。7.6 一个32位地址的计算机系统使用二级页表,虚拟地址为9位顶级页 表,11位二级页表和偏移。请问:页面长度为多少?虚拟地址

29、空间 有多少个页面?解:页面占用的位数=32-9-11=12位,页面长度为4K。虚拟地址空间有1M个页面。7.7 如果分页虚拟存储系统向用户提供的逻辑地址空间最大为16页,每 页2KB,内存总共有8个存储块,请问逻辑地址至少应为多少位?内 存空间多大?解:解:逻辑地址应该为4+11=15(位) 内存空间为8*2K =16K7.8 在一个请求分页的虚拟存储器管理中,一个程序的运行页面走向为: 1、2、3、4、2、3、5、6、3、1、4、6、7、5、2、4、1、3、2 如果为程序分配页框为3个、4个,请分别用FIFO、OPT和LRU算法求出缺页中断次数和缺页率。解:页框为3:FIFO缺页中断次数为

30、14;缺页率为14/19。OPT缺页中断次数为8;缺页率为8/19。 LRU缺页中断次数为13;缺页率为13/19。页框为4:FIFO缺页中断次数为7;缺页率为7/19。OPT缺页中断次数为5;缺页率为5/19。 LRU缺页中断次数为10;缺页率为10/19。9.9 若采用字长为16位的位示图管理磁盘空间,某操作系统的磁盘文件空间共有500块,问位示图需要多少个字?第i列第j行对应的块号为多少?答:32,i,j按照书上公式9.10 一个链接文件由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小都为512字节,一次存放在25,70,98,83,60号磁盘上。若要存取文件的第1769逻辑字节处的信

31、息,问需要访问哪个磁盘块?答:839.11 在UNIX操作系统中,如果一个盘块的大小为1KB,每个盘块号占用4个字节,即每块可放256个地址,如果进程要访问偏移为143140处的数据,问需要几次寻址?答:1次间址9.12 从磁盘高速缓存读取数据需要1ms,从磁盘读取数据需要40ms,如果命中率为50%,计算出读取数据的平均时间。答:20.5ms9.13 一个请求磁盘I/O的磁盘队列,分别在下列柱面上阻塞: 40,90,170,38,110,20,144,48,59。 请分别按照FCFS、SSTF、SCAN、CSCAN、CLOOK调度算法计算平均寻道长度,并说明那种调度算法最优。9.14 如果磁盘总共包括A个块,其中F个是空闲的。一个磁盘地址需要dB。位示图为每个块使用1位。空闲链表中的每个链指向一个单独的空闲块。(a)假设空闲链表方法单独地链接了所有的块,给出两种方法开销相同时必须满足条件(用A,F,d表示)。(b)假设空闲链表方法链接了相邻块组,而不是单独的块,重复上面的问题。每个链元素指向了组中的第一块,并包括了一个说明在该组中有多少个块的2字节数。一个组的平均大小是5个磁盘块。答:位示图的开销:位示图的列为dByte,行为(A)/d,开销为(A) 空闲链表至少包括空闲块号、指针(A-F个)9.15 比较使用位示图和使用空闲链表表示磁盘空闲块的情况。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!