进程调度(4.1)

news2025/2/28 0:33:00

进程调度

进程调度是操作系统的基本功能,在多道程序系统中,内存中有多个进程,每个进程交替的去使用处理机,而合理的调度是至关重要的。处理机的调度有三种类型,分别是高级调度、中级调度、低级调度其中低级调度发生的频率最高。
在这里插入图片描述

1 调度的类型与准则

1.1 调度类型

(1)高级调度:又称作业调度、宏观调度。
任务:决定将外存上后备队列中的那些作业调入内存。
调度工作决定:

  • 接纳多少作业:取决于多道的程度,即内存允许放多少个作业
  • 接纳哪些作业:有调度算法决定。

适用于批处理系统。
(2)中级调度:又称进程调度、微观调度
主要作用:内存和外存对换区之间进行进程对换,以解决内存紧张的问题。
(3)低级调度:又称进程调度、微观调度
任务:决定就绪队列中的哪些进程将获得处理机
调度方式:非剥夺式和剥夺式
抢占原则:时间片、优先权和进程长短
适用于分时、实时、批处理系统

1.2 进程调度的方式

进程调度方式分为不可剥夺方式和可剥夺方式。
不可剥夺方式: 不可剥夺方式也被称为非抢占方式。采用这种调度方式时,一旦把处理机分配给某个进程,该进程将一直执行下去,直到运行完毕或因某种原因不能运行,才把处理机分配给其它进程,决不允许其它进程强占正在运行进程占有的处理机。简单来说当该进程占用CPU时,不能被别的进程强制掠夺该CPU。
**可剥夺方式:**可剥夺方式也被称为抢占方式。在这种方式下,允许一个进程按照某种原则,抢占其它进程占有的处理机。抢占采用优先权原则的比较多,也就是说,如果一个进程比正在运行进程的优先级高,则它可以抢占处理机而运行。简单来说当该进程占用CPU时,可以被别的进程强制掠夺该CPU。

1.3 进程调度时机

  • 进程退出
  • 进程阻塞
  • 新进程创建
  • 中断发生
  • 时钟中断

1.4 进程的性能准则

面向用户的准则:

  • 响应时间快(响应时间:从用户通过键盘提交请求到首次得到响应的时间)
  • 周转时间短(周转时间:作业从提交到完成的时间间隔。)
  • 优先权准则
  • 截止时间的保证

面向系统的准则:

  • 系统吞吐量:单位时间内完成的作业数。
  • 处理机利用率
  • 各类资源平衡利用
  • 公平

周转时间Ti:周转时间=完成时间-到达时间
平均周转时间:平均周转时间=周转时间/进程个数
带权周转时间:带权周转时间=周转时间/服务时间=(等待时间+实际服务时间)/实际服务时间
平均带权周转时间:平均带权周转时间=(周转时间/服务时间)/进程个数

2 调度算法

(1)先来先服务调度算法FCFS

  • 算法思想:对于作业调度,从后备作业中选择最先进入该队列的作业,将他们调入内存,为它们分配资源、创建进程,然后放入就绪队列。–对于进程调度,从就绪队列中选择最先进入该队列的进程,分配处理机,使之运行。
  • 特点:易于实现–有利用长作业,短作业不满。

(2)短作业(进程)优先调度算法SJF

  • 算法思想:短作业优先是从后备队列中选择估计运行时间最短的作业,将它们调入内存。短进程优先是从就绪队列中选择估计运行时间最短的进程,将处理机分配给它,使之执行并一直到完成或因发生某事件而阻塞放弃处理机时,再重新调度。
  • 特点:极端情况下,长作业得不到调度。作业或进程的长短只能估计,不准确。完全不考虑紧迫程度,使紧急事件得不到处理。
    在这里插入图片描述

(3)时间片轮转调度算法RR

  • 算法思想:进程按FCFS在就绪队列排队,调度程序把CPU分配给队首进程,令其执行一个时间片,一个时间片执行完毕将进程排在队尾。
  • 时间片大小的确定:响应时间:T=用户数目N*时间片q
      响应时间T:当N一定,T与q成正比。T若要求快,则q也要小。
      就绪队列的进程数N:T一定,q与N成反比。N越多,q要小。
      系统的处理能力:保证用户键入的常用命令能在一个时间片内处理完毕。
    在这里插入图片描述
    在这里插入图片描述

