读书笔记-现代操作系统-2进程与线程-2.4调度

2.4调度

计算密集型/IO密集型

何时调度:

  • 在创建一个新进程后
  • 再一个进程退出时
  • 在一个进程IO和信号量或其他原因阻塞时
  • 中断发生时

调度算法分类:

  • 批处理
  • 交互式
  • 实时

调度算法的目标:

  • 所有系统:

    • 公平-给每个进程公平的CPU份额
    • 策略强制执行-看到所宣布的策略执行
    • 平衡-保存系统的所有部分忙碌
  • 批处理:

    • 吞吐量-每小时最大作业数
    • 周转时间-从提交到终止间的最小时间
    • CPU利用率-保存CPU始终忙碌

    • 交互式系统

    • 响应时间-快速响应请求
    • 平衡性-满足用户的期望

    • 实时系统

    • 满足截止时间-避免丢失数据
    • 可预测性-在多媒体系统中避免品质降低

2.4.1 批处理系统

  1. 先来线服务
  2. 最短作业优先
    运行时间可预知的批处理调度算法
  3. 最短剩余时间优先
    相当于最短作业优先的抢占式版本,必须掌握有关程序的运行时间

2.4.2 交互式系统中的调用

  1. 轮转调度
    每个进程分配一个时间片。唯一需要考虑的是时间片的长度。
  2. 优先级调度
    每个进程被赋予一个优先级,允许优先级最高的可运行进程先运行。通常在不同优先级内实现优先级调度,而在同一个优先级内实现轮转调度,不过需要适时调整优先级否则低优先级的程序会饥饿。
  3. 多级队列
    为CPU密集型设置更长的时间片,并对优先级分类。比如有四个优先级类,中断,IO,段时间片和长时间篇,每个优先级的cpu时间片不同长。
  4. 最短进程优先
    如果可以估计当前作业的时间的话。
  5. 保证调度
    一种完全不同的调度算法是想用户作出明确的性能保证,然后实现它,比如说必须跟踪进程子创建以来已使用了多少CPU时间,然后计算当前进程需要多少CPU,优先运行比例较低的程序,保证所有比较都互相接近
  6. 彩票制度
    对不同的优先级分发不同的彩票数,彩票数和得到的cpu时间片比例相同。
    这样做的好处是可以很快速的响应。
    如果进程阻塞可以交换彩票,待阻塞结束后
  7. 公平分享调度
    根据用户分配。

2.4.3 实时系统中的调度

硬实时/软实时
可调度的

2.4.4 策略和机制

机制位于内核,策略交给用户。由用户设定优先级

2.4.5 线程调度

用户级线程切换速度快,但是内核并不知道线程存在,进程内的一个线程可能占用该进程内的所有时间片,但是对其他进程的线程没有影响。
内核级用户切换速度慢,但是可以可以实现对线程更加精细的操作,同一个进程的各个线程都有时间片。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值