操作系统之《处理器机调度算法》【知识点+详细解题过程】

目录

PS:处理机调度算法相关公式:

1、【FCFS】先来先服务调度算法    

2、【SJF(SPF)】短作业(进程)优先调度算法    

3、【HRRF】最高响应比优先算法

4、【SRTF】最短剩余时间优先调度算法(抢占式!)

5、【RR】时间片轮转调度算法    (抢占式!)

6、优先级调度算法    

7、多级反馈队列调度算法

8、例题练习:


PS:处理机调度算法相关公式:

周转时间 = 完成时间 - 到达时间

带权周转时间 = 周转时间 ÷ 运行时间

等待时间 = 周转时间 - 运行时间

平均××时间 = ××时间÷进程个数

响应比 =(等待时间+运行时间)/运行时间


1、【FCFS】先来先服务调度算法    

原理:每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理机分配给该进程,使之运行。而且是不可剥夺方式。

作业名到达时间服务时间
A01
B1100
C21
D3100

该调度的Gantt图为:

 平均周转时间:((1-0)+(101-1)+(102-2)+(202-3))/4=100

2、【SJF(SPF)】短作业(进程)优先调度算法    

原理:主要用于作业调度,采用此算法的系统,后备作业队列往往按照进程到达的时间来排序。系统每次选择运行时间最短的作业优先运行。采用不可抢占(剥夺)调度方式。

作业名到达时间服务时间
A01
B1100
C2100
D31

该调度的Gantt图为:

平均周转时间:((1-0)+(101-1)+(102-3)+(202-2))/4=100

3、【HRRF】最高响应比优先算法

原理:该算法是从队列中选择响应比最高者投入运行。

响应比的计算公式 :

R=作业周转时间/作业处理时间=1+W/T
W为等待时间,T为要求的CPU服务运行时间

4、【SRTF】最短剩余时间优先调度算法(抢占式!)

原理:如果新进程的剩余时间 < 当前运行的进程剩余时间,则新进程抢占CPU,当前进程回就绪队列

作业名到达时间服务时间
A01
B1100
C2100
D31

该调度的Gantt图为:

平均周转时间=((1-0)+(102-1)+(4-3)+(202-2))/4=75.75

5、【RR】时间片轮转调度算法    (抢占式!)

原理: 系统将所有原就绪进程按FCFS的原则,排成一个队列,依次调度,把CPU分配给队首进程,并令其执行一个时间片/CPU时间,时间片用完后,该进程将被抢占并插入就绪队列末尾。

作业名服务时间
A10
B20
C5
该调度的Gantt图为:  
ABCABBB
05101520253035
平均周转时间=((20-0)+(35-0)+(15-0))/3=23.3

6、优先级调度算法    

原理:该算法总是把处理机分配给就绪队列中具有最高优先权的进程。优先级根据优先数来决定。

  • 非抢占式优先级算法——系统一旦把处理机分配给就绪队列中优先级最高的进程后,该进程便一直执行下去,直到完成/因发生某事件而放弃处理机时,系统方可重新分配处理机。
  • 抢占式优先级算法——系统把处理机分配给就绪队列中优先级最高的进程,使之执行。但在其执行期间,只要出现了另一个优先级更高的进程,进程调度程序就立即停止当前进程的执行,重新将处理机分配给新到的优先级最高的进程。

7、多级反馈队列调度算法

原理:多级反馈队列调度算法是时间片轮转算法和优先级调度算法的综合和发展,通过动态调整进程优先级和时间片大小,不必事先估计进程的执行时间,多级反馈队列可兼顾多方面的系统目标,是目前公认的一种较好的进程调度算法。

8、例题练习:

1、如表所示四个作业进入系统:
A作业提交时间为8时, 估计运行时间120分钟,优先级为2;
B作业提交时间为8时50分, 估计运行时间50分钟,优先级为2;
C作业提交时间为9时, 估计运行时间10分钟,优先级为5;
D作业提交时间为9时50分, 估计运行时间20分钟,优先级为4。
若系统应用不同作业调度算法,试计算在:
FCFS下的平均周转时间_112.5__、平均带权周转时间__4.975_;

