首页 > 编程语言 >处理机典型调度算法

处理机典型调度算法

时间:2023-06-10 18:56:24浏览次数:60  
标签:优先级 处理机 作业 调度 算法 进程

日志

返回日志列表

处理机典型调度算法 编辑于 2023-2-10 08:56 阅读(0)
  • 评论
  • 转载
  • 分享
  • 复制地址
  • 编辑
上一篇 | 下一篇:元,角,分,厘,...  

开通黄钻

处理机典型调度算法  

处理机典型调度算法

 

1.先来先服务算法
作业调度、进程调度
先来的先分配处理机
优点:算法简单,对长作业有利,有利于CPU繁忙型作业(计算型)
缺点:效率低,不利于短作业,不利于IO繁忙型作业
不会导致饥饿
非抢占型的算法

2.短作业优先算法
进程调度
优先选择预计运行时间最短的进程
优点:平均等待时间、平均周转时间短
缺点:对长作业不利,造成饥饿现象,没有考虑作业的紧迫性,用户可能缩短作业预估时间,使得无法做到短作业优先
产生“饥饿”现象。如果一直得不到服务,则称为“饿死”
SJF和SPF(短进程优先(SPF)算法)是非抢占式的算法。但是也有抢占式的版本——最短剩余时间优先算法

3.优先级调度算法
作业调度、进程调度

分类:
剥夺型:立即停止当前运行进程,将处理机分配给更高优先级进程
非剥夺型:等待当前进程运行完成,然后将处理机分配给更高优先级进程

优先级分配:
静态优先级:进程创建后无法对优先级进行修改
动态优先级:可以根据进程运行状态,对进程优先级进行动态调整

优先级设置原则:
系统进程>用户进程
交互性进程>非交互性进程
I/O进程>计算型进程(CPU繁忙型)

产生“饥饿”现象
有抢占式的,也有非抢占式的

4.高响应比调度算法
响应比=(等待时间+要求服务时间)/要求服务时间=1+等待时间/要求服务时间
等待时间相同情况下,要求服务时间越短响应比越大,有利于短作业进程
要求服务时间相同,作业响应比由其等待时间决定,等待时间越长响应比越高,实现先来先服务
对于长作业,作业的响应比可以随等待时间的增加而提高,等待时间足够长时,其响应比可以升到很高,从而获得处理机
不会导致饥饿
非抢占式的算法

6.时间片轮转算法
使用与分时系统,使用时间片,就绪进程按照到达先后排成队列,依次在时间片内占用处理机,时间片达到时就释放处理机
时间片选择很重要,过大就变成了先来先服务,过短又变成了短作业优先
时间片影响因素:系统响应时间,就绪队列中的进程进程数目和系统的处理能力
不会导致饥饿
抢占式

7.多级反馈队列调度算法
实现思想:设置多个就绪队列,为每个队列设置不同的优先级,优先级一次递减。每个队列中的时间片各不相同,时间片依次递减。每个队列按照先来先服务原则进行进程排队,若规定时间片内没有完成,就将进程放入下一级。只有到高级队列为空的时候,低等级队列才能开始调度

优点:
终端型作业用户:短作业优先
短批处理作业用户:周转时间较短
长批处理作业用户:前面几个队列得到部分执行,不会长期得不到处理

产生“饥饿”现象

抢占式

 
  • 评论
  • 转载
  • 分享
  • 复制地址
  • 编辑
上一篇 下一篇:元,角,分,厘,...   个人日记 | 公开 | 原创:王闯

签名档

 编辑签名档  

我的热评日志

  • 评论
 

还没有人发表评论  来坐第一个沙发

发表评论

 

 

标签:优先级,处理机,作业,调度,算法,进程
From: https://www.cnblogs.com/wangprince2017/p/17471751.html

相关文章

  • 操作系统常用算法
    操作系统常用算法发布于2018-08-1713:16:23阅读 1.2K0 作业调度算法介绍:又称为高级调度或长程调度,调度对象是作业。根据作业控制块(JCB)中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程、分配......
  • 常用调度算法 总结
    常用调度算法总结 常用调度算法总结 1常见的批处理作业调度算法 1.1先来先服务调度算法(FCFS): 就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满......
  • (进程管理)05.进程的调度算法
    (进程管理)05.进程的调度算法 进程调度,就是绪状态的进程获得CPU的使用权,进程由就绪状态转变成运行状态。进程调度可以分为:抢占式系统会根据进程的优先级高低来进行调度,进程之间可以插队非抢占式系统按照先来先服务的方式来调度,进程间不能插队进程调度算法有很多,......
  • 算法刷题记录:P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
    题目链接https://www.luogu.com.cn/problem/P1328题目分析是一道和环有关的问题,直接模拟即可AC代码//Problem:P1328[NOIP2014提高组]生活大爆炸版石头剪刀布//Contest:Luogu//URL:https://www.luogu.com.cn/problem/P1328//MemoryLimit:125MB//TimeLimit......
  • DES加密算法及Python实现
    一、DES加密算法原理DES加密算法是一种对称密钥的块加密算法,1976年成为美国联邦标准。其加密流程如下:密钥的生成:将64位密钥按照置换选择1表进行置换,得到56位的密钥,并分成左右两部分各28位。然后使用16个不同的演算法对密钥进行处理,生成16个48位子密钥。明文分组:将明文分成64位的块,......
  • Python+sklearn使用DBSCAN聚类算法案例一则
    DBSCAN聚类算法概述:DBSCAN属于密度聚类算法,把类定义为密度相连对象的最大集合,通过在样本空间中不断搜索最大集合完成聚类。DBSCAN能够在带有噪点的样本空间中发现任意形状的聚类并排除噪点。DBSCAN算法不需要预先指定聚类数量,但对用户设定的参数非常敏感。当空间聚类的密度不均匀、......
  • Python+sklearn使用支持向量机算法实现数字图片分类
    关于支持向量机的理论知识,大家可以查阅机器学习之类的书籍或网上资源,本文主要介绍如何使用Python扩展库sklearn中的支持向量机实现数字图片分类。1、首先编写代码生成一定数量的含有数字的图片上面代码运行会生成80000张含有数字0到9的图片,并加入随机干扰,交换相邻两个像素的颜色。......
  • 使用Python完美管理和调度你的多个任务
    本文要点:扩展库schedule的用法。安装方法:pipinstallschedule演示代码:运行效果:......
  • 使用Python进行任务调度(进阶篇)
    在上一篇文章使用Python完美管理和调度你的多个任务中,介绍了使用Python+schedule管理和调度任务的入门方法,本文继续介绍任务调度进阶篇。问题描述:启动多个任务之后,由于种种原因,可能需要中途取消某个任务。代码截图:运行效果:......
  • 算法刷题记录:P4924 [1007]魔法少女小Scarlet
    题目链接https://www.luogu.com.cn/problem/P4924题目分析题意为将以[x,y]为中心某个矩阵,逆时针/顺时针旋转。所以其本质就是矩阵的旋转,所以找出通项公式即可。通项公式:顺时针:x后=x+y-y原,y后=y-x+x原逆时针:x后=x-y+y原,y后=x+y-x原AC代码//Problem:P4924[1007]魔法少......