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。
(如果不是按照程序1、2、3的次序完成则会有多种情况。)
1.14 一个计算机系统有足够的内存空间存放3道程序,这些程序有一半的时间在空闲等待I/O操作。问多大比例的CPU时间被浪费掉了。
答: CPU的利用率为1-(1/2)3 =7/8 因此有1/8的cpu时间被浪费了
3.14 假设在一个处理器上执行5个作业,作业到达的次序和需要执行的时间分别为:J0(75ms)、J1(15ms)、J2(5ms)、J3(15ms)、J4(45ms),
假定系统中使用FCFS调度算法,作业J3的周转时间是多少?作业的平均等待时间是多少? 答: 周转时间(ms) 等待时间(ms) J0 75 0 J1 90 75 J2 95 90 J3 110 95 J4 155 110 平均等待时间(ms) 74
3.15在单道批处理系统中,三个作业的提交时间分别为:10:00、10:10、10:20,需要执行时间分别为:2小时、1小时、0.5小时,分别按照短作业优先调度算法和高响应比优先调度算法进行调度,比较哪一种调度算法更好? 解:
(1) 不抢占:
执行顺序为A,C,B 平均周转时间:(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)/3 =26/9
所以,如果要比较哪一种算法好自然针对不抢占的情况。根据比较结果,
它们的平均周转时间和平均带权周转相同,这主要是该应用正好发生了这样凑巧的情况。
3.17假如在具有一个处理器系统中,采用优先级高者优先的进程调度算法,优先数小代表优先级高,进程达到顺序I和需要处理时间T、优先数分别如下:
I T 优先级 0 75 3 1 15 1 2 5 4 3 15 5 4 45 2 (1)没有优先级抢占情况下,写出进程的执行先后序列,进程2的周转时间是多少?进程的平均等待时间是多少?
(3)有优先级抢占情况下,写出进程的执行先后序列,进程2的周转时间是多少?进程的平均等待时间是多少?
答:
(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)有抢占:
优先级抢占同上一样。
假如把I这一列作为进程到来的时间,采取抢占式调度,则:
完成时间图为:
1 2 3 4 0
P0 P1 P1 P1
16 P1
P4
61 P0
135 P2
140 P3
155 进程0的周转时间为:135
进程1的周转时间为:15 进程2的周转时间为:138 进程3的周转时间为:152 进程4的周转时间为:57
进程的平均等待时间=(0+60+12+133+137)/5 = 342/5=68.4
3.18 假如在具有一个处理器的系统中,采用时间片轮转调度算法,时间片大小为10。进程需要处理时间T和到达时间A分别如下:
I T 到达时间A 0 50 0 1 35 10 2 20 10 3 15 80 4 40 85
写出进程的执行序列,进程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=50
补充的题目的答案是62.5,图就不画了,自己完成,顺序是ABDC