当前位置: 首页 > news >正文

处理机调度

目录

处理机调度概述

处理机调度的层次

低级调度

中级调度

高级调度

进程调度

进程调度的时机

进程调度的方式

非抢占式调度方式

抢占式调度方式

调度算法的评价指标

调度算法

先来先服务调度算法(FCFS,First Come First Serve)

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

非抢占式短作业优先调度算法

抢占式短作业优先调度算法

优先级调度算法

优先级的类型

非抢占式的优先级调度算法

抢占式优先级调度算法

高响应比优先调度算法(HRRN)



处理机调度总结



处理机调度概述

  在多道程序的环境中,内存中存在多个进程,进程的数目多于处理机数目。此时在为进程分配处理机时需要进行处理机的调度。处理机的调度就是分配处理机。处理机调度算法就是按照处理机分配策略按照规定分配处理机的算法。


处理机调度的层次

低级调度、中级调度、高级调度。运行频率:低级 > 中级 > 高级。

低级调度

低级调度又称为短程调度或进程调度,调度的对象是进程。按照某种算法,决定就绪队列中哪个进程优先分配处理机。

中级调度

中级调度又称为内存调度。作用是:提高内存的利用率和系统的吞吐量。中级调度是将内存中暂时不能运行的进程调入外存,进程的状态变为挂起状态。当进程能够运行且处理机有空闲时,调入内存中,并修改进程的状态为就绪状态。

高级调度

高级调度又称为长程调度,调度的对象是作业。高级调度是按照某种算法,决定处于后备队列中的作业哪几个作业调入内存,并为他们创建进程,分配资源,为这些进程放入就绪队列。

高级调度周期长,运行效率低。


进程调度

进程调度的时机

进程在停止或放弃继续执行分为两种:

第一种:主动放弃

进程结束;进程执行过程中因异常中断;进程在I/0主动请求时,发生阻塞;

第二种:被动放弃

进程的时间片完;有更紧急的事件需要处理;有更高优先级的进程进入就绪队列。

进程调度的方式

非抢占式调度方式

 只允许进程主动放弃处理机。只要进程在执行,即使有更紧急的事件需要处理,处理机依然执行,直到进程主动放弃处理机。

优点:实现简单,系统开销小。但无法处理及时紧急的任务。

抢占式调度方式

在一个进程执行的过程中,如果遇到紧急的事件需要处理,该进程或立即停止执行,处理机优先分配给紧急的任务。

抢占不是任意的行为,需要遵循优先级原则、短进程优先原则、时间片原则。


调度算法的评价指标

CPU利用率:cpu有效工作时间 / (CPU总时间)

系统吞吐量:单位时间内完成的作业数。 作业数 / 时间

周转时间: 作业完成时间 - 作业提交时间;

平均周转时间:周转时间 / 作业数   ;

带权周转时间: 作业周转时间 / 作业实际运行时间。

等待时间:等待被服务的时间。


调度算法

先来先服务调度算法(FCFS,First Come First Serve)

算法思想:按照作业/ 进程到达的时间进行调度。  FCFS算法为非抢占式的调度方式,即可用哦关于作业调度,也可进程调度。

优点:公平、实现简单。缺点:对于长作业后的短作业来说,需要等待很长时间,长作业的带权周转时间很大。

是否会产生饥饿现象?

饥饿(进程/ 作业长期得不到服务),FCFS算法不会导致饥饿。

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

算法思想:最短的作业 / 进程优先得到服务。(运行时间最短的优先),短作业优先调度算法可以是抢占式的方式也可非抢占式的方式。

优点:平均等待时间和平均周转时间较短。缺点:对短作业有利,对长作业不利。

是否会产生饥饿现象?

会导致饥饿现象,如果短作业/ 短进程不断的进入就绪队列,长作业/ 进程就无法执行,产生饥饿现象。

非抢占式短作业优先调度算法

抢占式短作业优先调度算法

优先级调度算法

优先级调度算法是把处理机优先分配给优先级高的作业/ 进程。

优先级的类型

静态优先级:创建进程时确定静态优先级,在运行期间保持不变。确定的依据:进程的类型、进程所需要的资源大小、用户需求的紧急程度。

动态优先级:创建进程时确定优先级,在运行的期间是根据进程的要求服务时间和等待时间不断调整优先级的大小。

优先级调度算法,如果在进程运行的过程中不断的有优先级较高的进程加入就绪队列,优先级低的会持续等待执行,会产生饥饿现象。

