位置: 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 转载请保留说明!

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

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

  • 预收三年租金 房产税怎么算
  • 固定资产大修理的标准
  • 企业回购股票会使所有者权益
  • 接受的捐赠收入要交税吗
  • 职工教育经费税法
  • 滞纳金为千分之二从何年开始实施
  • 建筑行业简易计税账务处理
  • 债券作为交易性金融资产的账务处理
  • 资产减值损失转回的账务处理
  • 政府往来账
  • 小规模纳税人转成一般纳税人条件
  • 长期雇佣临时工
  • 增值税专用发票可以开电子发票吗
  • 技术开发费税率13还是60
  • excel单元格内换行macbook
  • 如何确定增值税以旧换新方式下销售货物的销售额
  • 公司开出的发票
  • 企业注销增值税进项核销账务处理流程
  • 发票代码和发票号码在一起怎么办
  • 增值税做账做错怎么处理
  • 房地产企业人防设备计入什么科目
  • 折价处置抵押房地产的应当参照什么
  • 哪些税金计入存货成本
  • 向股东分配股利会影响所有者权益吗
  • 开票收入怎么理解
  • 鸿蒙系统怎么自动填充密码
  • PHP+Mysql+jQuery中国地图区域数据统计实例讲解
  • 正确的PHP匹配UTF-8中文的正则表达式
  • 中秋福利发放现金文案怎么写
  • 个人所得税手续费返还
  • php字符串函数大全
  • 固定资产出租需交什么税
  • PHP:Memcached::increment()的用法_Memcached类
  • 半月湾在哪
  • 代理业如何交增值税
  • 喉咙有异物怎么咳出来
  • 什么企业需要开具矿产品发票
  • window.location.href返回值
  • php获取get请求数据
  • php搜索框查询数据库
  • 新一代状态管理工具 -- Pinia 上手指南
  • php开启mysql扩展
  • vm网络不可达
  • 企业注销亏损怎么处理
  • python处理mysql如何拿到表头
  • 残保金补申报后处罚会自动取消吗
  • 总公司签协议,分公司开票,报账怎样写说明
  • logstash gsub
  • 欠对方钱对方公司已注销
  • 当月发生的费用
  • 出口退税中的免税是什么
  • 企业应纳税总额怎么算
  • 软件服务费计入管理费用哪个明细
  • 未开票收入如何计提增值税
  • 销售折扣与折让在财务报表哪里
  • 什么叫查账征收和核定征收
  • 应收帐款坏帐会计分录怎么处理
  • 出口产品开票注意事项
  • 差旅费退回怎么写
  • 小规模纳税人建筑服务预缴增值税
  • 增值税年末一定要结转吗
  • sql实用教程
  • win10exe文件关联修复
  • win8装机软件
  • 监控iphone软件
  • centos如何查询版本号
  • uphclean.exe - uphclean进程是什么意思
  • ubuntu 20.04 服务器
  • xp清理系统的命令
  • Windows Server 2012实用技巧集锦
  • windows8.1开机
  • cocos2d安装教程
  • centos7开不了机
  • 隐藏磁盘空间
  • vue微信分享功能
  • jquery 3d旋转
  • 税务局执法不规范整改
  • 税收优惠政策有经营和居民住宅出租
  • 天津税务陈岩
  • 股权转让和大宗转让区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设