位置: IT常识 - 正文

进程调度算法有哪些(进程调度算法例题分析)

编辑:rootadmin

推荐整理分享进程调度算法有哪些(进程调度算法例题分析),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:进程调度算法有多种, ________ 不是进程调度算法,进程调度算法有哪些,进程调度算法有哪些类型,进程调度算法有哪些,进程调度算法有哪些,常用的进程调度算法有,进程调度算法有多种, ________ 不是进程调度算法,进程调度算法有多种, ________ 不是进程调度算法,内容如对您有帮助,希望把文章链接给更多的朋友!

《进程调度是什么》一节讲到在多任务操作系统中,整个进程调度机制可能包含 3 种进程调度程序,分别是长期调度程序、短期调度程序和中期调度程序。

根据指定的调度策略(算法),长期调度程序可以从用户发布的诸多任务中挑选出一个任务,并将其移入内存;中期调度程序可以从外存中处于就绪或者等待状态的诸多进程中挑选出一个进程,并将其移入内存;短期调度程序可以从内存中处于就绪状态的诸多进程中挑选出一个进程,并将 CPU 资源分配给它。

不同种类的操作系统,其采用的任务(进程)调度算法也不相同。本节,我们将带您了解一些常见的调度算法。

1、先来先服务调度算法

先来先服务调度算法简称 FCFS 调度算法,既适用于任务调度,也适用于进程调度,是最简单的一种调度算法,广泛应用于批处理操作系统中。

顾名思义,FCFS 算法的核心调度思想是:最早发布的任务最先得到调度,最早请求 CPU 资源的进程最先获得 CPU 资源。FCFS 算法属于非抢占式调度算法,即只有获得 CPU 资源的进程执行完毕后,其它进程才能执行。

FCFS 算法看似很公平,但对于一些在长任务(进程)之后进入内存的短任务(进程)来说,它们需要等待足够长的时间,直到长任务执行完毕后才能获得 CPU 资源。因此在单位时间内,FCFS 算法调度的进程数量较少(吞吐量较低)。

FCFS 算法很少单独使用,而是和其它一些算法搭配使用。例如在基于优先级的调度算法中,对于具有同样优先级的多个任务或者进程,需要进一步采用 FCFS 算法确定它们的执行顺序。

2、最短作业优先调度算法

最短作业优先调度算法(简称 SJF 算法)既适用于进程调度,也适用于任务调用,属于非抢占式调度算法。

SJF 算法的核心调度思想是:执行时间最短的任务或者进程最先得到调度。也就是说,用户发布的所有任务中执行时间最短的任务会优先得到调度,就绪队列中执行时间最短的进程会优先获得 CPU 资源。

使用最短作业优先调度算法,可以保证操作系统在同一时间内处理的任务或进程数最多,即吞吐量大于其它的调度算法。但是,如果系统中不断有执行时间短的新任务进入,那么执行时间长的任务将永远得不到执行的机会。

3、最高响应比优先调度算法进程调度算法有哪些(进程调度算法例题分析)

FCFS 算法只考虑了每个任务(进程)的等待时间,而未考虑不同任务(进程)的执行时间;SJF 算法正好相反,只考虑了每个任务(进程)的执行时间,而未考虑等待时间。

最高响应比优先调度算法(简称 HRN 算法)对 FCFS 和 SJF 这两种极端的算法做了平衡,它基于每个任务(进程)的等待时间和执行时间,通过比较每个任务(进程)的响应比,谁的响应比最大,就优先得到调度。

任务(进程)响应比的求值公式为:(W+T)/T,其中 W 表示任务(进程)的等待时间,T 表示任务(进程)的执行时间。

HRN 算法的不足之处在于,每次进行任务调度或者进程调度,都要提前计算出每个任务(进程)的响应比,才能挑选出响应比最大的任务或进程,无疑会影响整体的系统效率。

4、轮转法

轮转法是一种抢占式调度算法,只适用于进程调度,无法进行任务调度。

轮转法的调度思想是:将 CPU 资源轮流分配给各个进程使用,每个进程使用固定大小的时间(又称时间片)。对于在时间片内未执行完的进程,调度算法会将它中断并将 CPU 资源分配给下一个进程,直到该进程再次分配到 CPU 资源,它才可以继续执行。

轮转法常用于分时操作系统中。

5、优先级调度法

优先级调度算法是批处理操作系统中最常见的调度算法之一,既适用于进程调度,也适用于任务调度。