非抢占式的优先级调度算法

(优先数越大,优先级越高)

抢占式优先级调度算法

高响应比优先调度算法(HRRN)

综合考虑作业/进程的要求服务时间和等待时间,解决先来先服务调度算法和短作业优先调度算法缺陷。非抢占式调度算法。

优先级=(等待时间+要求服务的时间)/要求服务时间,优先级也相当于响应比。

该算法的优点:

1、如果作业的等待时间相同,要求服务时间越短,优先级越高。

2、如果作业的要求服务时间相同,等待时间越长,优先级越高。

3、对于长作业,随着短进程/作业的加入,等待时间会变长,优先级不断调整。

相关文章:

处理机调度

目录 处理机调度概述 处理机调度的层次 低级调度 中级调度 高级调度 进程调度 进程调度的时机 进程调度的方式 非抢占式调度方式 抢占式调度方式 调度算法的评价指标 调度算法 先来先服务调度算法(FCFS,First Come First Serve) …...

Webpack 解决:ReferenceError: dist is not defined 的问题

1、问题描述: 其一、报错为: ReferenceError: dist is not defined 中文为: ReferenceError:dist 未定义 其二、问题描述为: 想在 webpack 的配置中,创建一个 dist 文件夹来存放 npm run build 打包后…...

MySQL的index merge(索引合并)导致数据库死锁分析与解决方案 | 京东云技术团队

背景 在DBS-集群列表-更多-连接查询-死锁中,看到9月22日有数据库死锁日志,后排查发现是因为mysql的优化-index merge(索引合并)导致数据库死锁。 定义 index merge(索引合并):该数据库查询优化的一种技术&#xff0…...

第四章 网络层 | 计算机网络(谢希仁 第八版)

文章目录 第四章 网络层4.1 网络层提供的两种服务4.2 网际协议IP4.2.1 虚拟互连网络4.2.2 分类的IP地址4.2.3 IP地址与硬件地址4.2.4 地址解析协议ARP4.2.5 IP数据报的格式4.2.6 IP层转发分组的流程 4.3 划分子网和构造超网4.3.1 划分子网4.3.2 使用子网时分组的转发4.3.3 无分…...

课题学习(八)----卡尔曼滤波动态求解倾角、方位角

