处理机调度与作业调度

news2024/9/21 16:33:48

处理机调度

一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历如下的三级调度

高级调度

也称为作业调度、长程调度、接纳调度。调度对象是作业

主要功能:

        ·挑选若干作业进入内存

        ·为作业创建进程、分配必要的资源

        ·将新创建的进程插入就绪队列,准备执行

高级调度只有多道批处理操作系统中才有,分时和实时两种类型的OS中无需配置

高级调度运行频率较低,作业调度的周期较长,往往是一个或一批作业运行完毕才结束

中级调度

也称为内存调度

主要功能:

        ·实现进程的内外存切换

        ·实现进程的挂起与非挂起状态切换,即活动和静止状态的切换

中级调度实际上就是存储器管理中的对换功能

中级调度运行频率介于低级调度和高级调度之间 

低级调度 

也称为进程调度、短程调度。调度对象是进程

主要功能:

        ·决定就绪队列中的那个进程获得处理机

        ·分配器(分配程序)执行把处理机分配给进程的具体操作

在多道批处理系统、分时和实时三种类型的OS中,都必须配置

低级调度的运行频率最高,一般进程调度算法不宜设计的太复杂

处理机调度算法的目标是提高资源利用率

CPU利用率=CPU有效工作时间/CPU总运行时间

CPU总运行时间=CPU有效工作时间+CPU空闲等待时间

一般使用周转时间的长短来评价批处理系统的性能

周转时间:作业提交给系统到作业完成的时间间隔

带权周转时间:周转时间/服务时间

作业调度

作业调度的主要任务有两个:①决定接纳多少作业②决定接纳那些作业

决定接纳多少作业:取决于多道程序度,即允许多少个作业同时在内存中允许

决定接纳那些作业:取决于调度算法

先来先服务调度算法

系统按照作业到达的先后次序进行调度。在就绪队列中等待时间越长的作业,优先级越高

可见进程先后进入内存的顺序为:P1-P2-P3-P4-P5。因此处理机也按照该顺序服务

CPU服务示意图
创建时刻运行时间CPU开始服务时间结束服务时间周转时间
P103033-0=3
P226399-2=7
P34491313-4=9
P465131818-6=12
P582182020-8=12

短作业优先调度算法

为了尽可能完成更多的作业,出现了短作业优先。作业所需服务时间越短,优先级越高

可见进程先后进入内存的顺序为:P1-P2-P3-P4-P5。按照运行时间长短排序为:P5-P1-P3-P4-P2

因此当进程P1执行完毕后,只有P2进程创建,因此执行进程P2。当P2执行完毕时(第9ms),进程P3、P4、P5都已经创建完毕,在就绪队列中排序。由于是短作业优先,因此优先执行进程P5,其次是P3,最后是P4

创建时刻运行时间CPU开始服务时间结束服务时间周转时间
P103033
P226397
P344111511
P465152014
P5829113

高响应比优先调度算法

高响应比优点调度算法即考虑作业的等待时间,也考虑作业的服务时间。兼顾短作业,也不使长作业等待时间过长

优先权计算方式:

priority=1+\frac{WaitTime}{ServiceTime}

其中WaitTime是等待时间,ServiceTime是要求服务时间,priority是优先权

优先权越大,越先进行服务

由上述公式可以看出①如果作业等待时间相同,则要求服务时间越短,优先权越高②如果要求服务时间相同,则等待时间越长,优先权越高③对于长作业而言,等待的时间越久优先权也高,也能获取处理机资源

 可见进程先后进入内存的顺序为:P1-P2-P3-P4-P5

当进程P1执行完毕后,只有P2进程创建,因此执行进程P2。当P2执行完毕时(第9ms),进程P3、P4、P5都已经创建完毕,在就绪队列中排序。此时计算每个进程的响应比,分别为2.25、1.6、1.5。因此优先执行进程P3。P3执行完毕时(第13ms),计算进程P4、P5的响应比,分别为2.4和3.5。因此优先执行进程P5,最后执行进程P4

