湖南大学操作系统作业(3)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统第二次作业
第五章
5.1 Why is it important for the scheduler to distinguish I/O-bound programs from CPU-bound programs?
为何调度器要区分IO约束程序和CPU约束程序?
答:二者对CPU的使用有较大差别,IO操作只需少量的CPU时间片,大部分时间用于IO的等待,而CPU约束操作需要用整块时间,在CPU操作的后台可以同时运行IO等待操作,二者互不影响,通过区分两种操作,加上系统的调度,可以更好的利用CPU资源,提高运行效率
5.3 Consider the exponential average formula used to predict the length of the next CPU burst. What are the implications of assigning the following values to the parameters used by the algorithm?
a. = 0 and 0 = 100milliseconds
b. = 0.99 and 0 = 10milliseconds
考虑预测下一个CPU区间的指数平均公式,当下列参数分别取对应值时的影响是什么
答:指数平均公式:T(n+1)=at(n)+(1-a)Tn
参数Tn+1的含义是预测下一CPU区间的预测值,tn为第n个CPU区间的长度,a代表预测值和上一区间长度的【相关度】,也就是说,a取值越大,上一个区间(真实发生的)长度对预测值的影响就越大,反之,a取值越小,预测值就主要体现为上一次的预测值。
a=0,t=100ms
a=0代表真实发生的区间长度不会影响预测,也就是说预测值会一直保持为上一次预测值,即t,故本次预测值为100ms
a=0.99 t=10ms
a=0.99代表预测值基本完全体现为上一次真实发生的CPU区间长度,也就是说预测值基本是前一个区间的长度,比如tn=50ms,则下一次预测值也大致为50ms。
5.4 Consider the following set of processes, with the length of the CPU-burst time given in milliseconds:
Process Burst Time Priority
P1 103
P2 11
P3 23
P4 14
P552
The processes are assumed to have arrived in the order P1 , P2 ,P3 , P4 , P5 , all at time 0.
a. Draw four Gantt charts illustrating the execution of these processes using FCFS, SJF, a nonpreemptive priority (a smaller priority number implies a higher priority),
and RR (quantum= 1) scheduling.
b. What is the turnaround time of each process for each of the scheduling algorithms in part a?
c. What is the waiting time of each process for each of the scheduling algorithms in part a?
d. Which of the schedules in part a results in the minimal average waiting time (over all processes)?
考虑下列进程,给出CPU区间长度,单位ms,进程假设在0时刻以P1,P2,P3,P4,P5的顺序到达。
A 作出4个gantt图表,来阐述使用FCFS,SJF,非抢占的优先调度(小数字代表高优先)和RR调度(时间片为1ms)的执行过程
B 求A中各个调度算法下各个进程的周转时间
C 求A中各个调度算法下各个进程的等待时间
D 那种调度算法会有最小的平均等待时间?
列表如下:
a.
0 1 2 4 9 19
0 1 6161819
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
5.5 Which of the following scheduling algorithms could result in starvation?
a. First-come, first-served
b. Shortest job first
c. Round robin
d. Priority
下面哪种调度算法会造成进程饥饿?
A 先来先服务
B 短作业优先
C 轮转法D优先级调度法
答:进程饥饿的原因是某种调度算法在分配时无法照顾到所有进程,造成某些进程在队列中却一直分配不到CPU时间片的情况。
短作业优先中如果某个长进程处于队列中,且有源源不断的短进程补充进来,这种时候就会导致长进程饥饿而无法运行
优先级调度法也会导致进程饥饿,这是由于某个优先级较低的进程一直被高优先级进程抢占,导致无法运行。这种情况是可以解决的,方法是进程老化,即每隔一定时间将队列中的进程优先级升高,这样一来在某一时间后,之前的低优先级进程也会分配到时间片。
5.9 Consider a preemptive priority scheduling algorithm based on dynamically