当前位置: 首页 > news >正文

【从零开始学习计算机科学】操作系统(五)处理器调度

【从零开始学习计算机科学】操作系统(五)处理器调度

    • 处理器调度
      • 一些简单的短程调度算法的思路
        • 先来先服务(First-Come-First-Served,FCFS)
        • 优先级调度及其变种
        • 最短作业优先调度算法(SJF)--非抢占式
        • 最短作业优先调度算法(SJF)--抢占式
        • 最高响应比优先调度算法
        • 轮转调度算法(RR)
        • 多级反馈轮转调度算法
        • 实时系统的调度算法
        • 多处理器模型的调度

处理器调度

处理器调度是为了更好的利用处理器,为了评估处理器利用情况和调度功能的性能,我们需要定义一些性能指标。

  • CPU 使用率:应使CPU尽可能地忙碌。好的调度策略应该尽可能地提高CPU的利用率。
  • 吞吐量:是在一个时间单元内进程完成的数量。对于长进程,吞吐量可能为每小时一个进程;对于短进程,吞吐量可能为每秒十个进程。
  • 周转时间:从进程提交到进程完成的时间段称为周转时间。周转时间为所有时间段之和,包括等待进入内存、在就绪队列中等待、在 CPU 上执行和 I/O 执行。
  • 等待时间:等待时间为在就绪队列中所有进程等待所花的时间之和。
  • 响应时间:对于交互系统,周转时间不是最佳准则,响应时间更为合理。响应时间是指从用户提交一个请求开始,直到系统首次产生响应为止的这段时间。

一个进程从创建到执行可能需要经过以下三级调度:长程调度、中程调度和短程调度。

  • 长程调度用于从新建态到就挂起/就绪态、从新建态到就绪态的调度;
  • 中程调度用于从挂起/阻塞态到阻塞态、从挂起/就绪态到就绪态的调度;
  • 短程调度用于从就绪态到执行态的调度。

短程调度程序也叫进程调度,将决定哪一个就绪进程将获得处理器。进程调度可能发生在3个时机:

  1. 一个处于运行态的进程结束时,从就绪进程队列中选择一个就绪进程运行。
  2. 当一个正在运行的进程阻塞时

相关文章:

【从零开始学习计算机科学】操作系统(五)处理器调度

【从零开始学习计算机科学】操作系统(五)处理器调度 处理器调度一些简单的短程调度算法的思路先来先服务(First-Come-First-Served,FCFS)优先级调度及其变种最短作业优先调度算法(SJF)--非抢占式最短作业优先调度算法(SJF)--抢占式最高响应比优先调度算法轮转调度算法…...

Flink之水印(watermark)的补充理解

水印(Watermark)‌:用于事件时间处理,标记数据流的进度,解决乱序和延迟问题,触发窗口计算‌ 一、Flink 水印的作用 处理乱序事件‌ 水印(Watermark)是 Flink 用于处理事件时间&…...

数据结构全解析:从线性到非线性,优缺点与应用场景深度剖析

1. 线性数据结构 (1)数组(Array)(适合静态数据) 优点: 随机访问高效:通过索引可以直接访问元素,时间复杂度为 O(1)。 内存连续:数组在内存中是连续存储的&…...

《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记

《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记 技术栈说明 后端:Python 3.10 + Flask 框架数据库:MySQL前端:ECharts 5.4 + HTML/CSS数据可视化:柱状图 / 折线图 / 饼图 / 雷达图项目结构 project/ ├── server.py # 后端服务 └──…...

StringBuilder和StringJoiner的运用