创建时刻运行时间CPU开始服务时间结束服务时间周转时间
P103033
P226397
P3449139
P465152014
P58213157

轮转调度算法

轮转调度算法让就绪队列上的每个进程每次仅允许一个时间片,如果就绪队列上有n个进程,则每个进程每次都可以获得1/n的处理机时间

轮转调度算法中最重要的就是时间片的选择。如果时间片小,会频繁执行进程调度和进程上下文切换,导致系统开销增加;如果时间片太长,导致每个进程在一个时间片内完成,使轮转调度算法退化成先来先服务算法,无法满足用户需求

下图为轮询的过程,在进程创建之前不进入轮转。在程序运行结束后,退出轮转序列

第一轮P1
第二轮P1(第2ms,进程P2创建)P2
第三轮P1(第4ms,进程P3创建,进程P1运行结束)P2P3(第6ms,进程P4创建)P4
第四轮P2(第8ms,进程P5创建)P3P4P5
第五轮P2P3P4P5(第15ms,进程P5运行结束)
第六轮P2P3(第17ms,进程P3运行结束)P4
第七轮P2(第19ms,进程P2运行结束)P4(第20ms,进程P4运行结束)
创建时刻运行时间CPU开始服务时间结束服务时间周转时间
P103044
P22631917
P34461713
P46572014
P58211157

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

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

相关文章

使用RobotFramework编写BDD代码

背景 行为驱动开发(Behavior Driven Development)即BDD,是一种敏捷开发方法,通常应用在自动化测试中,或者也可称为行为驱动测试。通过使用自然描述语言确定自动化脚本,通过这种方式,能够大大促…

微调Fine tune

网络架构 一个神经网络一般可以分为两块 特征抽取将原始像素变成容易线性分割的特征线性分类器来做分类 微调:使用之前已经训练好的特征抽取模块来直接使用到现有模型上,而对于线性分类器由于标号可能发生改变而不能直接使用 训练 是一个目标数据集上…

RS232串口_笔记

这里写目录标题 1、RS232串口理论起始位数据位校验位LSB & MSB示波器查看数据信号对应连接方式 1、RS232串口理论 UART(通用异步收发传输) 是一种通信协议,而 RS232 (串行通信接口)是种物理接口标准。UART 是一种用于在计算机和外部设备之间传输数据的协议&…

Mac电脑版程序创建工具 VMware InstallBuilder Enterprise mac最新

VMware InstallBuilder Enterprise 是一款功能强大、操作简单、跨平台支持的软件安装和部署工具,可以让开发者更加高效地创建和部署软件,并提供了丰富的功能和工具,适用于不同的用户需求和场景。 内置调试器 轻松排除应用程序安装过程中的故…

C语言--每日选择题--Day31

第一题 1. 下面程序 i 的值为() int main() {int i 10;int j 0;if (j 0)i; elsei--; return 0; } A:11 B:9 答案及解析 B if语句中的条件判断为赋值语句的时候,因为赋值语句的返回值是右操作数; …

NIFI源码编译部署在服务器CentOS环境中

一、下载Apache NiFi源码: Apache NiFi官网地址,文档 Apache NiFi源码GitHub地址 二、部署nifi 2.1进入opt目录,并创建software、module [rootlocalhost /]# cd /opt/ [rootlocalhost opt]# ls containerd [rootlocalhost opt]# mkdir s…

vscode-使用vscode编译和代码修改 keil工程

Visual Studio Code必要拓展(插件)安装 1. Keil Assistant 在拓展搜索栏中输入Keil,找到 Keil Assistant 点击安装下载

