基本概念

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

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

cpu和I/O burst的交替序列

cpu-burst

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

CPU Scheduler
cpu调度

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

cpu调度器

(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)
允许调度程序根据某个原则,去停止某个正在执行的进程,将处理机重新分配给另一个进程。

抢占的原则

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

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

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

s5-1 CPU调度相关推荐

  1. 操作系统原理第五章:CPU调度

    目录 1 CPU调度基本概念 1.1 基本概念 1.2 CPU调度的时机 1.3 CPU调度方案 2 CPU调度算法 2.1 先来先服务(FCFS) 2.2 短作业优先(SJF) 2.3 优先级 2. ...

  2. 【操作系统原理及Linux实践】 四cpu调度scheduling

    课程: 操作系统原理及Linux实践 cpu调度 调度算法 先来先服务算法(FCFS) Round robin 时间片轮转 最短作业优先 优先级调度算法

  3. 操作系统(五)CPU调度

    CPU调度是多道程序操作系统的基础. 转载于:https://www.cnblogs.com/bigbigbigo/p/8636332.html

  4. 操作系统之CPU调度

    1.什么是CPU调度? 进程由运行态切换到其他状态,或者由其他状态切换到运行态,也就是进程在CPU中执行情况发生变化: 2.上下文切换(进程)什么时候切换?根据什么切换?是本文的重点 抢占:可能由于某 ...

  5. 操作系统实验报告16:CPU 调度

    操作系统实验报告16 实验内容 实验内容:CPU 调度. 讨论课件 Lecture19-20 中 CPU 调度算法的例子,尝试基于 POSIX API 设计一个简单调度器(不考虑资源竞争问题): 创建 ...

  6. 操作系统复习笔记 06 CPU Scheduling CPU调度

    CPU的三级调度: 1.高级调度(Long-term):作业调度,从外存进内存 2.低级调度(Short-term):进程调度,分配处理机 3.中级调度(Medium-term):对换 通过多道程序设 ...

  7. 操作系统 cpu调度_CPU调度| 操作系统

    操作系统 cpu调度 调度标准 (Scheduling Criteria) There are many criteria which have been suggested for comparin ...

  8. 带你探索CPU调度的奥秘

    摘要:本文将会从最基础的调度算法说起,逐个分析各种主流调度算法的原理,带大家一起探索CPU调度的奥秘. 本文分享自华为云社区<探索CPU的调度原理>,作者:元闰子. 前言 软件工程师们总习 ...

  9. 总结-linux初识进程(包括cpu调度、进程创建、僵尸进程(重点)、环境变量)

    冯诺依曼体系结构--现代计算机的硬件体系结构 输入设备.输出设备(数据输出).存储器(数据缓冲).运算器(数据运算).控制器. 所有设备都是围绕存储器工作---CPU是从存储器中获取数据处理---控制 ...

最新文章

  1. python 画蝴蝶_ProE常用曲线方程:Python Matplotlib 版本代码(蝴蝶曲线)
  2. 关于字符串计算size的方法比较
  3. COM+组件注册方法
  4. frp后台运行和停止
  5. 英语笔记-20151209
  6. 11 个 Linux 上最佳的图形化 Git 客户端
  7. java 作业调度_Java使用quartz实现作业调度
  8. Oracle Java认证OCJP考试题库在哪找
  9. finereport9.0破解版|finereport10.0破解并发数|finereport授权注册|FineBI5.0破解lic
  10. USB加密狗复制克隆破解软件
  11. echarts中国省份地图
  12. Android 三类框架的理解以及MVVM框架的使用
  13. 初学卡尔曼滤波与扩展卡尔曼滤波
  14. 手扶电梯缺陷检测图像数据集(VOC标签)
  15. FaShop-开源拖拽式小程序搭建平台
  16. CTF之misc-图片隐写
  17. 读书笔记2014第8本:《追寻生命的意义》
  18. 移动应用开发跨平台工具imag.js入门
  19. 如何实现罗克韦尔PLC AB1756的远程监控数据采集?
  20. Origin数据设置为日期/时间的方法

热门文章

  1. pandas修改数据类型_如何正确在pandas里使用inplace参数
  2. 字典序最小是什么意思_《拓扑序简介》第十六讲
  3. python四大高阶函数求导_4个python常用高阶函数的使用方法
  4. c++ vlc读取摄像头_Qt音视频开发1-vlc解码播放
  5. Spark SQL:SQLContext
  6. 又一个神器!只需一行代码,纯文本秒变Markdown
  7. openpyxl库,1秒合并多张表格并设置图表格式
  8. 当心啊!仅仅50行Python,就可以在手机端看小姐姐的电脑桌面!
  9. 程序员如何用Python了解女朋友的情绪变化?
  10. php软件升级管理系统,POSCMS开源内容管理系统 v3.6.1 升级说明