zoukankan      html  css  js  c++  java
  • s5-1 CPU调度


    基本概念

    通过多道程序设计得到 CPU 的最高利用率

    (CPU-- I/O 脉冲周期 - - 进程的执行包括进程在 CPU 上执行和等待 I/O )
    进程的执行以 CPU 脉冲开始,其后跟着 I/O 脉冲.进程的执行就是在这两个状态之间进行转换.


    cpu和I/O burst的交替序列

    image

    cpu-burst

    CPU 脉冲的分布, 在系统中, 存在许多短 CPU 脉冲,只有少量的长 CPU 脉冲
    比如: I/O 型作业具有许多短 CPU 脉冲, 而 CPU 型作业则会有几个长 CPU 脉冲,这个分布规律对 CPU 调度算法的选择是非常重要的.

    image



    CPU Scheduler
    cpu调度

    当CPU空闲时,OS就选择内存中的某个就绪进程,并给其分配CPU


    cpu调度器

    image



    (CPU调度可能发生在以下情况下):
    1.Switches from running to waiting state(从运行转到等待).
    2.Switches from running to ready state(从运行转到就绪).
    3.Switches from waiting to ready(从等待转到就绪).

    4.Terminates(终止运行).
    Scheduling under 1 and 4 is nonpreemptive (发生在1、4两种情况下的调度称为非抢占式调度).
    All other scheduling is preemptive (其他情况下发生的调度称为抢占式调度).


    cpu调度方案
    非抢占方式(nonpreemptive)
    把处理机分配给某进程后,便让其一直执行,直到该进程完成或发生某事件而被阻塞时,才把处理机分配给其它进程,不允许其他进程抢占已经分配出去的处理机。
    优点:实现简单、系统开销小,适用于大多数批处理系统环境
    缺点:难以满足紧急任务的要求,不适用于实时、分时系统要求


    抢占方式(Preemptive mode)
    允许调度程序根据某个原则,去停止某个正在执行的进程,将处理机重新分配给另一个进程。


    抢占的原则

    时间片原则:各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这个原则适用于分时系统。

    优先权原则:通常对一些重要的和紧急的进程赋予较高的优先权。当这种进程进入就绪队列时,如果其优先权比正在执行的进程优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行

    短作业优先原则:当新到达的作业比正在执行的作业明显短时,将暂停当前长作业的执行,将处理机分配给新到的短作业,使之执行。

  • 相关阅读:
    71 是否同一棵二叉搜索树(25 分)
    75 平衡二叉树的根(25 分)
    72 树种统计(25 分)
    2018(容斥定理 HDU6286)
    直观的理解计算机中的数值编码
    如何关闭emacs开启时自己打开的欢迎界面
    图论:最短路径:广度优先搜索(C语言实现)
    ubunut 14.04 将Caps Lock设置为Control
    邻接表:C语言实现
    队列(C语言实现)
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214157.html
Copyright © 2011-2022 走看看