(4)优先权调度算法

  • 算法思想:
      从后备队列中选择若干优先权最高的作业,将它们调入内存。
      或从就绪队列中选择优先权最高的进程,将处理机分配给它。
  • 优先权类型:
      静态优先权,确定因素:进程类型、进程对资源的需求、用户要求。
      动态优先权,确定因素:等待时间、运行时间。
      特点:综合考虑各种情况优先权调度算法

(5)多级反馈队列

  • 算法思想:
      根据作业的性质和类型不同,将就绪队列再分为若干个子队列,每个进程分属于一个队列。
      在多级队列的基础上,不但设多个队列,且为每个队列赋予不同的优先权,第一个队列的优先权最高,第二个队列次之,其余队列的优先权逐个降低。
      各个队列中的进程执行时间片大小逐渐增大。
      新进程投入第一个队列。
      调度从第一个队列进行,仅当第一个队列为空时,才调度第二个队列中的进程。
    在这里插入图片描述
    例题:
    假定要在一台处理器上执行下表所示作业,且假定这些作业在时刻0以1、2、3、4、5的顺序到达。说明分别使用FCFS、RR(时间片=1)、SJF、非剥夺式优先级调度算法以及多级队列反馈算法(第i级队列的时间片=2i-1)时,这些作业的执行情况(优先级的高低顺序依次为1到5),针对以上每种调度算法,给出平均周转时间和平均带权周转时间。
作业执行时间优先级
1103
211
323
414
552

解(1)作业执行情况可以用甘特图来表示。
在这里插入图片描述
(2)各个作业对应于各个算法的周转时间和加权周转时间可得:
在这里插入图片描述
周转时间Ti:周转时间=完成时间-到达时间
平均周转时间:平均周转时间=周转时间/进程个数
带权周转时间:带权周转时间=周转时间/服务时间=(等待时间+实际服务时间)/实际服务时间
平均带权周转时间:平均带权周转时间=(周转时间/服务时间)/进程个数

所以,FCFS的平均周转时间为13.4,平均加权周转时间为7.26。
RR的平均周转时间为9.2,平均加权周转时间为2.84。
SJF平均周转时间为7,平均加权周转时间为1.74。
非剥夺式优先级调度算法的平均周转时间为12,平均加权周转时间为6.36。

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

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

相关文章

dvwa靶场上的 RCE漏洞+暴力破解的简单学习

记录一下自己重新开始学习web安全之路⑦。 操作系统的一些简单基础: windows: 查询IP地址:ipconfig 查看完整的网卡信息:ipconfig/all 列出当前目录下的文件信息:dir 切换目录:cd 读取文件内容&…

PID控制算法进阶

关于PID控制算法基础概念在本文不再重复了,详情可参考:PID控制算法基础介绍 本文主要从PID算法代码实现,代码解析,理论进阶,PID调参等方向进行阐述。 目录位置式PID和增量式PID1.1 位置式PID1.2 增量式PID1.3 位置式和…

Spring3之基于Aspect实现AOP

简介 使用 Aspect 搭配 Spring 可轻松实现 AOP;本章将通过一个完整示例演示如何实现这一功能 实现步骤 修改 beans.xml 配置文件的 schema 部分;可以在 spring-framework-reference.html 文件通过搜索关键字 “/aop” 找到配置 schema,然后…

Linux安装ElasticSearch

下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1 版本选择 ElasticSearch 7 及以上版本都是自带的 jdk,假如需要配置指定的 jdk 版本的话,可以在 es 的 bin 目录下找到elasticsearch-env.bat 这个文件&#x…

(学习日记)2023.2.12

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

谷粒商城:订单中心概念解析

1、订单中心 电商系统涉及到 3 流,分别时信息流,资金流,物流,而订单系统作为中枢将三者有机的集 合起来。 订单模块是电商系统的枢纽,在订单这个环节上需求获取多个模块的数据和信息,同时对这 些信息进行加…

千峰jquery进阶内容

封装选项卡&#xff1a; HTML部分&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport&…

在基于全志D1s的芒果派麻雀上运行国产开源rt-smart系统

想必RT-Thread系统大家不陌生了&#xff0c;RT-Thread Smart&#xff08;简称 rt-smart&#xff09;是基于 RT-Thread 操作系统衍生的新分支&#xff0c;面向带 MMU&#xff0c;中高端应用的芯片&#xff0c;例如 ARM Cortex-A 系列芯片&#xff0c;MIPS 芯片&#xff0c;带 MM…

ELK采集MySQL慢日志实现

