处理机调度与作业调度

处理机调度

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

高级调度

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

主要功能:

        ·挑选若干作业进入内存

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

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

高级调度只有多道批处理操作系统中才有,分时和实时两种类型的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.hqwc.cn/news/234738.html

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

相关文章

linux NAT网卡配置static

由于是内网,资料无法拷贝,借助参考资料,整理发出。 镜像安装 基本操作。 查看VM配置 图1,有几个信息。一个是NAT借用了网卡里的VMnet8适配器。 子网IP是从192.168.142.0 子网掩码255.255.255.255,对应下面配置的N…

git基本命令

git init 初始化代仓库,本地没有git需要git init执行一下才能上传 创建文件 touch gitOrder.txt git status 查看修改或者添加文件的状态 ,红色表示添加到分支 git add git add 文件:添加单个文件 git add . 添加所有修改或者添加的所有…

算法通关村第六关—序列恢复二叉树(青铜)

根据序列恢复二叉树 示例 给定序列恢复二叉树(1)前序:1 2 3 4 5 6 8 7 9 10 11 12 13 15 14(2)中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 123)后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 一、前中序列恢复二叉树 (1)前序:1 2 3…

C51--DHT11温湿度传感器

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

技巧-GPU显存和利用率如何提高和batch_size/num_works等参数的实验测试

目录 简介实验测试显存占用问题GPU占用率波动问题num_work不是越大越好 总结 本专栏为深度学习的一些技巧,方法和实验测试,偏向于实际应用,后续不断更新,感兴趣童鞋可关,方便后续推送 简介 在PyTorch中使用多个GPU进行模型训练时,各个参数和指标之间存在一定的关系…

Rust UI开发(5):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第五篇,前四篇链接: 1、Rust UI开发(一):使用iced构建UI时…

SNAT / DNAT 自定义链

目录 linux 系统本身是没有转发功能,只有路由发送数据 NAT NAT的实现分为两类 SNAT SNAT 应用环境 SNAT 原理 SNAT 转换前提条件 例图参考 开启 SNAT 命令 临时开启 永久开启 修改 iptables 网卡 DNAT DNAT 应用环境 DNAT 原理 DNAT 转换前提条件 …

算法通关村第五关—Hash基础知识(青铜)

Hash基础 一、Hash的概念和基本特征 哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。很多人可能想不明白,这里的映射到底是啥意思,为啥访问的时间…

防孤岛装置在光伏发电、燃气发电等新能源并网供电系统的应用

• AM5SE-IS防孤岛保护装置主要适用于35kV、10kV及低压380V光伏发电、燃气发电等新能源并网供电系统。 • 当发生孤岛现象时,可以快速切除并网点,使本站与电网侧快速脱离,保证整个电站和相关维护人员的生命安全**。 保护功能** ● 三段式过流…

下载MySQL JDBC驱动的方法

说明 java代码通过JDBC访问MySQL数据库,需要MySQL JDBC驱动。 例如,下面这段代码,因为找不到JDBC驱动,所以执行会报异常: package com.thb;public class JDBCDemo {public static void main(String[] args) throws …

第十八章,Swing窗体

概述 String包的层次结构和继承关系如下 常用的Swing组件如下表 Swing常用窗体 JFrame 窗体 JFrame 类的常用构造方法包括以下两种形式: public JFrame():创建一个初始不可见、没有标题的窗体。 public JFrame(String title)&a…

【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(三):Jacobi 旋转法【理论到程序】

文章目录 一、Jacobi 旋转法1. 基本思想2. 计算过程演示 二、Python实现迭代过程(调试) 矩阵的特征值(eigenvalue)和特征向量(eigenvector)在很多应用中都具有重要的数学和物理意义。Jacobi 旋转法是一种用…