操作系统第四篇【处理机调度】

操作系统-处理机调度 处理机调度调度的概念调度的3个层次切换与过程调度方式**进程调度的方式**调度算法的评价指标CPU利用率系统吞吐量周转时间等待时间响应时间调度算法先来先服务(FCFS)短作业优先(SJF)高响应比优先(HRRN)时间片轮转(RR)优先级调度算法多级反馈队列调度算法 调度的概念 处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。 例如:在银行中普通客户需要取票排队而VIP客户可以优先服务。 调度的3个层次 高级调度 首先理解一下作业的概 阅读详情

处理机调度基本概念

在处理机调度上可以分为三个层次,级别从低到高

  • 哪些资源分给CPU(低)

  • 选择哪些进程到外存中(中)

  • 哪些作业放入内存(高)

处理机的调度实际上就是用不同的算法来将我们的作业合理分配,提高CPU的利用率。达到公平性、平衡性。

先来先服务算法FCFS

按照作业提交或进程变为就绪状态的先后次序,分派CPU;
当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。
在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。是最简单的算法。

谁先来,就谁先执行

短进程/作业优先算法SJF

短进程优先调度算法(Shortest Process First, SPF),是指对短进程优先的算法。利用该算法,可以从就绪队列中选择一个估计运行时间最短的进程,并为之分配CPU,使其立即执行直到完成,或者在运行期间由于发生IO事件使该进程阻塞,并让出CPU,重新发生进程调度。
短作业优先调度算法SJF(Shortest Job First),是指对短作业优先调度的算法。利用该算法,可以从后备队列中选择若干估计运行最短的作业,投入内存运行

谁用的时间少、就先执行谁

1)优点

  • 1)比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间;假定所有任务同时到达,平均等待时间最短。

  • 2)提高系统的吞吐量。

2)缺点

  • 1)对长作业非常不利,可能长时间得不到执行;长作业可能被饿死。

  • 2)未能依据作业的紧迫程度来划分执行的优先级。

  • 3)难以准确估计作业(进程)的执行时间,从而影响调度性能。

最高响应比优先算法HRN

最高响应比优先法(Highest Response_ratio Next,HRN)是对FCFS方式和SJF方式的一种综合平衡

FCFS方式只考虑每个作业的等待时间而未考虑执行时间的长短,而SJF方式只考虑执行时间而未考虑等待时间的长短。
因此,这两种调度算法在某些极端情况下会带来某些不便。
HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。

是SJF和FCFS的综合平衡,其公式是这样子的:

640?wx_fmt=png
这里写图片描述

(1)优点

  • 1)同时到达任务,短者优先。等待时间相等时,服务时间越短,优先级越高,符合SJF思想。

  • 2)长作业随等待时间增加响应比增加。服务时间相等时,等待时间越长,优先级越高。对于长作业,只要其等待时间足够长,也能获得处理机。

(2)缺点

  • 1)吞吐量降低。这种算法是介于FCFS和SJF之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF法,从而采用HRN方式时其吞吐量将小于采用SJF法时的吞吐量。

  • 2)系统开销增加。原因在于每次调度前要计算响应比。

最高优先数算法

在进程调度中,每次调度时,系统把处理机分配给就绪队列中优先数最高的进程。它又分为两种:非抢占式优先数算法和抢占式优先数算法。

  • 在非抢占式优先数算法下,系统一旦把处理机分配给就绪队列中优先数最高的进程后,这个进程就会一直运行,直到完成或发生某事件使它放弃处理机,这时系统才能重新将处理机分配给就绪队列中的另一个优先数最高的进程。

  • 在抢占式优先数算法下,系统先将处理机分配给就绪队列中优先数最高的进程度让它运行,但在运行的过程中,如果出现另一个优先数比它高的进程,它就要立即停止,并将处理机分配给新的高优先数进程。

  • 在抢占式优先数算法下会麻烦一些。

基于时间片的轮转调度算法

轮转(Round Robin,RR)调度算法是让每个进程在就绪队列中的等待时间与享受服务的时间成正比例。该算法适用于分时系统

  • 每个进程所享受的CPU处理时间都是一致的。