小航助学题库蓝桥杯题库python选拔赛(21年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…

智能遥测终端机RTU的注意事项

智能遥测终端机RTU是一种用于实时监测和控制现场数据的设备,可以广泛应用于水利、水文、电力、煤炭等各个领域。但是在使用智能遥测终端机RTU时,也需要注意一些事项,以确保终端的正常使用效果。 ◆注意安装位置   应安装在稳定、通风的室内…

C51--DHT11温湿度传感器

DHT11温湿度传感器 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 特点: 相对温度和湿度测量全部校准,数字输出长期稳定性超长的信号输出距离:20米超低耗能:休眠4引脚安装:可以买封装好的…

Dynamsoft Barcode Reader教程:如何使用Dynamsoft Java条形码阅读器扫描多个条形码

目前有许多开源和商业条形码SDK,但只有少数可以通过扫描一次来识别多个条形码。当您在Google中搜索条形码SDK或Java条形码SDK时,您会发现Dynamsoft Barcode Reader SDK始终位于搜索结果的前5位。在本文中,我将分享如何使用Dynamsoft Java条码…

内模原理与控制

基于模型的控制方法: 把外部作用信号的动力学模型植入控制器来构成高精度反馈控制系统的设计原理。 内模原理(IMP)指的是,想要实现对R(s)的无差跟踪,系统的反馈回路中需要包含一个与外部输入R(s)相同的动力学模型。通…

如何使用Selenium进行Web自动化测试?一文6个步骤轻松玩转!

概述: Web自动化测试是现代软件开发过程中至关重要的一环。Selenium是一个强大的自动化测试工具,可以模拟用户在Web浏览器中的操作,实现自动化的测试流程。本文将介绍如何使用Selenium进行Web自动化测试,并附带代码示例&#xff…

TZOJ 1375 偶数求和

答案&#xff1a; #include <stdio.h> int main() {int n 0, m 0, j 0, s 0, count1 0,k0;int arr[101] { 0 }; //选择数组是用来控制打印格式while (scanf("%d%d", &n, &m) 2 && (n < 100 && n>0)) //多组数据输入…

docker (镜像分层、阿里云镜像推送/拉去)-day02

一、镜像概念 Docker 镜像是 Docker 容器的基础&#xff0c;它提供了一种可重复使用的、跨平台的部署方式&#xff0c;使得应用程序的部署和运行变得简单和高效。 把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),打包好…

宝塔环境备份到西部数码FSS

1、登陆宝塔面板-软件商店-第三方应用&#xff0c; 搜索ftp&#xff1a;找到FTP存储空间&#xff0c;点击安装 2、在软件商城-已安装&#xff0c;找到ftp存储空间&#xff0c;点击进入选项设置. 3、按照下图填写fss相关参数.这些信息可以在fss详情中查看.目录路径如果没有请先在…

U-GAT-IT 使用指南:人脸动漫风格化

U-GAT-IT 使用指南 网络结构优化目标 论文地址&#xff1a;https://arxiv.org/pdf/1907.10830.pdf 项目代码&#xff1a;https://github.com/taki0112/UGATIT U-GAT-IT 和 Pix2Pix 的区别&#xff1a; U-GAT-IT&#xff1a;主要应用于图像风格转换、图像翻译和图像增强等任务…

ROS vscode使用基本配置

1、创建ros工作空间 2、启动 vscode 3、vscode 中编译 ros ctrl shift B 调用编译&#xff0c;选择:catkin_make:build 修改.vscode/tasks.json 文件 4、 创建 ROS 功能包 选定 src ---> create catkin package 依次设置包名、添加依赖 5、C 实现 在功能包的 src 下…

用最少数量的箭引爆气球[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 有一些球形气球贴在一堵用XY平面表示的墙面上。墙面上的气球记录在整数数组points&#xff0c;其中points[i] [xstart, xend]表示水平直径在xstart和xend之间的气球。你不知道气球的确切y坐标。一支弓箭可以沿着x轴从不同点完全垂直…

Microsoft 365 for Mac:提升您的办公效率的终极选择

在现代工作环境中&#xff0c;高效的办公软件是提高工作效率和团队合作的关键。Microsoft 365 for Mac&#xff08;前身为Office 365&#xff09;是微软为Mac操作系统推出的一套全面的办公软件解决方案&#xff0c;为用户提供了强大的工具和功能&#xff0c;帮助您在任何地方都…