SJF下的平均周转时间_95__、平均带权周转时间_3.25__;

高优级算法(非抢占)下的平均周转时间__95_、平均带权周转时间_3.25__。

2、假设一个系统中有3个进程,它们在第一分钟内依次到达,A、B、C进程需服务时间分别为2、4、3,忽略I/0以及其他开销时间,别按时间片轮转(RR,时间片=1)调度算法进行CPU调度,请给出:
A进程周转时间_4__、带权周转时间_2__;
B进程周转时间_9__、带权周转时间_2.25__;
C进程周转时间_8__、带权周转时间__2.67_;
平均周转时间__7_、平均带权周转时间_2.31__。

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

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

相关文章

SpringCloudAlibaba基础四 微服务调用组件OpenFeign

JAVA 项目中如何实现接口调用&#xff1f; 1&#xff09;Httpclient HttpClient 是 Apache Jakarta Common 下的子项目&#xff0c;用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 …

COB显示屏厂家为您详细解析COB显示屏的制造流程

倒装COB显示屏所采用的工艺与传统SMD LED显示屏完全不同&#xff0c;其是直接把LED发光芯片封装于PCB基板之上&#xff0c;因此其能够提供更小的像素间距&#xff0c;并且产品表面覆盖有高分子材料涂层&#xff0c;能够增强产品的防磕碰能力以及防水能力&#xff0c;在之前的文…

2741. 特别的排列 Medium

给你一个下标从 0 开始的整数数组 nums &#xff0c;它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件&#xff0c;我们称它是一个特别的排列&#xff1a; 对于 0 < i < n - 1 的下标 i &#xff0c;要么 nums[i] % nums[i1] 0 &#xff0c;要么 nums[…

STM32开发方式的演变与未来展望

一、STM32开发方式的演变 自2007年STM32微控制器首次亮相以来&#xff0c;其开发方式经历了从寄存器到标准库&#xff0c;再到HAL&#xff08;硬件抽象层&#xff09;的演变。 1.寄存器开发&#xff08;2007年-2010年代初&#xff09; 最初&#xff0c;由于初期缺乏足够的软…

使用AI的100种方法#翻译神器N3

Text "100 ways to" and "use AI" in the poster center .A cozy desk setup with an open notebook featuring notes and drawings, a cup of coffee, a white pen, and dried flowers. Warm, earthy tones create a calming, aesthetic vibe. 第 3 种可能…

uniapp canvas vue3 ts实例

<template><view><canvas canvas-idcanvas-test class"canvas-test"></canvas></view> </template><script setup lang"ts">//封装的jsimport libs from /libs;//重点引入的import type { ComponentInternalIns…

【数学建模】 复杂网络与图论模型

文章目录 复杂网络与图论模型1. 复杂网络概念与理论1.1 复杂网络中的基本概念1.2 复杂网络中的统计指标 2. 图论算法&#xff1a;遍历&#xff0c;二分图与最小生成树2.1 图的遍历算法深度优先搜索&#xff08;DFS&#xff09;广度优先搜索&#xff08;BFS&#xff09; 2.2 二分…

Postman接口测试工具的原理及应用详解(六)

本系列文章简介&#xff1a; 在当今软件开发的世界中&#xff0c;接口测试作为保证软件质量的重要一环&#xff0c;其重要性不言而喻。随着前后端分离开发模式的普及&#xff0c;接口测试已成为连接前后端开发的桥梁&#xff0c;确保前后端之间的数据交互准确无误。在这样的背景…

[ruby on rails]rails6.0升级6.1

1.准备工作 在开始升级过程之前&#xff0c;我们有一些建议的准备工作。 升级的时候&#xff0c;最好一个版本一个版本升级&#xff0c;比如6.0到6.1再到7.0&#xff0c;不要一次从6.0到7.0至少80%的测试覆盖率&#xff0c;测试真的很重要&#xff0c;能确保升级快速完成。本…

SpringCloud - 微服务

SpringCloud 是一个用于构建微服务的开源框架&#xff0c;它提供了一系列用于微服务架构的工具和组件&#xff0c;包括服务注册与发现、负载均衡、熔断器、路由等1。以下是关于 SpringCloud 的详细介绍&#xff1a; 1. 服务注册与发现&#xff1a;SpringCloud 提供了服务注册与…