package test12; import java.util.Scanner; import java.util.StringJoiner;public class Test { public static void main(String[] args) {/* String str "你玩的真好,下次别玩了,TMD,CNM";String[] arr {"TMD", &…...

科技创新:改变生活的力量与未来趋势

人工智能在智能客服中的应用越来越普遍。它改变了传统的客服模式。AI可以快速回答用户的问题,提高了客服效率和服务质量。 首先,人工智能能够处理大量信息。智能客服可以在几秒钟内回应客户的请求。这比人工客服快得多。客户不需要等待很久就能得到答案…...

Maven指定JDK

在使用 Maven 管理 Java 项目时,有时需要指定使用特定的 JDK 版本。这通常是因为项目需要与特定版本的 JDK 兼容,或者在不同的开发环境中需要确保使用正确的 JDK 版本。通常来说在IDEA工具中设置了正确的JDK版本,使用IDEA编译也不会有任何异常…...

Jenkins持续集成与Web前端、SpringBoot项目的部署

Jenkins是一个开源的持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)工具,广泛应用于软件开发过程中。‌它基于Java开发,旨在提供一个开放易用的软件平台,帮助软件项…...

如何使用Opentelemetry+jaeger对Go与Java项目实现分布式链路追踪

本文介绍![如何使用Opentelemetryjaeger实现分布式链路追踪] 关于opentelemetry的介绍可以看下面的文章 https://blog.csdn.net/qq_62368250/article/details/143516314本文中相关图片以及源代码地址 https://github.com/wuchenyanghaoshuai/others/blob/main/step39/README.…...

LabVIEW闭环控制系统硬件选型与实时性能

在LabVIEW闭环控制系统的开发中,硬件选型直接影响系统的实时性、精度与稳定性。需综合考虑数据采集速度(采样率、接口带宽)、计算延迟(算法复杂度、处理器性能)、输出响应时间(执行器延迟、控制周期&#x…...

Html5学习教程,从入门到精通, HTML5超链接应用的详细语法知识点和案例代码(18)

HTML5超链接应用的详细语法知识点和案例代码 超链接(Hyperlink),也称为跃点链接,是互联网和文档编辑中的一种重要概念。 超链接的定义 超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页&#…...

STM32 HAL库 CAN过滤器配置

之前在STM32 f407 CAN收发 基于HAL库和Cubemx配置_stm32f407can收发程序-CSDN博客这篇博文里写了一下配置CAN收发的方法,当时由于并没有使用过滤器的现实需求,所以就也没仔细研究。现在工作中确实需要用到过滤器了,有些项目中控制器和发动机E…...

【前端面试题】Vu3常见的面试题

1.Vue3与 Vue2的核心区别有哪些? ‌ 响应式系统 ‌: ‌ Vue2:通过Object.defineProperty 实现响应式。这种方式在处理对象属性的添加和删除时存在局限性,且无法直接监控数组的变化 ‌;‌Vue3:采用Proxy 实现响应式&…...

【数据分享】2001-2024年我国逐年植被净初级生产力(NPP)数据

植被净初级生产力(Net Primary Productivity,NPP)是生态学中的一个重要概念,表示单位面积植被在特定时间内吸收的净光合有机物,是衡量生态系统中植物通过光合作用所产生的有机物质减去植物呼吸作用消耗的有机物质的量&…...

java-正则表达式

一、正则表达式能干什么? ✅ 验证格式:手机号、邮箱、日期✅ 提取数据:从日志/文本中抓取关键信息✅ 替换文本:批量修改字符串内容 二、Java正则核心API Java中用 java.util.regex 包的两个类: Pattern:…...

正则表达式(复习)

文章目录 一、[]: 一个字符集合二、{}: 重复次数三、特殊符号四、(): 分组五、python代码示例六、注意 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个…...

sonarqube+SonarScanner+postpresql+jenkins

本地执行参考这篇 sonarqubeSonarScannerPostgreSQL实现代码质量扫描(windows)_sonarqube 10.7部署-CSDN博客 集成到Jenkins中操作如下 在 Jenkins 中安装 SonarQube Scanner 和配置 Job 1、安装 SonarQube Scanner 插件: 在 Jenkins 的管理…...

牛客周赛Round 84

本场比赛难度不大,也是本人第一次AK,最后一题用组合数学推公式,本篇博客主要讲解最后一题的思路 G-小红的陡峭值(五)(hard)_牛客周赛 Round 84 思路:本题要我们求p/q mod M ,即p*&am…...

TDengine 配置 ODBC 数据源

简介 TDengine ODBC 是为 TDengine 实现的 ODBC 驱动程序,支持 Windows 系统的应用(如 PowerBI 等)以及用户自定义开发的应用程序,通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。 TDengine ODBC 提供基于 WebSo…...

numpy常用函数详解

在深度神经网络代码中经常用到numpy库的一些函数,很多看过之后很容易忘记,本文对经常使用的函数进行归纳总结。 np.arange arange是numpy一个常用的函数,该函数主要用于创建等差数列。它的使用方法如下所示: numpy.arange([star…...

XZ6128A工作电压5-100V 输出电流5A 升压型大功率LED灯恒流驱动控制芯片

概述 XZ6128A是一款高效率、高精度的升压型大功率LED灯恒流驱动控制芯片。 XZ6128A内置高精度误差放大器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率、多个高亮度LED灯串的恒流驱动。 XZ6128A采用固定关断时间的控制方式&#xff0…...

DLA功耗优化验证:tegrastats实战指南

重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...

用ESP32-C3的PWM做个RGB呼吸灯吧:从配置结构体到色彩渐变(乐鑫ESP-IDF实战)

ESP32-C3 RGB呼吸灯实战:从PWM配置到色彩渐变算法 当智能家居的灯光不再只是简单的开关控制,而是能像呼吸般自然渐变时,整个空间的氛围立刻变得生动起来。ESP32-C3凭借其出色的LED PWM控制器(LEDC)外设,为开…...

UE5项目打包后RenderTarget导出图片全黑?手把手教你解决伽马校正与资产打包问题

UE5打包后RenderTarget导出图片全黑的终极解决方案当你花了整整三天时间调试RenderTarget导出功能,终于在编辑器里看到完美的截图效果,却在打包成可执行文件后发现所有导出的图片都变成了一片漆黑——这种从云端跌入谷底的感觉,每个UE开发者都…...

“--glow”并不存在?!深度逆向Midjourney 6.1源码级辉光模拟协议,曝光官方刻意隐藏的4个隐式辉光增强开关

更多请点击: https://kaifayun.com 第一章:辉光效果的视觉本质与Midjourney 6.1协议悖论 辉光(Glow)并非物理光源的直接投射,而是人眼视网膜对高对比度边缘与饱和色域交界处产生的神经光学响应——一种由局部亮度梯度…...

深度解析zenodo_get路径处理机制:如何优雅处理科研数据下载的目录结构

深度解析zenodo_get路径处理机制:如何优雅处理科研数据下载的目录结构 【免费下载链接】zenodo_get Zenodo_get: Downloader for Zenodo records 项目地址: https://gitcode.com/gh_mirrors/ze/zenodo_get 在科研数据管理领域,高效的数据下载工具…...

QKeyMapper终极指南:Windows上最强大的开源按键映射工具

QKeyMapper终极指南:Windows上最强大的开源按键映射工具 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键鼠&#xff…...

炉石传说脚本:智能游戏自动化助手的完整使用指南

炉石传说脚本:智能游戏自动化助手的完整使用指南 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 还在为炉石传说重复性的日常任务感到疲惫吗…...

MySQL全局ID生成实战:从自增主键到自定义Sequence的平滑升级方案与避坑指南

MySQL全局ID生成实战:从自增主键到自定义Sequence的平滑升级方案与避坑指南 当电商平台的日订单量突破百万时,技术团队突然发现系统开始频繁出现"Duplicate entry"错误——那些原本可靠的自增主键,在分库分表的环境下变成了数据一致…...

免费岛屿设计工具终极指南:Happy Island Designer 完整教程 [特殊字符]️

免费岛屿设计工具终极指南:Happy Island Designer 完整教程 🏝️ 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友…...