过程:

1)将系统中所有的就绪进程按照FCFS原则,排成一个队列。
2)每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。
3)在一个时间片结束时,发生时钟中断。
4)调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。
5)进程可以未使用完一个时间片,就出让CPU,如进程阻塞时。

最短剩余时间优先算法

最短剩余时间优先(Shortest Remaining Time Next,SRTN)调度算法多用于剥夺式的调度中。
在进程调度中,每次调度时,系统把处理机分配给就绪队列中运行完所需时间最短的进程。
最短剩余时间优先算法也可用于不剥夺式调度方式中,此时退化为短作业优先算法。

也就是短作业优先算法的升级版,只不过它是抢占式的。

多级反馈排队算法

  • 1)设置多个就绪队列,分别赋予不同的优先级,如逐级降低,队列1的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长,如逐级加倍。

  • 2)新进程进入内存后,先投入队列1的末尾,按FCFS算法调度;若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FCFS算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成。

  • 3)仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢先的进程投入原队列的末尾。

选择调度方式和调度算法的准则

640?wx_fmt=png
这里写图片描述

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y。为了大家方便,刚新建了一下qq群:742919422,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友

文章的目录导航:

  • https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang


操作系统——处理机调度(学习笔记) 调度:当有多个任务需要处理,由于资源有限,这些任务无法同时处理,这时需要某种规则来决定处理这些任务的顺序。 处理机调度:从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。 调度的三个层次: 高级调度 高级调度又称长程调度或作业调度,调度对象是作业。根据某种算法决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。高级调度主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度。 中级调度 中级调度又称... 阅读详情

相关推荐

java语言实现操作系统处理机调度

一、实验内容 选择一个调度算法,实现处理机调度。 二、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三、实验题目 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。

操作系统进程调度实验报告

一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。 二、实验内容 (1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 进程名 指针 要求运行时间 优先数 状态 其中,进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指

shadow___h的博客 4319

按时间片轮转的处理机调度java实现

使用java语言实现按时间片轮转的处理机调度

操作系统- 实验二 模拟处理机调度的SJF调度算法(Java实现)

                                                      实验二 模拟处理机调度的SJF调度算法 一、实验目的:用c++模拟SJF调度算法(短作业优先) 二、实验内容:本实验首先输入进程的个数,然后输入进程名称,最后输入每个进程提交到系统的时间和每个进程所需要的处理时间。然后通过模拟程序,显示以下信息: 1)处理机对进程的调度过程。 2)计...

好吗好的~的技术博客 3411

操作系统作业-处理机调度

五邑大学操作系统实验作业,带实验报告,可运行。

java实现操作系统处理机调度

java语言实现操作系统处理机调度

操作系统4-处理机调度

4.处理机调度 4.1 处理机调度概述☆ 4.1.1 三种等级的调度 高级调度 决定把外存上哪些作业调入内存、创建进程、分配资源 作业调度、长程调度或宏观调度 低级调度 决定就绪队列中哪个进程应获得处理机 进程调度、短程调度或微观调度 中级调度 完成进程的部分或全部在内、外存间的交换 中程调度 4.1.2 共同的目标 资源利用率( Utilization ...

maniacxx的博客 1133

操作系统处理机调度 java编写

java编写、先来先服务 短作业优先 最高响应比优先

操作系统-实验三  模拟处理机HRRN调度算法(Java实现)

                                                             实验三  模拟处理机HRRN调度算法   一、实验目的:用c,c++,java设计HRRN调度算法程序。 二、实验内容:本实验随机输入的进程个数、进程名称、进程提交到系统的时间、进程运行所需时间。通过模拟程序。显示以下信息: 1)处理机对进程的调度过程。 2)计算这N...

好吗好的~的技术博客 3556

OS_SJF.rar_FCFS JAVA_java 处理机调度 算法_sjf_处理机调度_模拟处理机调度的sjf调度算法

利用SJF算法模拟实现处理机调度 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.要求根据调度算法显示作业被调度的顺序。 2.要求计算出相应算法的平均周转时间及平均带权周转时间。

GD32F303定时器配置:实现两路互补PWM输出与相位控制