【每日一练】python运算符

1. 算术运算符 编写一个Python程序&#xff0c;要求用户输入两个数&#xff0c;并执行以下运算&#xff1a;加法、减法、乘法、求余、除法、以及第一个数的第二个数次方。将结果打印出来。 a input("请输入第一个数&#xff1a;") b input("请输入第二个数&…

Word中输入文字时,后面的文字消失

当在Word中输入文字时&#xff0c;如果发现后面的文字消失&#xff0c;通常是由以下3个原因造成的&#xff1a; 检查Insert键状态&#xff1a;首先确认是否误按了Insert键。如果是&#xff0c;请再次按下Insert键以切换回插入模式。在插入模式下&#xff0c;新输入的文字会插入…

15秒下雨短视频:成都柏煜文化传媒有限公司

15秒下雨短视频&#xff1a;瞬间的诗意与情感共鸣 在数字时代的浪潮中&#xff0c;短视频以其独特的魅力&#xff0c;成为了人们生活中不可或缺的一部分。其中&#xff0c;一段仅15秒的下雨短视频&#xff0c;成都柏煜文化传媒有限公司 或许在时间长河中只是一瞬间&#xff0c…

adb删除系统应用

连接手机到电脑&#xff1a; 使用 USB 数据线将手机连接到电脑&#xff0c;并确保已启用 USB 调试模式。 打开命令提示符或终端&#xff1a; 在电脑上打开命令提示符&#xff08;Windows&#xff09;或终端&#xff08;Mac、Linux&#xff09;。 检查设备连接&#xff1a; 输…

集群分布式储存

硬件&#xff1a; 存储柜 软件 &#xff1a; software define storage 分布式存储 是一种独特的系统架构由一组能够通过网络连通&#xff0c;为了完成共同任务而协调任务的计算机节点组成分布式是为了使用廉价的普通的计算机完成复杂的计算和存储任务目的就是利用更多的机…

PLC 上位机 下位机 嵌入式 区别

PLC&#xff08;可编程逻辑控制器&#xff09;、上位机、下位机以及嵌入式系统是在工业自动化和控制系统中常见的概念&#xff0c;它们在功能定位、处理能力以及通信协议等方面有所区别。具体分析如下&#xff1a; 功能定位 PLC&#xff1a;直接与传感器、执行器等硬件相连的设…

关于日常开发和面试——集合List及数组避坑之一二

1、集合与循环的碰撞 关于在循环中对集合进行新增或删除元素操作的问题。这是一个常见的陷阱&#xff0c;因为这样做可能导致迭代器失效或者遍历到不应该访问的元素。 以下是一个简单的示例代码&#xff0c;展示了为什么不能在循环中对集合进行新增或删除元素操作&#xff1a…

【详细】CNN中的卷积计算是什么-实例讲解

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、 CNN的基础卷积计算1.1.一个例子了解CNN的卷积计算是什么1.2.卷积层的生物意义 二、卷积的拓展&#xff1a;多输入通道与多输出通道2.1.多输入通道卷积2.2.多输出通道卷积 三、卷积的实现3.1.pytorch实现卷积…

Redis 缓存预热、缓存雪崩、缓存击穿、缓存穿透业务实践

0、前言 本文所有代码可见 > 【gitee code demo】 本文会涉及 缓存预热、缓存雪崩、缓存击穿、缓存穿透介绍和解决方案业务实践 1、缓存预热 1.1、描述 提前将热点数据加载到缓存&#xff0c;提前响应&#xff0c;降低后端数据源访问压力 1.2、实践 Autowiredprivate R…

3、微服务设计为什么要选择DDD

微服务设计为什么要选择DDD 1 软件架构的演进史 在深入探讨为什么在微服务设计中选择领域驱动设计&#xff08;DDD&#xff09;之前&#xff0c;我们先来了解一下软件架构的发展和演变历史。软件架构的演进通常与设备和技术的发展密切相关&#xff0c;随着设备和技术的不断进…