(七)调度算法

进程调度有哪几种方法?优先级调度的机制是什么?

参考:

linux进程(任务)调度算法

进程类型:

  1. IO消耗型(交互)
  2. 处理器消耗型(计算)

进程两种不同的优先级:

  1. nice值,普通进程
  2. 实时优先级,实时进程

调度器,目的是允许不同类型的进程可以有针对性地选择调度算法。
实时进程比普通进程先得到调度。
一种普通进程的调度策略:

  1. 完全公平调度(CFS),是一个针对普通进程的调度类,在linux中称为SCHED_NORMAL。CFS完全摒弃时间片而是根据优先级(nice值)分配给进程一个处理器使用比重,允许每个进程运行一段时间、循环轮转、选择运行最少的进程作为下一个运行进程。
    当可运行进程数量趋于无限时,它们各自所获得的处理器使用比和时间片都将趋于0,无疑会造成不可接受的进程切换消耗,为此,CFS引入每个进程获得的时间片底线,这个底线称为最小粒度,默认1ms,表示每个进程最少也能获得1ms的运行时间,确保切换消耗被限制在一定范围内。

两种实时调度策略:

  1. SCHED_FIFO 实现了一种简单的、先入先出的调度算法。一旦一个SCHED_FIFO级进程处于可执行状态,就会一直执行,直到它受到阻塞或显式释放处理器为止;它不基于时间片,可以一直执行下去。只有更高优先级的SCHED_FIFO或SCHED_RR任务才能抢占。对于相同优先级的SCHED_FIFO会轮流执行,但依然是主动让出处理器。
  2. SCHED_RR 是带有时间片的SCHED_FIFO,称为实时轮流调度算法。当SCHED_RR任务耗尽它的时间片时,同一优先级的其他实时进程轮流调度。

转载于:https://www.cnblogs.com/walkinginthesun/p/9858892.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值