处理机调度与作业调度

处理机调度

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

高级调度

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

主要功能:

        ·挑选若干作业进入内存

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

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

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

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

相关文章

Js页面录屏切片存储数据上传后端

前端 screenShot(){// 获取屏幕共享流navigator.mediaDevices.getDisplayMedia({video: true,audio: true,//preferCurrentTab 共享本次操作的页面preferCurrentTab: true}).then(async stream > {const mediaRecorder new MediaRecorder(stream, { mimeType: video/webm; …

阿里云国际短信业务网络超时排障指南

选取一台或多台线上的应用服务器或选取相同网络环境下的机器,执行以下操作。 获取公网出口IP。 curl ifconfig.me 测试连通性。 (推荐)执行MTR命令(可能需要sudo权限),检测连通性,执行30秒。 m…

基于B/S架构的医院一体化电子病历编辑器源码

电子病历在线制作、管理和使用的一体化电子病历解决方案,通过一体化的设计,提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心,以临床诊疗信息为主线…

Docker配置Halo搭建个人博客-快速入门

Docker配置Halo搭建个人博客-快速入门 1 官方文档1.1 快速启动 2 安装Halo2.1 创建Halo主目录2.2 远程下载配置文件2.3 编辑配置文件2.4 拉取最新镜像2.6 查看容器2.7 开放服务器的防火墙 3 运行3.1 运行项目3.2 停止项目 4 常见问题4.1 没有权限4.2 ommand netstart not found…

(项目已开源)社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 slider滑块 和 box3 歌词滚动区域 进行联动

(项目已开源)社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 slider滑块 和 box3 歌词滚动区域 进行联动 链接&#xff1a;https://pan.baidu.com/s/16lpEW6L5jrHfhsG7EXocLw?pwdkryy 提取码&#xff1a;kryy <!--社区求助 哪位大佬能不能帮我 将box1 audio 和 box2 s…

Flink(八)【窗口】

前言 终于忙完了四门专业课的期末&#xff0c;确实挺累啊。今天开始继续学习 Flink &#xff0c;接着上次的内容。 今日摘录&#xff1a; 他觉得一个人奋斗更轻松自在。跟没有干劲的人在一起厮混&#xff0c;只会徒增压力。 -《解忧杂货店》 1、窗口 之前我们已经了解了…

使用ApexSQLLog工具恢复数据库

目录 前言 一、ApexSQLLog是什么&#xff1f; 二、使用步骤 1.连接你要恢复的数据库 2.选择你要恢复的时间点的数据 3.恢复指定操作的数据 4.恢复指定的表 5.输出结果方式 6.输出结果方式 7.生成还原的sql语句 总结 前言 我们在操作数据库的时候可能误操作把数据修…

使用Golang构建高性能网络爬虫

目录 一、Golang的特点 二、构建网络爬虫的步骤 三、关键技术和注意事项 使用协程进行并发处理 使用通道进行协程间的通信 合理控制并发数和处理速度 遵守网站使用协议和法律法规 防止被网站封禁或限制访问 优化网页解析和数据处理 异常处理和错误处理 日志记录和监控…

智跃人力资源管理系统 SQL注入漏洞复现

0x01 产品简介 智跃人力资源管理系统是基于B/S网页端广域网平台&#xff0c;一套考勤系统即可对全国各地多个分公司进行统一管控&#xff0c;成本更低。信息共享更快。跨平台&#xff0c;跨电子设备 0x02 漏洞概述 智跃人力资源管理系统GenerateEntityFromTable.aspx接口处存在…

传统算法:使用 Pygame 实现线性查找

使用 Pygame 模块实现了线性查找的动画演示。首先,它生成一个包含随机整数的数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过线性查找算法对数组进行查找,动画效果可视化每一步的变化。在查找的过程中,程序逐个遍历数组元素,如果找到目标值,将相应的元素高…

掌握区块链技术将推进2024年市场发展脚步

1.高收入潜力 精通区块链的人才通常享有超过全国平均水平的薪酬&#xff0c;这也反映了对于专业技能的需求正在迅速增长。无论你选择成为这个领域哪一块业务的人员&#xff0c;掌握区块链技能均可以显著提升你的收入。 2.职业多样性 无论你目前从事什么职业&#xff0c;都可…

使用canvas实现代码雨高级升阶版【附带源码和使用方法】

文章目录 前言基本绿色的彩色版本飘散雪花状后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端面试 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&…

1.网络编程基础知识 - 基础概念、TCP网络通信、UDP网络通信

网络编程 文章目录 网络编程一、概念1.1 网络1.2 IP地址1.2.1 IPv4 介绍1.2.2 IPv6 介绍1.2.3 查看IP地址 1.3 域名和端口1.4 网络协议1.5 TCP与UDP1.6 InetAddress类1.7 Socket 二、TCP网络通信编程2.1 介绍2.2 案例2.2.1 字节流编程案例12.2.2 字节流编程案例22.2.3 字符流编…

【面试HOT200】回溯篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot300】进行的&#xff0c;每个知识点的修正和深入主要参…

vue项目下npm或yarn下安装echarts多个版本

最近在大屏展示的时候&#xff0c;用到了百度的echarts图表库&#xff0c;看完效果图后&#xff0c;又浏览了一下echarts官网案例&#xff0c;大同小异。但是搬砖过程中发现实际效果和demo相差甚远&#xff0c;一番折腾发现&#xff0c;项目中安装的是echarts4.x版本&#xff0…

20个Python源码项目下载

20个很不错的Python项目源码&#xff0c;其中包括适合毕业设计的项目。这些资源中涵盖了Django 3版本的项目&#xff1a; DjangoMysqlBulma实现的商场管理系统源码 PythonDjango实现基于人脸识别的门禁管理系统 PythonFlaskMySQL实现的学生培养计划管理系统 Python大熊猫主题人…

Rust std fs 比 Python 慢!真的吗!?

作者&#xff1a;Xuanwo Databend Labs 成员&#xff0c;数据库研发工程师 https://github.com/xuanwo 我即将分享一个冗长的故事&#xff0c;从 OpenDAL 的 op.read()开始&#xff0c;以一个意想不到的转折结束。这个过程对我来说非常有启发性&#xff0c;我希望你也能感受到。…

医保线上购药系统:引领医疗新潮流

在科技的驱动下&#xff0c;医疗健康服务正经历一场数字化的革新。医保线上购药系统&#xff0c;不仅是一种医疗服务的新选择&#xff0c;更是技术代码为我们的健康管理带来的全新可能。本文将通过一些简单的技术代码示例&#xff0c;深入解析医保线上购药系统的工作原理和优势…

Echarts大屏可视化_02 球体模块制作

继续跟着b站大佬pink老师学大屏可视化 球体模块制作 1.球体模块布局 HTML <div class"column"><div class"no"><div class"no-hd"><ul><li>125811</li><li>104563</li></ul></div&g…

Reactor网络线程模型

目录 传统下网络服务模型 事件监听模型 NIO核心概念 单线程Reactor模式 多线程Reactor模式 Kafka 的网络设计 主要概念 类比思维理解 参考文章 传统下网络服务模型 线程太多无法处理大规模请求 事件监听模型 NIO核心概念 nio是实现reactor模式的底层API代码 单…