欢迎来到天天文库
浏览记录
ID:1774053
大小:27.89 KB
页数:11页
时间:2017-11-13
《操作系统课程作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.9有五个作业正等待运行,他们估计运行时间分别为:9,6,3,5和X。为了获得小的平均周转时间,应该按照什么顺序运行它们?(你给出的答案应该是X的函数)。(1)x<=3运算顺序为:Px,P3,P5,P6,P9;T=(x+(x+3)+(x++3+5)+(x+3+5+6)+(x+3+5+6+9))/5=x+9.6;(2)32、+12.4;(5)93、01.20.50.38.08.08.010.010.810.511.210.010.011.710.511.710.010.010.011.212.011.711.710.510.512.010.812.02.05/3.3071.65/1.8751.875/2.81251)FCFS作业运行程序:1.2.3.4各作业的周转时间Ti和平均周转时间T:T1=10.00-8.00=2.0T2=11.2-9.00=2.2T3=11.7-9.5=2.2T4=12.0-10.2=1.8T=(T1+T2+T3+T4)/4=(2.0+2.2+2.2+1.8)/4=84、.2/4=2.05各个作业的平均带权周转时间W计算如下W=(2/2+2.2/1.2+2.2/0.5+1.8/0.3)=(1+1.83+4.4+6)/4=3.3072)SJN作业运行程序:1.2.3.4T1=10.00-8.00=2.0T2=12-9.00=3T3=10.5-9.5=1.0T4=10.8-10.2=0.6T=(T1+T2+T3+T4)/4=(2.0+3.0+1.0+0.6)/4=6.6/4=1.65各个作业的平均带权周转时间W计算如下W=(2/2+3/1.2+1/0.5+0.6/0.3)/4=1.8753)RHN作业运行程序:1.2.5、3.4先选择作业1从8.00---------10.00。当作业1完成时,究竟选谁运行,只有通过计算,选择响应比较高者运行:作业2的响应比=((10-9.0)+1.2)/1.2=1.83作业3的响应比=((10-9.5)+0.5)/0.5=2.0作业4还未到,只能选作业3运行。作业3进行到10.5结束,再计算剩余的作业2和4:作业2的响应比=((10.5-9.0)+1.2)/1.2=2.25作业4的响应比=((10.5-10.2)+0.3)/0.3=2选作业2运行。作业2到11.7完成。最后运行作业4。运行到12.0全部结束。各个作业的周转时间计算6、如下:T1=2T2=11.7-9=2.7T3=10.5-9.5=1T4=12-10.2=1.8各个作业的平均周转时间计算如下:T=(2+2.7+1+1.8)/4=1.875各个作业的平均带权周转时间计算如下:W=(2/2+2.7/1.2+1/0.5+1.8/0.3)/4=2.81253-8.有一容量为100的循环缓冲区,有多个并发执行进程通过该缓冲区进行通信。为了正确地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映缓冲区为空还是满的情况。首先这里的IN和OUT分别表示读写指针,而不是信号量。在系统初启时,环行缓冲区为7、空,此时IN和OUT都初始化为0。当并发进程通过环行缓冲区通信时,写进程不断的写,读进程不断的读,使得读写指针不断变化。写进程的速度太快,缓冲区会满;读进程的速度太快,缓冲区会空。已知循环缓冲区的容量为100,则当(IN+1)%100=OUT时,说明缓冲区已满。当IN=OUT时,说明缓冲区已空。初始化时,IN=OUT=0,一段时间以后:B1B2B3B4OUTIN3-15.设有8个进程M1,M2,….M8,它们有如图3.16所示的优先关系,试用P、V操作实现这些进程间的同步。M1:M2:M3:M4:……P(s12);P(s13);P(s14);V(s8、12);………………V(s13);V(s26);V(s36);V(s47);V(s14);……V(s38);……附加:m个
2、+12.4;(5)93、01.20.50.38.08.08.010.010.810.511.210.010.011.710.511.710.010.010.011.212.011.711.710.510.512.010.812.02.05/3.3071.65/1.8751.875/2.81251)FCFS作业运行程序:1.2.3.4各作业的周转时间Ti和平均周转时间T:T1=10.00-8.00=2.0T2=11.2-9.00=2.2T3=11.7-9.5=2.2T4=12.0-10.2=1.8T=(T1+T2+T3+T4)/4=(2.0+2.2+2.2+1.8)/4=84、.2/4=2.05各个作业的平均带权周转时间W计算如下W=(2/2+2.2/1.2+2.2/0.5+1.8/0.3)=(1+1.83+4.4+6)/4=3.3072)SJN作业运行程序:1.2.3.4T1=10.00-8.00=2.0T2=12-9.00=3T3=10.5-9.5=1.0T4=10.8-10.2=0.6T=(T1+T2+T3+T4)/4=(2.0+3.0+1.0+0.6)/4=6.6/4=1.65各个作业的平均带权周转时间W计算如下W=(2/2+3/1.2+1/0.5+0.6/0.3)/4=1.8753)RHN作业运行程序:1.2.5、3.4先选择作业1从8.00---------10.00。当作业1完成时,究竟选谁运行,只有通过计算,选择响应比较高者运行:作业2的响应比=((10-9.0)+1.2)/1.2=1.83作业3的响应比=((10-9.5)+0.5)/0.5=2.0作业4还未到,只能选作业3运行。作业3进行到10.5结束,再计算剩余的作业2和4:作业2的响应比=((10.5-9.0)+1.2)/1.2=2.25作业4的响应比=((10.5-10.2)+0.3)/0.3=2选作业2运行。作业2到11.7完成。最后运行作业4。运行到12.0全部结束。各个作业的周转时间计算6、如下:T1=2T2=11.7-9=2.7T3=10.5-9.5=1T4=12-10.2=1.8各个作业的平均周转时间计算如下:T=(2+2.7+1+1.8)/4=1.875各个作业的平均带权周转时间计算如下:W=(2/2+2.7/1.2+1/0.5+1.8/0.3)/4=2.81253-8.有一容量为100的循环缓冲区,有多个并发执行进程通过该缓冲区进行通信。为了正确地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映缓冲区为空还是满的情况。首先这里的IN和OUT分别表示读写指针,而不是信号量。在系统初启时,环行缓冲区为7、空,此时IN和OUT都初始化为0。当并发进程通过环行缓冲区通信时,写进程不断的写,读进程不断的读,使得读写指针不断变化。写进程的速度太快,缓冲区会满;读进程的速度太快,缓冲区会空。已知循环缓冲区的容量为100,则当(IN+1)%100=OUT时,说明缓冲区已满。当IN=OUT时,说明缓冲区已空。初始化时,IN=OUT=0,一段时间以后:B1B2B3B4OUTIN3-15.设有8个进程M1,M2,….M8,它们有如图3.16所示的优先关系,试用P、V操作实现这些进程间的同步。M1:M2:M3:M4:……P(s12);P(s13);P(s14);V(s8、12);………………V(s13);V(s26);V(s36);V(s47);V(s14);……V(s38);……附加:m个
3、01.20.50.38.08.08.010.010.810.511.210.010.011.710.511.710.010.010.011.212.011.711.710.510.512.010.812.02.05/3.3071.65/1.8751.875/2.81251)FCFS作业运行程序:1.2.3.4各作业的周转时间Ti和平均周转时间T:T1=10.00-8.00=2.0T2=11.2-9.00=2.2T3=11.7-9.5=2.2T4=12.0-10.2=1.8T=(T1+T2+T3+T4)/4=(2.0+2.2+2.2+1.8)/4=8
4、.2/4=2.05各个作业的平均带权周转时间W计算如下W=(2/2+2.2/1.2+2.2/0.5+1.8/0.3)=(1+1.83+4.4+6)/4=3.3072)SJN作业运行程序:1.2.3.4T1=10.00-8.00=2.0T2=12-9.00=3T3=10.5-9.5=1.0T4=10.8-10.2=0.6T=(T1+T2+T3+T4)/4=(2.0+3.0+1.0+0.6)/4=6.6/4=1.65各个作业的平均带权周转时间W计算如下W=(2/2+3/1.2+1/0.5+0.6/0.3)/4=1.8753)RHN作业运行程序:1.2.
5、3.4先选择作业1从8.00---------10.00。当作业1完成时,究竟选谁运行,只有通过计算,选择响应比较高者运行:作业2的响应比=((10-9.0)+1.2)/1.2=1.83作业3的响应比=((10-9.5)+0.5)/0.5=2.0作业4还未到,只能选作业3运行。作业3进行到10.5结束,再计算剩余的作业2和4:作业2的响应比=((10.5-9.0)+1.2)/1.2=2.25作业4的响应比=((10.5-10.2)+0.3)/0.3=2选作业2运行。作业2到11.7完成。最后运行作业4。运行到12.0全部结束。各个作业的周转时间计算
6、如下:T1=2T2=11.7-9=2.7T3=10.5-9.5=1T4=12-10.2=1.8各个作业的平均周转时间计算如下:T=(2+2.7+1+1.8)/4=1.875各个作业的平均带权周转时间计算如下:W=(2/2+2.7/1.2+1/0.5+1.8/0.3)/4=2.81253-8.有一容量为100的循环缓冲区,有多个并发执行进程通过该缓冲区进行通信。为了正确地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映缓冲区为空还是满的情况。首先这里的IN和OUT分别表示读写指针,而不是信号量。在系统初启时,环行缓冲区为
7、空,此时IN和OUT都初始化为0。当并发进程通过环行缓冲区通信时,写进程不断的写,读进程不断的读,使得读写指针不断变化。写进程的速度太快,缓冲区会满;读进程的速度太快,缓冲区会空。已知循环缓冲区的容量为100,则当(IN+1)%100=OUT时,说明缓冲区已满。当IN=OUT时,说明缓冲区已空。初始化时,IN=OUT=0,一段时间以后:B1B2B3B4OUTIN3-15.设有8个进程M1,M2,….M8,它们有如图3.16所示的优先关系,试用P、V操作实现这些进程间的同步。M1:M2:M3:M4:……P(s12);P(s13);P(s14);V(s
8、12);………………V(s13);V(s26);V(s36);V(s47);V(s14);……V(s38);……附加:m个
此文档下载收益归作者所有