一、 卡尔曼滤波 卡尔曼滤波的应用要求系统和底层过程的测量模型都是线性的。离散时间线性状态空间系统的描述为: x k Φ k , k − 1 x k − 1 G k − 1 w k − 1 x_k\Phi_{k,k-1}x_{k-1}G_{k-1}w_{k-1} xk​Φk,k−1​xk−1​Gk−1​wk−1​    式中 Φ k , k − 1 \Phi_{…...

仿真软件Proteus8.9 SP2 Pro 下载、安装、汉化详细图文教程

Proteus8.9 安装教程 视频教程一、安装软件解压二、软件安装常见问题及解决方法:三、汉化 Proteus8.9 SP2 Pro 安装教程 本破解教程仅供个人及 proteus 8.9粉丝们交流学习之用,请勿用于商业用途, 谢谢支持。此版本为Proteus8.9 SP2 Pro。其他…...

振弦传感器和无线振弦采集仪在隧道安全监测的解决方案

振弦传感器和无线振弦采集仪在隧道安全监测的解决方案 隧道作为交通工程的重要组成部分,具有极高的安全风险,因此隧道安全监测是必不可少的。振弦传感器和无线振弦采集仪作为隧道安全监测的两种重要设备,能够有效地监测隧道的振动情况&#…...

c# xml 参数读取的复杂使用

完整使用2 生产厂家里面包含很多规格型号,一个规格型号里面包含很多出厂序列号,点击下一步如果检测到填充的和保存的不一样 就新增一条(如检测到生产厂家相同,但是规格型号不同,就新增一组规格型号)。 界面一:新增界面 界面2 删除界面 界面一:新增界面 load 其中…...

在Mac中使用 brew services start redis 命令启动、停止Redis服务报错

一、问题现象 启动Redis服务命令: brew services start redis异常信息如下: Error: uninitialized constant Homebrew::Service::System /opt/homebrew/Library/Homebrew/macos_version.rb:150:in const_missing /opt/homebrew/Library/Taps/homebrew…...

iapp源码-----比较经典

2.0底部菜单导航栏.rar: https://url18.ctfile.com/f/7715018-958700751-6096bd?p6511 (访问密码: 6511) 2.0涟漪_拖动条控制音乐播放.rar: https://url18.ctfile.com/f/7715018-958700754-4cec13?p6511 (访问密码: 6511) 2.0手电筒.rar: https://url18.ctfile.com/f/7715018…...

为什么手机会莫名多出许多软件?

许多手机用户都曾遭遇过这样的问题,他们在使用手机的过程中,突然发现手机屏幕上出现了一些未知的软件。这些软件并非他们主动下载的,但它们却显现在屏幕上。这些软件从何而来? 其实,这些软件往往是在浏览网页、阅读小…...

测试自动化的边缘:DevTestOps 和 DevSecOps

什么是 DevOps? DevOps 允许企业通过自动化基础设施、工作流程和持续测量应用程序的性能来提高开发人员和运营团队之间的协作和生产力。通过 DevOps,开发人员可以以小块的形式编写代码,以便在几个小时内集成、测试、监控和部署代码&#xff…...

fatal:Could not read from remote repository解决方法

Linux服务器如何连接GitHub? 生成SSH密钥 ssh-keygen -C “邮箱” -t rsa 存放位置一般是/root/.ssh/id_rsa 登录个人github,添加客户端生成的公钥 打开Settings,点击SSH and GPG keys,点击New SSH Key。Key中粘贴id_rsa.pub…...

数学基础

线性代数 关键词:线性方程组、矩阵、增广矩阵(系数矩阵、常数项矩阵)、阶梯型矩阵、行最简矩阵、最简形矩阵、向量系统、向量加法、向量空间、基本单位向量、线性相关、线性无关、Span张成空间、 向量乘法(点积、内积、外积、叉积…...

【Python】Python语言基础(上)

第一章 前言 1. Python简介 Python语言并不是新的语言,它早于HTTP 1.0协议5年,早于Java语言 4年。 ​ Python是由荷兰人Guido van Rossum(吉多范罗苏姆)于1989年圣诞节期间在阿姆斯特丹休假时为了打发无聊的假期而编写的一个脚本…...

C#设计模式六大原则之依赖倒置原则

C#设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。以下介绍C#依赖倒置原则…...

IDEA的使用(二)快捷键 (IntelliJ IDEA 2022.1.3版本)

1. IDEA中的常用快捷键 1.1 通用型快捷键 1.2 提高编写速度 ctrl shift ↑或↓ 只能在方法里面移动代码。 alt shift ↑或↓ 可以向方法外移动代码。 设置过自动导包,所以不用批量导包啦。 1.3 类结构、查找和查看源码 1.4 查找、替换和关闭 1.5 调整格式 1.6 De…...

微信小程序个人账号申请和配置详细教程

一、注册小程序管理账号 1、注册方法 在微信公众平台官网首页(mp.weixin.qq.com),点击右上角的“立即注册”按钮。 2、选择注册的账号类型 选择“小程序”,点击“查看类型区别”可查看不同类型账号的区别和优势。 3、填写邮箱和…...

opencv定位图片中的图案?

import cv2 as cv2def find_positions(image_path, small_image_path):# 读取大图和小图large_image cv2.imread(image_path)small_image cv2.imread(small_image_path)# 小图规格small_image_h, small_image_w small_image.shape[:2]# 对比大图与小图# 匹配模板res cv2.ma…...

高防CDN:网络安全的不可或缺之选

在当今数字化时代,网络攻击已经成为互联网上的一种不可避免的风险。为了应对不断升级的网络威胁,许多企业和组织正在采用高防御CDN(Content Delivery Network)技术,以确保他们的在线资产得到保护,用户体验得…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

C# WPF 左右布局实现学习笔记(1)

开发流程视频&#xff1a; https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码&#xff1a; GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用&#xff08;.NET Framework) 2.…...

【Qt】控件 QWidget

控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态&#xff1a;enabled几何&#xff1a;geometrywindows frame 窗口框架的影响 窗口标题&#xff1a;windowTitle窗口图标&#xff1a;windowIconqrc 机制 窗口不透明度&#xff1a;windowOpacity光标&#xff1a;cursor…...

【动态规划】B4336 [中山市赛 2023] 永别|普及+

B4336 [中山市赛 2023] 永别 题目描述 你做了一个梦&#xff0c;梦里有一个字符串&#xff0c;这个字符串无论正着读还是倒着读都是一样的&#xff0c;例如&#xff1a; a b c b a \tt abcba abcba 就符合这个条件。 但是你醒来时不记得梦中的字符串是什么&#xff0c;只记得…...