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

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


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

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,转入下一级队列。

多级反馈队列示意图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宇宙即计算~一种新科学:斯蒂芬·沃尔夫勒姆

编辑 :Gemini来源:人机与认知实验室斯蒂芬沃尔夫勒姆这个名字,在中文世界里可能远谈不上家喻户晓;但他的英文名Stephen Wolfram恐怕反而却要熟悉得多。他是Mathematica软件的发明者和首席设计师,被广泛地认为是当今科学…

maven安装与项目创建

maven安装与项目创建 Maven是一个软件项目管理和理解工具。基于项目对象模型的概念,Maven可以管理项目的根据一条中心信息构建、报告和记录。 文件 最新的文件可以在https://maven.apache.org/.找到 系统需求 JDK: 1.7或更高版本(这是为了执行Maven -它仍然允许…

windows 安装zip 压缩

* 到sourceforge上下载 zip-3.0-bin.zip https://sourceforge.net/projects/gnuwin32/files/zip/3.0/zip-3.0-bin.zip/download?use_mirrorjaist 或者http://pan.baidu.com 链接: https://pan.baidu.com/s/1HObxhQUdbsl8J-B-IeeRUg 密码: 9922 * 解压 * 把bin目录下面的exe文件…

应对全球粮食危机 AI、5G与机器视觉联手“养鱼”

来源:Forbes编译:科技行者时至今日,全球粮食挑战已经成为现实难题,环境危机的恶化又进一步加剧了这个挑战。而在这样一波重压之下,人工智能、机器视觉与5G网络等新兴技术能否指明新的解决方案?挪威鲑鱼养殖公司Cermaq…

cache命中率、平均访问时间、访问效率的计算公式

cache命中率、平均访问时间、访问效率的计算公式 cache命中率 平均访问时间 访问效率 使用cache可以提高计算机的性能,也提高了主存访问的效率

全息技术“量子飞跃”或彻底改变成像技术

作者:冯卫东 来源:科技日报科技日报北京2月9日电 (记者冯卫东)据最新一期《自然物理学》报道,英国格拉斯哥大学的物理学家首次找到使用量子纠缠光子来将信息编码为全息图的方法。这一突破了传统全息方法局限性的新型量…

定点数与浮点数的表示方法

计算机组成原理——定点数与浮点数 计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。一般来说,定点格式容许的数值范围有限,要求的处理硬件比较简单。而浮点格式容许的数值范围很大,要求的处理硬件比较…

AI 3.0》王飞跃教授推荐序——未来智能:人有人用,机有机用

☉ 王飞跃中国自动化学会监事长中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任来源:德先生转自:中国自动化学会初见梅拉妮米歇尔之名,还是20世纪80年代末研究她与侯世达关于类比推理的开创性程序“Copycat”(拷贝猫…

计算机组成原理——计算机系统的性能指标(机器字长、存储容量、运算速度)

计算机组成原理——计算机系统的性能指标 计算机系统的性能指标(机器字长、存储容量,运算速度): 1. 吞吐量: 一台计算机在某一时间间隔内能够处理的信息量。 2. 响应时间: 从输入有效到系统产生响应之间…

自动驾驶发展调查:产业化还需技术“破冰”

来源:机器学习研究组订阅/ 导读 /在汽车产业转入存量博弈时代的关键节点,出行领域的变革也随之蓄势待发。汽车制造厂商、出行平台以及科技公司纷纷抢滩自动驾驶赛道。作为一个处于发展初期的产业,自动驾驶从技术路线到落地场景,从…

【剑指offer】面试题35:复杂链表的复制(Java 实现)

请实现函数ComplexListNode* Clone(ComplexListNode * pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点的C定义如下: struct ComplexListNode…

人类倾向于高估人工智能的进步,低估自身智能的复杂性-读《AI 3.0》

有很多关于人工智能的书。亚马逊网站上就有20,000本。其中很多书都有戏剧性的标题,比如《生命3.0》 ,《终极算法》 ,尤其是《奇点来临》。梅勒妮 米切尔的新书的标题更加谦虚,但是在我看来,在这个主题上,它…

计算机操作系统——死锁(产生的必要条件与处理死锁的四个关卡)

计算机操作系统——死锁 前言:死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。如果死锁发生,会浪费大量的系统资源,甚至会导致系统崩溃。 关于死锁的结论…

科学难题的形成

来源:肖建华科学网博客传统上,把科学理论分为两类:唯象性科学理论和哲学性科学理论。大致而言,工程科学是以具体现象类来划分学科,此类学科的理论一般称为唯象性理论。而把各学科的共性特征抽象出来作为研究对象而建立…

冯·诺依曼计算机特点

冯诺依曼计算机特点 冯诺依曼,20世纪最重要的数学家之一。在现代计算机、博弈论、核武器和生化武器等众多领域内有杰出建树的最伟大的科学全才之一,被后人称为“计算机之父”和“博弈论之父”。 一、冯诺依曼计算机结构(以运算器为中心&…

计算机操作系统——经典进程的同步问题

计算机操作系统——信号量机制与经典进程的同步问题 信号量机制 随着发展,信号量从整型信号量经记录型信号量,进而发展为“信号量集”机制。 一般来说,信号量的值与相应的资源的使用情况有关。 信号量的值仅由P、V操作改变。 信号量的初值…

2020年度全球人工智能十大事件

该文章内容转载自战略前沿技术当前,新一代人工智能技术在全球蓬勃兴起,迅猛发展,与大数据、区块链、5G等新技术相互融合、相互因应,为经济社会发展尤其是数字经济发展注入新动能,正在深刻改变社会生产生活方式。与此同…

当贝叶斯,奥卡姆和香农一起来定义机器学习

来源:数学中国【导读】当贝叶斯、奥卡姆和香农一起给机器学习下定义,将统计学、信息理论和自然哲学的一些核心概念结合起来,我们便会会发现,可以对监督机器学习的基本限制和目标进行深刻而简洁的描述。令人有点惊讶的是&#xff0…

eclipse中下载spring-tool-suite插件遇到的问题

eclipse中下载spring-tool-suite插件遇到的问题 我的eclipse的版本4.7.0,接下来以下载我的eclipse的对应STS版本3.8.4为例,讲一下遇到的问题。不同版本的eclipse对应不同的spring-tool-suite,具体的版本对应可以去其他的博客中寻找&#xff…

python - 内置函数

enumerate 将一个可迭代/可迭代对象变成enumerate类型 利用for循环可以对enumerate类型获得索引和值 1 lis (星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期七) 2 ret enumerate(lis, 1) # enumerate 可以接受第二个参数, 用于指定索引起始值 3 4 fo…