【操作系统】(进程、内存、磁盘)调度算法

一、进程调度算法

进程发生CPU调度情况:

  • 1)从运行状态转到等待状态;
  • 2)从运行状态转到就绪状态;
  • 3)从等待状态转到就绪状态;
  • 4)从运行状态转到终止状态。

1)和4)称为非抢占式调度,2)和3)称为抢占式调度。

补充:
非抢占式:当进程正运行时,就一直运行,直到该进程完成或因某事被阻塞时,才把CPU让给其他进程。
抢占式:当进程正运行时,就会一直运行,可以被打断,使其把CPU让给其他进程。抢占原则有三种:时间片、优先级、短作业优先。

调度算法影响的是等待时间(进程在就绪队列等待调度时间总和),而不能影响进程真正在使用CPUIO的时间。

1.1 FCFS(First Come First Severd,先来先服务)

描述:每次从就绪队列选择最先进入队列的进程,然后一直运行至退出或被阻塞,才继续从队列中选择第一个进程接着运行。
1

利弊:对长作业有利,不利于短作业。适用于CPU繁忙型系统,不适用于IO繁忙型。

1.2 SJF(Shortest Job First,最短作业优先)

描述:优先选择运行时间最短的进程来运行。
2

利弊:有助于提高系统吞吐量,对长作业不利。

1.3 HRRN(Highest Response Ratio Next,高响应比优先调度算法)

描述:每次进行进程调度时,先计算响应比优先级,然后把最高的进程投入运行。
3

分析:如果两个进程等待时间相同,要求服务时间越短,响应比越高,这更有助于短作业选中运行。
如果两个要求服务时间相同,等待时间越长,响应比越高,等待时间长的长作业响应比就升到很高,从而得以运行,即自然兼顾了长作业进程。

1.4 RR(Round Robin,时间片轮转)

描述:如果时间片用完,进程还在运行,那将此进程从CPU释放出来,并把CPU分配另一个进程;如果该进程在时间片结束前阻塞或结束,则CPU立即进程切换。

补充:
1、最古老、简单、公平、广泛的调度算法。每个进程被分配一个时间段,称为时间片(Quantum),即允许该进程在该时间段中运行。

2、时间片长度很关键,太短容易导致过多上下文切换,降低CPU效率;太长可能引起短作业响应时间变长。设为20ms~50ms,通常是毕竟合理的折中值。

4

1.5 HPF(Highest Priority First,最高优先级)

描述:从就绪队列选择最高优先级的进程进行运行。

补充:

静态优先级:创建进程已确定优先级,整个运行时间都不会变化。
动态优先级:根据进程动态调整,如随时间推移提高等待进程优先级。

非抢占式:运行完当前进程ÿ
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值