文章目录一、ELK采集MySQL慢日志架构二、filebeat三、logstash四、eskibana一、ELK采集MySQL慢日志架构 MySQL 服务器安装 Filebeat 作为 agent 收集 slowLogFilebeat 读取 MySQL 慢日志文件做简单过滤传给 Kafka 集群Logstash 读取 Kafka 集群数据并按字段拆分后转成 JSON 格…

春季开学即将到来!大学生活必备数码清单奉上

马上就要开学了&#xff0c;你的返校装备是否已经准备齐全了呢&#xff1f;对于高校学生来说&#xff0c;很多数码产品都属于必备装备&#xff0c;比如下面这几款产品就受到了大量年轻消费者的喜爱&#xff0c;在它们的帮助下能够让大家的学习时光变得更快乐。1、不入耳黑科技骨…

DM8:DMDSC共享存储集群搭建-配置文件准备

DM8:DMDSC共享存储集群搭建-配置文件准备1 环境介绍2 配置文件2.1 EP73 节点配置文件2.1.1 dmdcr_cfg.ini2.1.2 dmasvrmal.ini2.1.3 dmdcr.ini2.1.4 dminit.ini2.1.5 dmcssm.ini2.1.6 配置文件就绪2.2 EP74 节点配置文件2.2.1 dmdcr.ini1 环境介绍 使用裸设备搭建 2 节点 DMDS…

从零开始的数模(二十六)单因素方差分析

目录 一、概念 1.1相关概念 1.2用途 1.3数据要求&#xff1a;独立性/正态性/方差齐性 1.4步骤 ​编辑1.5专业名词 二、基于python的单因素方差分析 2.2单因素方差分析的作用 一、概念 1.1相关概念 单因素方差分析是一种常用的统计分析方法&#xff0c;它用于比较一个因…

csgo搬砖项目,门槛最低的副业就是它(内附入门知识及选品技巧)

CSGO搬砖如何选择游戏饰品(装备&#xff09;&#xff1f;相信很多朋友一定很关心这个问题&#xff0c;因为如何选品直接关系到该装备是否快速出售&#xff0c;而且也关系到账号整体盈收状况。那么今天阿阳就来好好聊聊如何选择Steam装备以及饰品的各项知识点。 Steam搬砖如何选…

Leetcode力扣秋招刷题路-0061

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 61. 旋转链表 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&…

linux另类提权之打靶归来(2019年老文)

0x00前言&#xff1a; 本次目标为渗透某安全培训学校在线靶场&#xff0c;朋友做不出来交帮忙看下。。。 不要听见靶场就关闭了此文&#xff0c;客官往下看。 0x01开端 打开此靶机各种琳琅满目的漏洞让我眼花缭乱&#xff0c;这里我选择一种直击要害的漏洞作为开端&#xff…

【入门】what is apache orc?提高hive存储效率?怎么和hive搭配使用?

文章目录一. 什么是orc二. hive集成orc三. hive表属性一. 什么是orc 官网&#xff1a;https://orc.apache.org/docs/ 1.ORC files目标为了提高hive的存储效率&#xff0c;以及减少文件大小。 Back in January 2013, we created ORC files as part of the initiative to massive…

转发一张网络工程师考试的试卷2021.5.15

网络工程师考试 单选题 &#xff08;30题&#xff0c;每题1分&#xff0c;共30分&#xff09; 1. 你在一个网络中实现DHCP服务&#xff0c;配置一些计算机成为DHCP客户端&#xff0c;由于工作需要&#xff0c;一台系统为Windows 10 的客户端要把从DHCP服务器获得的地址释放&a…

如何优化认知配比

战略可以归结为三种要素的合理配比。我们对战略的一个定义是&#xff1a;在终局处的判断。这其实来自于一个宗教的命题——面死而生。死是终局&#xff0c;生是过程&#xff0c;当你想做一个思想实验&#xff0c;或者是你真的有缘能够直面死亡&#xff0c;你所有关于生的认知就…

echonet-dynamic代码解读

1 综述 一共是这些代码&#xff0c;我们主要看echo.py&#xff0c;segmentation.py&#xff0c;video.py&#xff0c;config.py。 2 配置文件config.py 基于配置文件设置路径。 """Sets paths based on configuration files."""import conf…

大数据之-Nifi-了解Nifi处理器_和Nifi的其他组件---大数据之Nifi工作笔记0003

然后我们来看nifi的处理器,可以看到左上角是用来添加处理器的, 拖过来就能添加 拖过来以后,会显示一个弹框,里面会显示各种处理器,有293个..常用的都够了 可以在右边搜索以后添加 看一下常用的处理器 puthiveql:把数据写入到hive中去. 上面这3个是经常一块用的 这个publis…