计算机操作系统——处理机调度算法


一、处理机调度的层次和调度算法的目标

1.处理及调度的层次

  1. 高级调度:(周期较长,大约几分钟一次) 又称为长程调度作业调度 调度对象:作业 功能:根据算法决定将外存中处于后备队列的作业调入内存,然后为它们创建进程(建立PCB)、分配必要的资源,使它们获得竞争处理及的权利,作业调度时会建立相应的PCB,作业调出时才撤销PCB。
    主要用于:多道批处理系统
  2. 中级调度: 又称为内存调度 调度对象:进程 功能:提高内存利用率和系统吞吐量,把内存中暂时不能运行的进程,调至外存等待,此时的进程处于挂起状态。当它们具备运行条件并且内存有空间时,中级调度来决定把外存的哪些就绪进程重新调入内存
  3. 低级调度:(最基本的调度,使用频率最高,分时系统在10~100ms进行一次进程调度) 又称为进程调度短程调度 调度对象:进程(或内核级线程) 功能:根据某种算法,决定哪个进程获得处理机,并由分派程序将处理机分配给被选中的进程

2.处理机调度算法目标

  1. 处理机调度算法的共同目标
    (1)资源利用率 CPU的利用率: (2)公平性:让所有进程获得合理的CPU时间,尽量不产生饥饿现象
    (3)平衡性
    (4)策略强制执行

  2. 批处理系统的目标
    (1)平均周转时间短
    周转时间=等待时间+执行时间=完成时刻-到达时刻
    平均周转时间=各进程周转时间之和/进程的个数
    带权周转时间=周转时间/CPU提供服务的时间
    (2)系统吞吐量高 吞吐量:单位时间内系统完成的作业数,它与批处理作业的平均长度有关
    (3)处理机利用率高

  3. 分时系统的目标
    (1)响应时间按快
    (2)均衡性

  4. 实时系统的目标
    (1)截止时间的保证
    (2)可预测性


二、 非抢占式调度算法

1.先来先服务调度算法(FCFS,First-Come-First-Served)

  • 算法规则:按照作业/进程到达的先后顺序进行服务
  • 优点:公平,实现简单
  • 缺点:带权周转时间长,对长作业有利,短作业不利

例题详解:(解题方式我习惯于用数轴表示,也可以画表格,但是感觉不如数轴看着形象)

2.短作业优先调度算法(SJF,Short-Job-First)

  • 算法规则:最短的进程/作业优先得到服务
  • 该算法也有抢占式
  • 优点:减少了平均等待时间和平均周转时间
  • 缺点:对短作业有利,长作业不利,容易产生饥饿现象;必须预知作业的运行时间;人——机无法实现交互;未考虑作业的紧迫程度,不能保证紧迫性作业及时得到处理。

例题详解:

3.高响应比优先调度算法(HRRN,Highest-Response-Ratio-Next)

- 算法规则:每次调度时先计算响应比,选择响应比最高的进行服务

  • 优点:避免了长作业饥饿的问题,集合了SJF和FCFS的优点

响应比大的优先调度(不值得等待的进程优先调度)
响应比越小,等得越值得

例题详解:


三、抢占式调度算法

进程调度的机制:(1)排队器(2)分派器(3)上下文切换器
进程调度方式:抢占式、非抢占式
抢占式的剥夺原则:(1)优先权原则 (2)短进程优先原则 (3)时间片原则


1.轮转调度算法(时间片轮转)

轮转调度算法:
(1)基本原理:将所有就绪进程按FCFS排成一个就绪队列,系统设置每隔一定时间便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行下一个时间片…
(2)切换机制:
a.若一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首的进程进行,并启动一个新的时间片。
b.在时间片用完时,如果进程尚未运行完成,调度程序将把它送往就绪队列的末尾。

时间片大小的确定:
(1)时间片太小:增加系统的开销
(2)时间片太大:时间片轮转便退化为FCFS算法,无法满足交互式用户需求

时间片轮转调度算法常用于分时操作系统,更注重“响应时间”,因而此处不计算周转时间


2.优先级调度算法

(分为抢占式和非抢占式)
优先级类型:
(1)静态优先级
(2)动态优先级


3.多级反馈队列调度算法

调度机制

  • 首先设置多级就绪队列
    每个就绪队列分配不同的时间片,优先级高的为第一队列,时间片最小,随着就绪队列级别的降低,时间片逐渐增大
  • 每个进程按照先来先服务调度算法
    一个进程就绪后进入第一级队列末尾
  • 当有一个优先级更高的进程就绪时,可以抢占CPU,被强占进程回到原来一级的就绪队列末尾。
  • 当第一级别队列空时,就去调度第二队列,…以此类推。
  • 当时间片结束后,进程放弃CPU,转入下一级队列。

多级反馈队列示意图:

