一、CPU调度程序

基本概念

调度算法的对象:CPU

图解:

1) CPU burst:CPU 运行程序指令的时间 ; I/O burst: I/O 操作的时间;

2)长进程:占用 CPU 时间长的进程;

3)短进程:占用 CPU 时间短的进程;


CPU 调度程序


图解:

在单处理器系统中,当 CPU 空闲的时候,操作系统会在就绪队列中,选择一个进程来执行。被选中的进程,由 CPU 调度程序来发起、执行。


抢占调度


二、CPU调度准则

调度算法性能的衡量


调度性能指标


三、调度算法

先来先服务

先来先服务算法(First Come First Service),即调度程序只考虑一个参数——作业到达系统的时间,谁先到就给谁提供服务。


时间片轮转




最短作业优先

最短作业优先算法(Shortest Job First):即我们也只考虑一个参数——进程 CPU 的执行时间,计算量越小的进程将会优先得到系统的服务。

最短剩余时间优先算法 SRTF(Shortest Remaining Time First):即我们每次选择调用执行的进程,是剩余的时间最短的作业或进程。

(最短剩余时间优先算法)这个变化,事实上就是把原来(最短作业优先算法)的非抢占式的算法,变成了一种抢占式的调度算法。



优先级调度



四、review 总结

图解:

调度的准则分为:

1)周转时间:进程从提交到结束的时间。
2)等待时间:在就绪队列中累计等待的时间。


调度算法:

1)FCFS/FIFO :先来先服务,也称为先进先出,这是一种非抢占式的算法,调整进程的次序可能会改善该算法的效果。

2)SJF/SRTF:SJF,是非抢占式的,当前进程在运行时,其他进程无法抢占该进程;SRTF,是抢占式的,当前运行的进程,可以被其他剩余时间更短的进程抢占。该算法是最优的,但却是无法实现的(无法预测时间)。

3)RR:时间片轮转,在分时系统中,划定一个确定的时间片,给各个进程调度。它是公平的算法,也是抢占式的算法(时间片用完,就会被抢占)。

4)PRIORITY:在 linux 中,数字小的,优先级更高。该算法会出现饥饿现象:低优先级的进程会长时间得不到服务。
静态优先级调度:进程的优先级一旦确定,将不会改变;
动态优先级调度:进程运行过程中,优先级会发生变化;根据等待时间和运行时间长短,动态调整进程的优先级。


注:源自B站up主:Y4NGY

操作系统概念 CPU调度(进程调度)相关推荐

  1. 操作系统之CPU调度

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

  2. 【操作系统】CPU(处理器)调度

    1 概念 CPU调度是控制.协调进程对CPU的竞争,即按照一定的调度算法从就绪队列中选择一个进程把CPU的使用权交给该进程.如果没有就绪进程,则操作系统会安排一个系统空闲进程或idle进程. 表1-1 ...

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

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

  4. 《操作系统概念》知识点期末复习整理

    对应<操作系统概念>第7版以及<王道论坛操作系统> 另外附上三个 HTML 思维导图(操作系统概述.进程.调度) 网盘链接:https://pan.baidu.com/s/1w ...

  5. 【操作系统】—处理机调度的概念以及层次

    [操作系统]-处理机调度的概念以及层次 本章节学习内容如下 一.调度的基本概念 当有一堆任务要处理,但由于资源有限,这些事情没办法同时处理,这就需要确定某种规则来决定处理这些任务的顺序,这就是&quo ...

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

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

  7. ad20中怎么多选操作改层_在操作系统中CPU是怎么调度的

    对于单处理器系统,每次只允许一个进程运行,任何其他进程必须等待,直到CPU空闲能被调度为止,多道程序的目的是在任何时候都有某些进程在运行,以使CPU使用率最大化. CPU-I/O区间周期 CPU的成功 ...

  8. 操作系统—CPU调度与内存管理

    CPU调度与内存管理 1.CPU调度算法 1>先来先服务调度算法 (FCFS): 就是按照各个作业进入系统的自然次序来调度作业. 这种调度算法的优点是实现简单, 公平. 其缺点是没有考虑到系统中 ...

  9. 【操作系统概念-作业6】CPU Scheduling

    #! https://zhuanlan.zhihu.com/p/424667500 [操作系统概念-作业6]CPU Scheduling Operating System Concepts Exerc ...

最新文章

  1. TensorRT Analysis Report分析报告
  2. discard connection丢失数据_python kafka 生产者发送数据的三种方式
  3. 什么?听说这四个概念,很多 Java 老手都说不清!
  4. 【探路者】贪吃蛇β发布展示(视频展示)
  5. [导入]Eval格式化日期
  6. linux常用命令总结
  7. 【普通の随笔】3.26
  8. 解决aapt命令在Linux下无法运行的问题
  9. postgres数据库常见报错
  10. 我的天哪!字节跳动是这样做 Code Review 的
  11. 2022还不知道如何申请注册公司域名邮箱,个人域名邮箱怎么弄?详解域名邮箱
  12. 废旧笔记本屏幕不要扔,不到200元就能DIY成便携显示器
  13. POWER BI:SSAS表格建模(转自博客园,ps:部分已修改)
  14. 30000台苹果电脑遭恶意软件入侵,包括最新的M1系列
  15. 微生物组+代谢组联合分析
  16. mysql的explain关键字ken_len列
  17. Go语言实现的API-Gateway
  18. echarts数据可视化图表(二):双柱状图
  19. python牛顿法与拟牛顿法_[机器学习必知必会]牛顿法与拟牛顿法
  20. 乐视推相亲节目,“十周嫁出去”为何深得网友支持?

热门文章

  1. 【ESP32 S2 烧录AT固件 串口与USB两种方式】
  2. 【面试题】抽象类和接口的联系和区别
  3. vue中文字转语言,适配web移动端
  4. JavaScript常用工具类大全(50套原生js方法)建议收藏
  5. pc端网易云音乐可自定义背景插件。
  6. 《操作系统》课程设计报告——多用户文件系统设计
  7. Javaweb网站用户注册登录实现小记
  8. Github网页上图片加载不出来
  9. 再与复旦大学《数学分析》编者商榷
  10. java工作流开源框架_【程序源代码】Springboot开源工作流开发框架