进程的调度算法

    调度算法操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源有限,所以必须按照一定的原则选择进程来占用资源。这就是调度,目的是控制资源使用者的数量,选取资源使用者许可占用资源或者占用资源。

调度算法分类:

1.先来先服务(FCFS)

    先来先服务,也被称为先进先出(FIFO)或者严格排队方案。每个进程就绪后,会加入就绪队列。当前正运行的进程停止执行时,选择排队最久的那个进程运行。

    特点:比较有利于长作业,而不利于短作业。有利于CPU繁忙的作业,而不利于I/O繁忙的作业。

2.轮转法(RR)

    采用基于时钟的枪占策略,这种算法周期性地产生时钟中断,出现中断时,当前正运行的进程会放置到就绪队列中,然后基于FCFS策略选择下一个就绪进程运行。

    特点:选取时间片时,避免使用过短的时间片,时间片最好略大于一次典型交互的时间。进程数目越多,时间片越小。

3.最短进程优先(SPN,Shortest Process Next)/最短剩余时间(Shortest Remaining Time,SRT)

    SPN这是一个非抢占策略,其原则是下次选择预计处理时间最短的进程。因此,短进程将会越过长作业,跳到队列头。SRT是在SPN中增加了枪占机制的策略,在这种情况下,调度程序总是选择预期剩余时间最短的进程。只有就绪进程预期的时间比正在运行的进程所需时间短,就可以抢占当前正在运行的进程。

    特点:对长进程不利,可能长时间得不到执行。

4.最高响应比优先(Highest Response Ratio Next,HRRN)

    R = (W+S)/ S    R:为响应比    W:为等待处理器的时间  S:为预计的服务时间

    调度的规则:当前进程完全或者阻塞时,选择R值最大的就绪进程。

    特点:每次调度前都要计算响应比,系统开销增加。由于这样长时间的进程也会运行,从而比最短进程优先发的吞吐量小。

5.多级反馈(multilevel feedback)

    进程进入待调度的队列等待时,首先进入优先级最高的等待。

    首先调度优先级最高的队列的进程,如果高优先级队列中已经没有了进程,则调度次优先队列中的进程

    对于同一优先级的队列中,按照时间片轮转法调度

    在低优先级的队列中的进程在运行时,又有新的进程到达,那么运行完这个时间片后,CPU马上分配给新到达的作业。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值