操作系统学习笔记(6) 进程调度算法

调度目标:

1。公平性
2。处理机利用率
3。提高系统吞吐量
4。尽量减少进程的响应时间

调度原则:
响应时间、周转时间、截至时间
系统吞吐量、处理机利用率、资源平衡、公平性、优先级

进程的调度方式:
非剥夺方式:end、申请IO,这种方式不利于“及时性”较高的实时系统和分时系统,主要用于批处理系统。
剥夺方式:时间片完、优先级低。用于实时、分时、要求较高的批处理系统。

调度类型:
1。批处理调度、分时调度、实时调度和多处理机调度
2。长程调度、中程调度、短程调度
3。I/O调度

长程调度:
作业调度(从外存调度到内存),创建了进程后,可能等待短程调度和中程调度。
两个问题:
1。选择多少个作业进入内存(取决于多道程序的度)
2。选择哪些作业(取决于长程调度算法)

短程调度:进程调度

中程调度:挂起状态进程的调度
目的是提高内存利用率和系统吞吐量



进程调度算法:
-(先来先服务FCFS)
FCFS是非剥夺式
-断进程不公平
-IO型进程不公平
-FCFS与其他算法混合使用。
-FCFS适合于长、中、短进程。


短进程优先:
属于非剥夺调度算法
问题:
1。进程执行时间很难预测
2。可能导致长程饥渴
3。采用非剥夺调度方式,未考虑进程的迫切程度,不适合分时系统和事务处理系统。


时间片轮转调度算法:

时间片的设置:
进程切换会增加系统开销
综合考虑系统的最大用户数、响应时间、系统效率   


这种算法的平均周转时间比较长
常用于分时系统及事务处理系统,合理的时间片会带来满意的响应时间。
合理的时间片能让%80左右的进程在一个时间片内完成。
对于短的、计算型的进程有利,不适合批处理系统。
不利于IO型进程。(可以将IO型放在较高优先权的队列)


基于优先级的调度算法:
1。基于时间片轮转调度算法对于每个进程都是公平的。
2。实际应用中,进程的性质可能不同。

设定优先级:
进程功能的重要性
进程功能的急迫性
为均衡资源,指定优先级
进程对资源的占用程度


静态和动态优先级:
原则:
进程剩余时间高优先
进程响应比优先
实现:时钟中断时计算优先级
缺点:很难估计剩余执行时间,增加系统开销,对于长进程不公平。
响应比:R=(w+s)/s = w/s+1(w-等待时间  s-预期执行时间)


反馈调度算法:
根据进程执行的历史,调整调度。
有利于交互式断进程或短批处理作业。
长进程周转时间急剧增加


实时系统:
及时响应外部事件,在规定时间内完成。

实时控制系统:

实时信息处理系统:

你可能感兴趣的:(算法,IO,作业)