所谓优先级调度算法,指的是由用户或者操作系统为每个任务(进程)设定一个优先级,优先级最高的任务(进程)最先得到调度,优先级相同的任务或进程,通常借助 FCFS 算法进一步判断出它们的执行顺序。

任务(进程)的优先级,通常用固定区间内的数字表示,如 0~7 或 0~4095。有的操作系统中,数字越小优先级越低;有的则正好相反,数字越小优先级越高。

使用此方法调度 CPU 时,它可能是抢占式调度算法,也可能是非抢占调度算法。假设新进程的优先级高于当前正在执行的进程,如果调度算法立即将 CPU 资源分配给新进程,则它属于抢占式调度算法;反之,如果调度算法将新进程作为下一个要执行的进程,则它属于非抢占式调度算法。

6、多级队列调度算法

我们知道,进入内存后的进程,其 PCB 会进入就绪队列,等待分配 CPU 资源。

多级队列调度算法的核心思想是,根据各个进程的某些属性(例如所占内存大小、进程优先级、进程类型等),将就绪队列分割成很多队列,同一属性的进程位于同一队列,如下图所示:

图 1 分割就绪队列

通常情况下,不同的队列设定有不同的优先级,优先级越高的队列,其内部的进程会优先执行。至于同一队列中进程的执行顺序,各个队列可以使用不同的调度算法,例如 FCFS 算法,轮转法等。

本文链接地址:https://www.jiuchutong.com/zhishi/277421.html 转载请保留说明!

上一篇:内置管理员无法打开图片解决方法(内置管理员无法激活)

下一篇:电脑输入法无法切换怎么办?(电脑输入法无法输入中文怎么办)

  • 个税返还奖励财务人员流程
  • 增值税出口退税计入什么科目
  • 有限责任公司的股东人数为多少
  • 保险公司报销修手机
  • 车险 保险金额
  • 行政单位总账科目
  • 对外支付代扣代缴增值税
  • 个税为负数如何申报
  • 科目错一题扣几分
  • 银行承兑贴现的会计分录怎么做
  • 企业缴纳残疾人保证金按什么标准缴纳
  • 房地产公司销售商品房属于增值税征收范围吗
  • 金税三期会查之前的票吗
  • 消费税申报流程税务实训平台
  • 进项税有余额但没有余额
  • 现金支票提取现金备用
  • 减免应收账款账务处理
  • 隐名股东违法吗
  • 纳税人涉税信息查询
  • 适用增值税差额征税的小规模纳税人
  • 每股股份价格
  • 新建厂房购入材料会计分录
  • 无法取得发票的预付账款如何处理
  • 软件开发增值税即征即退2022
  • win10 5月更新已知bug
  • 个税是什么意思必须交吗
  • win7提示windows进行了未授权的更改
  • 文化事业建设费减免政策
  • 水利建设基金是税还是费
  • 应用程序无法正常启动0xc000012d
  • ngwatch.exe
  • vant移动端开发
  • php foo
  • php图像
  • 高新技术企业研发费比例
  • yarn安装路径
  • 没有交过税怎么办
  • 长期待摊当期发票怎么开
  • 跨年的发票可以退税吗
  • 应付票据是供应商往来吗
  • 消费税算不算运费
  • 计提提成是什么意思
  • 计提工资附什么单据
  • 劳务报酬收入是否含税
  • 记账凭证应具备的基本内容包括
  • 个体户怎么办
  • 处置无形资产净收益计入什么科目
  • 免费赠送客户入群的文案
  • 销项税计提多了
  • 小规模纳税人所得税计算
  • 小规模纳税人差旅费可以抵扣吗
  • 服务类企业主要经营范围
  • 进出口企业外汇额度
  • 如何做好企业安全生产工作
  • sqlserver数据库测试工具
  • sqlserver界面
  • sqlserver r服务
  • win10一天更新几次
  • win阅读软件
  • win7经常断网是什么原因
  • 进windows花屏
  • 怎么关闭win10系统
  • win10系统怎么找到桌面
  • 铁嘴银牙剧情简介
  • u3d怎么导入贴图
  • jQuery插件下载
  • Cocos2dx3.2 CrazyTetris 物理引擎使用初步
  • js中的filter方法
  • 语音单词怎么读
  • unity3d android
  • unity update优化
  • AnalogClock
  • asp.net 4.8
  • unity相关问题
  • Node.js+Express+MySql实现用户登录注册功能
  • jquery怎么写轮播图
  • js 类的继承
  • 销售黄金的基本知识
  • 国家税务总局关于涉税中介
  • 出口退税预申报有疑点怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设