本文详细解析了基于GD32F303定时器实现两路互补PWM输出与精确相位控制的方法。通过配置TIMER2的中间对齐模式,结合REMAP功能解决引脚复用问题,从硬件层面稳定生成相位差180度的互补PWM信号,适用于电机驱动、开关电源等对时序要求苛刻的应用场景。

weixin_29182481的博客 306

java 处理机调度实验_操作系统第四篇【处理机调度】

处理机调度基本概念在处理机调度上可以分为三个层次,级别从低到高哪些资源分给CPU(低)选择哪些进程到外存中(中)哪些作业放入内存(高)处理机的调度实际上就是用不同的算法来将我们的作业合理分配,提高CPU的利用率。达到公平性、平衡性。先来先服务算法FCFS按照作业提交或进程变为就绪状态的先后次序,分派CPU;当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。在作业或进程唤醒后(...

weixin_42361623的博客 378

统信UOS服务器上,达梦DM8数据库安装避坑全记录(附大小写敏感设置)

本文详细介绍了在统信UOS服务器版上部署达梦DM8数据库的全过程,包括环境准备、安装流程、数据库实例初始化及关键参数配置,特别是大小写敏感设置的注意事项。提供了从系统配置到性能优化的完整指南,帮助用户避免常见问题,确保数据库稳定运行。

weixin_30647423的博客 332

处理机调度——看这一篇就够了

引言 微信搜索公众号:三朝猿老,第一时间获取更多知识分享。 苦 13 的生活: 最近一边实习一边忙于复习以前学过重要课程,上周过了一遍计算机网络,这周就一直在温故操作系统了,下周准备进行数据库,再下周估计我人已经没了…… 不过有一说一,对照着以前学习时做的思维导图,复习起来果然还是很快的,那时候也确实在 OS 这门课上下了不少功夫,本来在这苦 13 的生活下不准备再写文章了,但是无意间看到了以前做的关于处理机调度的 PPT 还有演讲的文档,感觉这块内容还是值得搞一搞的 ???? 走起~~先来分享下以前上

编程技术分享 6191

Java后端实战:钉钉互动卡片消息从配置到生产级对接

在企业级消息推送场景中,机器人通知已从简单的文本向富交互演进。其核心原理在于通过可交互的卡片模板,将传统单向通知升级为双向、有状态的微型应用界面,实现了用户无需跳转即可完成操作的技术价值。这广泛应用于审批、任务确认、数据填报等需要即时反馈的业务流程。本文聚焦于钉钉平台,深入剖析其互动卡片消息机制,并基于Java后端,系统讲解如何实现包括安全验签、异步回调与卡片动态更新在内的生产级对接方案,涵盖配置管理、服务降级等工程实践关键点,助力构建稳定高效的企业消息交互服务。

weixin_30617737的博客 435

超聚变安装银河麒麟服务器系统ky10-server-x86

超聚变-通过BMC口进服务器管理界面如下图为BMC管理口:默认BMC口IP:https://192.168.2.100l浏览器打开网页,输入用户名和密码登陆后,如下图红框处,选择“启动虚拟控制台”——选择“HTML集成远程控制台”系统银河麒麟服务器系统ky10 server x86选择镜像文件X86架构我们一般选择下图2212版本选择启动方式:光驱重启出现安装图形化界面选装安装系统的磁盘系统安装盘选完后如下图,会置灰创建root密码开始安装系统首次进入,有协议界面。

zengliguang的专栏 5965

操作系统 - 处理机调度仿真

实验一:处理机调度仿真(10学时) 实验内容: 在处理机三级调度系统中,编程仿真作业调度与进程调度。作业调度采用短作业优先的方式,进程调度采用优先级方式或时间片轮转方式。 实验目的: 现代操作系统以进程并发、资源共享和随机访问为三个显著的特征。因而,常常有竞争处理机使用权的问题。为了使系统中各进程能有条不紊地工作,必须选择某些调度策略经过几级调度选择一个实体来使用处理机,并且...

森宝的博客 5299

AI智能体安全沙箱agentguard:为LLM代码执行筑起防火墙

在AI应用开发领域,大语言模型(LLM)驱动的智能体(Agent)能够自动生成并执行代码,极大地提升了自动化能力。然而,赋予AI直接执行系统命令的权限也带来了显著的安全风险,如恶意代码注入、敏感数据泄露和系统资源滥用。为了解决这一核心矛盾,安全沙箱技术应运而生,它通过在不可信代码与宿主系统之间建立隔离层,实现"默认拒绝、最小权限"的安全原则。agentguard项目正是这一理念的工程实践,它结合白名单机制与容器化隔离,为AI智能体提供了可配置、可审计的安全执行环境。该方案不仅适用于内部自动化工具开发,也为构

weixin_28695537的博客 297

操作系统第三章—处理机调度及调度算法

一、处理机概念 什么是处理机? 处理机包括中央处理器,主存储器,输入-输出接口,加接外围设备就构成完整的计算机系统。处理机是处理计算机系统存储程序和数据,并按照程序规定的步骤执行指令的部件。程序是描述处理机完成某项任务的指令序列。指令则是处理机能直接解释、执行的信息单位。 处理机与CPU的区别? 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令

每天八杯水的博客 6050

ValueError:Using a `device_map`, `tp_plan`, `torch.device` context manager or setting `torch.set解决方案

本文主要介绍了ValueError:Using a `device_map`, `tp_plan`, `torch.device` context manager or setting 'torch.set_default_device(device)` requires `accelerate`解决方案,希望能对使用transformers的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

08-StarRocks性能调优FAQ

StarRocks性能调优摘要 本文提供了StarRocks数据库性能调优的常见问题解答,涵盖查询优化、索引设计、分区策略和系统配置等关键方面。主要内容包括:查询优化技巧(使用EXPLAIN分析、避免全表扫描、优化JOIN和聚合查询);索引选择与维护建议(高频查询列索引、复合索引);分区策略设计(时间分区、范围分区)及其管理方法;以及系统内存配置优化(JVM参数调整、查询内存限制设置)。这些优化措施可显著提升StarRocks的查询性能和系统效率。

欢迎来到我的博客,一起探索代码里的世界! 541

【操作系统】七大处理机调度算法详解

本文旨在详细介绍处理机调度的基本概念、算法原理,并通过实例分析来加深对处理机调度算法的理解。本文将介绍包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度(PSA)、高响应比优先(HRRN)、轮转法(RR)、多级反馈队列调度算法

w123456789ABCDEF的博客 6666

智能手环嵌入式系统:STM32+ESP8266多传感器健康监护设计

可穿戴健康监测设备是物联网与边缘计算融合的典型应用,其核心在于多源生理信号采集、低功耗实时处理及安全云协同。基于光电容积脉搏波(PPG)的心率与血氧检测、NTC热敏电阻体温测量、加速度-角速度融合跌倒判据等技术,构成了老年健康监护的基础感知能力;而STM32主控与ESP8266协处理器分工架构,则实现了计算资源与通信负载的高效解耦。该方案依托FreeRTOS多任务调度、阿里云IoT物模型标准化交互及MQTT双向通信,兼顾实时性、可靠性和工程可维护性,广泛适用于居家养老、慢病管理与远程健康预警等场景。

weixin_33256096的博客 99

《操作系统》—— 处理机调度算法

操作系统关于处理机调度的详解

m0_56069910的博客 5555

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

操作系统——处理机调度

文章目录一、处理机调度的层次1. 高级调度(作业调度)2. 低级调度(进程调度)3. 中级调度(内存调度)二、处理机调度算法的目标1. 处理机调度算法的共同目标2. 批处理系统的目标3. 分时系统的目标4. 实时系统三、作业与作业调度1. 批处理系统中的作业2. 作业调度的主要任务3. 先来先服务调度算法(FCFS)4. 短作业优先调度算法(SJF)5. 优先级调度算法(PSA)6. 高响应比优先调度算法(HRRN)四、进程调度1. 进程调度的任务2. 进程调度的机制3. 进程调度的方式4. 轮转调度算法5

Zzz5270的博客 4993

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 操作系统第六篇【存储器管理】
下一篇: 操作系统第二篇【进程管理】
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值