文章目录

  • 一. 概念 & 层次
    • 1. 高级调度(作业调度)
    • 2. 中级调度(内存调度)
      • 挂起态 & 七状态模型
    • 3. 低级调度(进程调度)
    • 4. 三种调度的对比联系 && 总结
  • 二. 时机、切换过程 & 调度方式
    • 1. 进程调度的时机
    • 2. 进程调度的方式
    • 3. 进程的切换与过程
    • 4. 总结
  • 三. 调度算法的指标
    • 1. CPU 利用率
    • 2. 系统吞吐量
    • 3. 周转时间
    • 4. 等待时间
    • 5. 响应时间
    • 总结

一. 概念 & 层次

  • 为何需要调度:多任务情况下,需要规则决定任务处理顺序
  • 处理机调度:从就绪队列中,以某算法选择一进程获取CPU运行。

1. 高级调度(作业调度)

  • 决定从外存调入内存的顺序
  • 从外存后备队列的作业中挑选作业,分配资源并建立相应进程(建立PCB)。
  • 主要是调入的问题

2. 中级调度(内存调度)

  • 虚存与内存间的调度,决定挂起的进程重调入内存。
  • PCB 常驻内存,不会被调到外存。
  • 挂起状态
  • 频率比高级调度要高
挂起态 & 七状态模型
  • 五状态模型 + 就绪挂起 & 阻塞挂起 = 七状态模型
  • 挂起是到外存,阻塞还在内存

3. 低级调度(进程调度)

  • 从就绪队列选取进程,分配 CPU 的调度
  • 最基本的调度,频率最高

4. 三种调度的对比联系 && 总结

  • 任务、发生地、频率与对进程状态的影响
  • 总结:

二. 时机、切换过程 & 调度方式

1. 进程调度的时机

  • 主动放弃 CPU:正常终止、异常终止 && 等待 I/O 阻塞
  • 被动放弃 CPU:时间片用完、有更紧急事务 && 更高优先级进程进入队列
  • 不能进行进程调度与切换的情况:处理中断、OS内核程序临界区 && 原子操作过程中。
  • 临界资源:同一时间段只允许一进程访问。各进程需要互斥访问临界资源
  • 临界区:访问临界资源的代码段
  • 普通临界区:可以进行处理机调度,不会直接影响OS内核的管理工作
  • 操作系统内核程序临界区:不能进行处理机调度,有可能影响内核其他管理工作
  • 见图中两绿色部分对比

2. 进程调度的方式

  • 非剥夺:简单、开销小,但无法处理紧急任务(公平)
  • 剥夺:可以优先处理紧急任务(非公平)

3. 进程的切换与过程

  • 进程调度(狭义):从就绪队列中选中一个要运行的进程
  • 进程调度(广义):包含进程选择 & 进程切换两个步骤。
  • 进程切换:一进程让出CPU给另一进程的过程。
  • 进程切换的过程主要完成了:保存原进程数据 && 恢复新进程数据
  • 进程切换是有代价的,过于频繁调度、切换会使整个系统的效率降低

4. 总结

三. 调度算法的指标

1. CPU 利用率

  • 利用率 = 工作时间 / 总时间

2. 系统吞吐量

  • 系统吞吐量 = 作业完成总量 / 总时间

3. 周转时间

  • def:作业提交给系统开始,到完成为止的时间间隔。
  • 平均周转时间 && 周转时机:用户关心自己的单个作业,而操作系统关心整体平均。
  • 带权:相对于周转时间,多除了作业实际运行时间

这边感觉理解得不太好,抽空再补补课

4. 等待时间

  • 进程而言:建立后等待被服务的时间之和
  • 作业而言:相对于进程,还要加上作业在外存后备队列中等待的时间

5. 响应时间

总结

【学习笔记】第二章——处理机调度的概念、层次、时机、切换过程 调度方式、调度算法的指标相关推荐

  1. 《Go语言圣经》学习笔记 第二章 程序结构

    Go语言圣经学习笔记 第二章 程序结构 目录 命名 声明 变量 赋值 类型 包和文件 作用域 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记,几乎是书上的内 ...

  2. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

  3. 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差

    小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...

  4. PhalAPI学习笔记 ——— 第二章接口服务请求

    PhalAPI学习笔记 --- 第二章接口服务请求 前言 接口服务请求 接口服务请求案例 自定义接口路由 开启匹配路由 配置路由规则 nginx apache 服务请求 结束语 前言 公司业务需要转学 ...

  5. [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK

    一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...

  6. 机器人导论(第四版)学习笔记——第二章

    机器人学导论(第四版)学习笔记--第二章 2. 空间描述和变换 2.1 引言 2.2 描述:位置.姿态与位姿 2.3 映射:从一个坐标系到另一个坐标系的变换 2.4 算子:平行,旋转和变换 2.5 总 ...

  7. 处理机调度的概念,层次

    处理机调度的概念,层次 概念 按照某种算法选择一个进程将处理机分配给它 层次 要做什么 调度发生在... 发生频率 对进程状态的影响 高级调度(作业调度) 按照某种规则,从后备队列中选择合适的作业将其 ...

  8. Kotlin学习笔记 第二章 类与对象 第十一节 枚举类 第八节密封类

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  9. Android开发艺术探索学习笔记 第二章IPC

    最近将之前工作做本地的学习笔记上传一下 这里是Android艺术开发探索的前三章内容 文章目录 1. android的多进程模式 2. IPC基础概念介绍 2.1 Serializable 2.2Pa ...

最新文章

  1. python学习笔记(开课介绍1)
  2. puppet report import
  3. 前端学习(3229):React中的事件处理
  4. fortran 读整行_我整周读过的最有趣的东西
  5. 《SQL高级应用和数据仓库基础(MySQL版)》作业 ·007
  6. 远程桌面提示RPC不可用
  7. PTA题---求两个有序序列中位数所体现的思想。
  8. 磁盘:最容易被忽略的性能洼地
  9. 在线客服代码,可以用
  10. ArchLinux安装蓝牙驱动
  11. 博士德服务器帐套维护密码忘记,T+忘记账套主管、admin密码
  12. 算法导论 pdf_[LaTeX 宏包] clrscode3e - 排版《算法导论》风格的伪代码
  13. alot英文怎么读_alot...of是什么意思
  14. 一篇走心的iOS代码规范!
  15. 【开源】蓝奏云直链解析
  16. MATLAB基础—算数运算符
  17. 临界区、互斥量、事件、信号量四种方式
  18. 华为 2016 校园招聘上机笔试题 题解
  19. 基于51单片机和OLED屏幕的贪吃蛇游戏
  20. 卷毛崽|Linux自学|存储结构与磁盘划分

热门文章

  1. AcWing:3.完全背包问题
  2. 吕述望 计算机网络专家,特稿: 中科院吕述望教授:互联网名不符实
  3. 华为p10plus能用鸿蒙吗,华为P10/P10 Plus对比评测:自家兄弟大对决
  4. window挂载到linux服务器上,在windows 7操作系统下设置挂载Linux服务器
  5. python交叉验证函数_python – 在sklearn中使用交叉验证和AUC-ROC作为逻辑回归模型...
  6. python百钱买百鸡问题答案_PHP/Python---百钱百鸡简单实现及优化
  7. ORB论文研读与代码实现
  8. 《Python 黑科技》代理ip奇技淫巧
  9. 传输层(知识架构图)
  10. python selenium 用法 和 Chrome headless