[OS复习]进程管理4

本文详细介绍了操作系统中几种常见的进程调度算法,包括先来先服务(FCFS)、短进程优先、时间片轮转、基于优先级的调度以及反馈调度法。针对不同类型的系统,如交互式和批处理系统,提出了如何选择合适的调度算法,并强调了实时系统的需求。

进程调度算法(Short-Term)


1.先来先服务(FCFS)

该方法按照进程到达的先后顺序排队,每次调度队首的进程(就像超市中购物付款一样)。
FCFS算法属于非剥夺调度方式,实现简单,看似公平。但是对于那些后进入队列而运行时间较短的进程,或I/O型的进程而言,可能需要长时间等待(对短进程以及I/O型进程不公平

1.1 幼儿园小孩喂食问题

如果采用FCFS方法,让全部小孩排成一个先进先出的队列,老师从队首开始逐个给小孩喂食,只有当前一个小孩吃饱了,才喂食下一个小孩。那么,排在队列后面的的小孩将长时间不能被喂食而饥饿。
特别地,如果排在队列前面的某些小孩需要喂食的时间较长,而排在队列后面的某些小孩只需进食很少的饭量,却需要等待很长的时间。因此,该方法对这样的小孩不公平。

1.2 FCFS调度算法实例

假设:就绪队列中从队首开始依次排列有四个进程P1,P2,P3和P4(假设它们同时到达就绪队列),它们的预计执行时间分别为16,12,4和3个单位时间。若采用FCFS方法调度,试计算P1,P2,P3和P4的周转时间分别为多少?平均周转时间是多少?

1.3 FCFS调度算法综合评价

A: 对短进程不公平。
B: 由于长进程可能排在队列前面,必将增加队列后部进程的等待时间,从而将增加平均周转时间。
C: 不利于I/O型进程,未有效利用系统资源。
D: 一般地,FCFS与其他调度算法混合使用。例如,系统可以按照不同的优先级维护多个就绪队列,每个队列内部按照FCFS算法调度。
E: FCFS算法同时适合于长程、中程和短程调度三种调度类型。

2.短进程优先调度算法

当需要调度进程(或作业)时,通过计算判断就绪进程队列中哪一个进程的预期执行时间最短,或后备作业队列中哪一个或几个作业的预期执行时间最短,就调度谁。

2.1 如何预判断时间最短???

进程还没有执行,如何才能预测进程(或作业)的执行时间呢???操作系统内核的统计功能,进程终止没有退出系统还要停留一段时间,此时,就是操作系统的统计模块在执行功能。这样操作系统利用统计模块根据同类进程执行历史,来估计本进程的执行时间。该方法并不是十分精准的。

2.2 内容与实例

属于非剥夺调度算法。当某进程获得处理机,直到其执行完成,或需要等待某事件而阻塞时,才自动释放处理机。系统又调度新的进程(或作业)。
若采用短进程优先算法调度上例的4个进程,按照进程预期执行时间排序(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值