费翔林, 骆斌. 操作系统教程(第五版).Page118第19题笔记

来源:互联网 发布:批量word转pdf windows 编辑:程序博客网 时间:2024/06/05 11:57

参考文献:[1]费翔林, 骆斌. 操作系统教程(第五版) [M]. 北京:高等教育出版社,2014. 

题目:在单处理器多到分时系统中,有三道作业依次提交,其提交时刻及运行时间分别为

作业 作业提交时刻 运行时间/h 其中 I/O时间/h CUP时间/h
Job1 8.0 0.36 0.18 0.18 Job2 8.2 0.32 0.16 0.16 Jbo3 8.4 0.36 0.18 0.18     如果已知下列情况:(1)每道作业的I/O等待时间占各自总运行时间的一半;(2)分时运行两道作业,CPU将有20%的时间空闲;(3)除了CPU,系统有充足的资源供作业使用。试计算各作业运行完成时间。




分析:


  1. 题意解读:
    • 每道作业的I/O等待时间占个各自总运行时间一半:看表格就知道咯,比如Job1的,运行时间是0.36h,那么I/O就需要0.18,剩下的0.18才是CPU计算时间;
    • 分时运行两道作业CPU空闲20%:比如Job1和Job2都在内存里,从内存选中一个进程到CPU中间要用掉20%的时间,也就是浪费20%的CPU计算时间
  2. 解题步骤:
    1. 8.0~8.2时间段:内存中只有Job1一个进程,所以没有进程切换,也就是没有浪费20%的时间。I/O用了0.2÷20.1,所以需要CPU的剩余时间为:0.18-0.1=0.08(h);
    2. 8.2~8.4时间段:这时Job2也进入内存变成进程了,Job1和Job2之间存在进程切换,所以浪费了0.2×20%=0.04,剩下可用时间为0.2-0.04=0.16。然而,Job1和Job2的I/O是可以交替进行的,比如现在CPU在执行Job1的运算,那么同时Job2就可以进行I/O,而CPU计算Job2时,Job1就可以进行I/O。可以得出,Job1的CPU执行时间为0.16÷2=0.08,Job1结束;Job2所需要CPU的剩余时间为:0.16-0.08=0.08(h);
    3. 8.4~8.6时间段:同第2步,浪费0.2×20%=0.04,剩下可用0.16,Job2用0.08后结束;Job3用0.08后剩余0.1;
    4. Job3剩余0.1,需要I/O时间0.1,内存中只有Job3,不存在浪费,所以一共需要(0.1+0.1)=0.2(h),也就是8.6+0.2=8.8时刻,Job3结束。


答案:Job1运行完成时间:8.4;Job2运行完成时间:8.6;Job3运行完成时间:8.8。



阅读全文
0 0
原创粉丝点击