计算机操作系统——处理机调度算法相关推荐

  1. 计算机操作系统——作业调度算法

    文章目录 一.作业的基本知识 1.作业和作业步 2.作业运行的三个阶段 二.先来先服务(FCFS)调度算法 1.算法思想 2.算法评价 三.短作业优先(SJF)调度算法 1.算法思想 2.算法评价 四 ...

  2. 计算机操作系统:处理机的调度

    处理机调度层次: 1.高级调度:它调度的对象是作业.其主要功能是根据某种算法,决定讲外存上处于后备队列中的哪几个作业调入内存,为它们创建进程,分配必要的资源,并将它们放入就绪队列. 2.低级调度:它调 ...

  3. 国防科大计算机考研大纲,2022年国防科技大学F1003计算机操作系统考研大纲及参考书目...

    2022年研究生入学考试自命题科目考试大纲 科目代码:F1003 科目名称:计算机操作系统 一.参考书目 1.<操作系统教程>(第5版),费祥林,高等教育出版社,2014年. 2.< ...

  4. 计算机操作系统32,计算机操作系统实验指导书32138

    计算机操作系统实验指导书32138 (22页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 <计算机操作系统>实验指导书程科白素 ...

  5. 面试「计算机操作系统」知识点大集合!

    作者:CyC2018 链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机操作系统.md 一.概述 基本特征 1. 并发 ...

  6. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)

    操作系统目录 1.什么是操作系统 2.计算机操作系统的基本特征 2.1.并发 2.2.共享 2.3.虚拟 2.4.异步 3.操作系统的发展 4.OS的运行机制和体系结构 4.1.运行机制 4.1.1. ...

  7. 简单计算机面试题库及答案_460道Java后端面试高频题答案版【模块六:计算机操作系统】...

    写在前面 1. 计算机操作系统和计算机网络是每个后端开发工程师必须掌握的知识.因为你写的代码最终都是要在操作系统里跑的,弄懂操作系统的原理对你编写高质量代码.调优.排故都有很大的帮助.在这里说一下我作 ...

  8. 计算机专业 操作系统,计算机操作系统

    计算机操作系统 (2010年清华大学出版社出版的图书) 语音 编辑 锁定 讨论 上传视频 <计算机操作系统>是由殷士勇主编,2010年4月清华大学出版社出版的图书. 书    名 计算机操 ...

  9. 计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理

    计算机操作系统教程:核心与设计原理 语音 编辑 锁定 讨论 上传视频 <计算机操作系统教程--核心与设计原理>是2007年清华大学出版社出版的图书,作者是范策.许宪成.黄红桃. 书     ...

最新文章

  1. protoc文件生成cs文件
  2. pci枚举初始化部分(2)
  3. web前端——让人头疼的多列复选框排列解决办法
  4. Codeforces Round #486 (Div. 3)【完结】
  5. 今日代码(20210225)--数据处理
  6. mysql常用操作记录
  7. 父组件访问子组件中的数据(父子组件通信案例:父组件访问子组件$refs[‘子组件‘],子组件传递数据给父组件(父组件中使用v-model))
  8. 基于sklearn.decomposition.TruncatedSVD的潜在语义分析实践
  9. 第五届蓝桥杯校内选拔赛试题java组_第五届蓝桥杯校内选拔赛试题java组
  10. 解析Node.js v6.9.5官方文档的第一个例子的知识点
  11. 自定义Repeater数据控件的一个页面显示效果
  12. gitlab 删除分支_idea gitlab 分支 pull、push 实践笔记
  13. ubuntu20.0.4系统中安装微信
  14. 搭建FTP站点(Windows)
  15. 手把手和你用原生JS写一个循环播放图片轮播
  16. [经验]零线和地线的区别,不注意可是要出大事的哦!
  17. python识别条形码_用 Python 和 OpenCV 检测图片上的条形码
  18. Latex——页眉页脚
  19. 沙滩啤酒win7主题【rmzt】
  20. 【Zookeeper】分布式集群(详细图文)

热门文章

  1. diskfileitemfactory 需要的包_浅析电动汽车电池包低压线束设计及制造
  2. log4net异步写入日志_微信支付万亿日志在Hermes中的实践
  3. bpsk调制及解调实验_无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解...
  4. 吴恩达发起新型竞赛范式!模型固定,只调数据?!
  5. 搜索引擎核心技术与算法 —— 倒排索引初体验
  6. 会议交流 | CAAI BDSC2021大会专题七:社会计算与开放知识图谱
  7. 论文浅尝 | 图神经网络综述:方法及应用
  8. pdf各种处理 PDF 的实用代码:PyPDF2、PDFMiner、pdfplumber
  9. 打造工业级推荐系统(三):推荐系统的工程实现与架构优化
  10. 工信部推动第二批“5G+工业互联网”实践的通知