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

操作系统(四)

一、调度算法的评价标准1.cpu利用率cpu利用率cpu忙碌时间 / 总时间2.系统吞吐量单位时间内完成的作业数量 系统吞吐量完成的作业数量/总时间3.周转时间从作业被提交给系统开始到作业完成为止的整个时间周期 周转时间包含四个方面 (1)作业在外存后备队列上等待作业调度(高级调度)的时间 (2)进程在就绪队列等待进程调度(低级调度)的时间 (3)进程在cpu上执行的时间 (4)进程在I/O操作上完成的时间后三个操作在整个作业过程中会发生多次周转时间作业完成时间-作业提交时间 平均周转时间各个作业周转时间/作业总数OS更关心平均周转时间更关心整体的表现在相同的周转时间下运行时间更长的作业用户体验感更好 因此引入一个概念——带权周转时间 带权周转时间作业周转时间/作业实际运行时间 带权周转时间越小用户体验感越好 平均带权周转时间各作业的带权周转时间之和/作业总数4.等待时间指进程/作业处于等待处理机状态时间之和 等待时间越长用户体验感越差对于进程来说等待时间指进程在被建立后等待被响应的时间的总和在等待I/O完成期间进程仍然被服务所以这段时间不计入在等待时间之内对于作业来说等待时间还应该加入作业在外存的后备队列等待高级调度的时间5.响应时间用户从提交请求到再次响应之间的时间二、调度算法1.先来先服务调度算法 2.短作业优先调度算法 3.高响应比调度算法1.先来先服务FCFS算法思想按照作业或进程到达的先后顺序进行服务 等待时间越久越优先得到服务属于非抢占式算法 优点 公平、算法实现简单 先来先服务算法不会导致饥饿 饥饿进程/作业长期得不到服务 缺点 排在长作业/进程后的短作业/进程需要等待更长的时间被响应 带权周转时间较大短作业/进程的用户体验感更差 对长作业有利对短作业不利2.短作业优先SJF算法思想追求最少的平均等待时间最少的平均周转时间最少的带权周转时间 要求服务时间最短的作业/进程优先进行服务短作业/进程优先的算法可分为两个类别非抢占式每次调度时选择在已到达且运行时间最短的作业/进程进行调度抢占式又叫最短剩余时间优先调度算法每当有新的进程到达就绪队列发生改变时就需要进行调度如果新到达的进程的运行时间小于当前正在运行的进程的剩余运行时间则新进程抢占处理机当前运行的进程重新回到就绪队列另外每当一个进程运行结束后也要进行调度抢占式的短作业运优先调度算法的平均等待时间最短平均周转时间最短短作业优先算法的优点平均等待时间较短平均周转时间较短缺点不公平对短作业有利不利于长作业可能会出现饥饿现象如果某个进程长时间得不到服务会饿死3.高响应比优先HRRN算法思想要求综合考虑作业或进程的等待时间和要求服务的时间 在每次调度时计算各作业/进程的响应比选择响应比最高的进行调度 响应比等待时间要求服务时间/ 要求服务时间高响应比是非抢占式调度算法只有在当前运行的进程主动放弃cpu正常结束/主动要求阻塞才会进行调度计算所有就绪队列中进程的响应比选择响应比最高的进程进行服务优点 综合了先来先服务和短作业优先两种算法的优点综上三种调度算法主要适用于早期批处理操作系统三、适用于交互式系统的调度算法1.时间片轮转调度算法RR 2.优先级调度算法 3.多级反馈队列调度算法1.时间片轮转调度算法思想公平地、轮流地为各个进程服务让每个进程在一定时间间隔内都可以得到响应算法规划按照各进程到达就绪队列的顺序轮流地让各个进程执行一个时间片如果进程在一个时间片内未执行完则剥夺处理机使用将进程重新放到就绪队列的队尾重新排队该调度算法用于进程调度只有作业放入内存中建立了相应的进程才会分配处理机时间片该算法是抢占式的调度算法由时钟装置发出时钟信号来通知cpu时间片到时间片大小的考虑时间片较大如果每个进程都可以在一个时间片内结束该算法会退化为先来先服务算法增大进程的响应时间时间片较小会导致处理机频繁地进行进程切换系统会消耗大量的时间和资源进行进程的切换所以时间片的大小应该适中不应过大或过小时间片轮转调度算法的优缺点优点公平响应快适用于分时操作系统不会发生饥饿现象缺点由于进程之间切换有一定的开销无法识别进程的紧急程度2.优先级调度算法算法思想随着分时操作系统的出现需要根据任务的紧急程度决定处理顺序算法规划每个进程/作业都有各自的优先级调度时优先选择优先级最高的进行调度该调度算法抢占式和非抢占式皆有又根据优先级是否会改变分为静态优先级和动态优先级静态优先级创建进程时优先级就确定了不再改变动态优先级进程创建时优先级有一个初始值之和根据情况进行动态调整如何合理地设置各进程的优先级系统进程大于用户进程前台进程大于后台进程I/O繁忙型进程大于计算机型进程cpu繁忙型进程I/O设备可以与cpu并行运行所以I/O繁忙进程的优先级应大于cpu繁忙型进程提高资源利用率系统吞吐量优先级调度算法的优缺点优点用优先级区分进程的紧急程度、重要程度适用于实时操作系统可以灵活地调整各个进程或作业的偏好程度缺点如果不断有优先级更高的进程到来会导致之前的进程饿死3.多级反馈队列调度算法算法思想对于其他调度算法的权衡 算法规划 1.设置多级就绪队列各级队列优先级从高到低时间片从小到大。 2.新进程到达时先进入第一级队列按照先来先服务的算法规则排队等待被分配时间片 若时间片结束进程仍没有运行完则进程进入下一级队列的队尾如果此时进程已经在最大 一级队列则插入该队列的队尾 3.只有当k级队列中的进程全部运行完第k1级队列中的进程才开始分配时间片该调度算法用于进程调度为抢占式调度算法在k级队列中的进程运行时一个新进程的到来会抢占处理机运行运行中的进程会返回该级队列的队尾该调度算法的优缺点优点该调度算法结合了先来先服务FCFS、时间片轮转RR、段进程优先SPF 这三个调度算法的优点 缺点可能会导致饥饿现象上述三种调度算法适用于交互式系统实时操作系统、分时操作系统等四、多级队列调度算法系统中按照进程类型设置多个队列进程建立成功后插入对应的队列队列之间可以采用固定优先级或时间片来进行划分固定优先级高优先级全部调度完之后低优先级进程才被调度 时间片给不同队列分配大小不同的时间片各队列可以采用不同的调度算法例如系统进程队列可以采用优先级调度交互式进程可以采用时间片轮转调度批处理 进程可以采用先来先服务调度五、多处理机调度面临的问题单处理机调度需要考虑哪个就绪进程优先上处理机 多处理机则还需要考虑被调度的进程上哪个处理机针对多处理机的考虑负载均衡让每个cpu同等忙碌 处理机亲和性尽量让一个进程调度到同一个cpu上尽可能发挥cpu中缓存的作用两个解决方案一、公共就绪队列 1.所有cpu共享同一个就绪队列 2.每个cpu调度程序时从公共就绪队列选择一个进程运行 3.每个cpu进行队列访问时需要上锁保证互斥 优点天然保证了负载均衡 缺点cpu亲和力不高进程频繁切换cpu运行 如何解决cpu亲和力不高 1.软亲和由调度程序来保持cpu亲和性 2.硬亲和由用户进程通过系统调用主动要求将进程分配到固定的cpu 二、私有就绪队列 每个cpu都有一个对应的就绪队列当cpu空闲时从对应的就绪队列选择一个进程运行 优点cpu亲和力高 缺点无法保证负载均衡 如何解决负载均衡 1.推迁移push策略 利用一个特定的系统程序周期性地检查各cpu的负载情况从忙碌的cpu对应的就绪队列中推 一些进程到不忙碌的cpu对应的就绪队列中 2.拉迁移pull策略 每个cpu运行调度程序时各自周期性地检查自己与其他处理机的负载情况如果发现自己 的负载较低会主动从负载高的cpu对应的就绪队列中拉一些进程到自己对应的就绪队列

相关文章:

操作系统(四)

一、调度算法的评价标准 1.cpu利用率: cpu利用率cpu忙碌时间 / 总时间 2.系统吞吐量: 单位时间内完成的作业数量; 系统吞吐量完成的作业数量/总时间3.周转时间: 从作业被提交给系统开始,到作业完成为止的整个时间周期…...

从C++老手到Python新手:用你熟悉的CLion无缝切换,配置Python开发环境保姆级教程

从C老手到Python新手:用CLion无缝切换的Python开发环境配置指南 作为一名长期使用CLion进行C开发的程序员,当你决定探索Python世界时,最明智的选择不是抛弃熟悉的工具,而是让CLion成为你学习新语言的跳板。JetBrains系列IDE的强大…...

26.单调栈

三种双层循环 排列 可以出现(0,1),(1,0) 包含自己的组合 严格组合 739. 每日温度 暴力解法 单调栈解法 思路 将原来的数组中找比自己的温度,放到了栈中。单调性,用的…...

【C++入门】命名空间、缺省参数、函数重载

这里我就不过多的进行描述了,有兴趣的可以去网络搜索一番。总而言之,从名称上面我们也可以看得出来,C是在C的基础上进行不断地优化发展。事实上确实是这样,C语言中90%以上的语法在C中都适用。同时我们还要知道C作为众多…...

3分钟终极指南:用KMS智能激活脚本永久激活Windows和Office

3分钟终极指南:用KMS智能激活脚本永久激活Windows和Office 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活弹窗而烦恼吗?或者Office突然变成只读模…...

必知必会:奖励模型训练与PPO稳定训练方法详解

必知必会:奖励模型训练与PPO稳定训练方法详解 AI-Compass 致力于构建最全面、最实用、最前沿的AI技术学习和实践生态,通过六大核心模块的系统化组织,为不同层次的学习者和开发者提供从完整学习路径。 github地址:AI-Compass👈:https://github.com/tingaicompass/AI-Com…...

必知必会:大模型对齐数据构造与PPO算法详解

必知必会:大模型对齐数据构造与PPO算法详解 AI-Compass 致力于构建最全面、最实用、最前沿的AI技术学习和实践生态,通过六大核心模块的系统化组织,为不同层次的学习者和开发者提供完整学习路径。 github地址:AI-Compass👈:https://github.com/tingaicompass/AI-Compass…...

ToastFish:如何在工作间隙悄无声息地提升英语词汇量?

ToastFish:如何在工作间隙悄无声息地提升英语词汇量? 【免费下载链接】ToastFish 一个利用摸鱼时间背单词的软件。 项目地址: https://gitcode.com/GitHub_Trending/to/ToastFish 你是否曾经想过,那些在等待会议开始、代码编译或文件下…...

不止画板子:用嘉立创EDA专业版搞定面板打印,从设计到下单全流程解析

不止画板子:用嘉立创EDA专业版搞定面板打印,从设计到下单全流程解析 当硬件产品经理或工业设计师完成PCB设计后,如何为产品打造专业的外观面板?嘉立创EDA专业版的面板打印功能,让您无需切换软件就能实现从电路设计到外…...

基于Foundation Models框架的AI应用开发实战指南

1. 项目概述:一个面向基础模型应用开发的实战框架最近在GitHub上看到一个挺有意思的项目,叫rudrankriyam/Foundation-Models-Framework-Example。光看名字,可能有点抽象,但如果你正在尝试将像GPT、Claude、Llama这类大语言模型&am…...

树莓派PICO的板载LED还能这么玩?用MicroPython做个呼吸灯和SOS求救信号

树莓派PICO的创意灯光秀:从呼吸灯到SOS信号的MicroPython实战 第一次看到树莓派PICO板载的那颗蓝色LED时,你可能觉得它只是个简单的状态指示灯。但在这个小小的发光二极管背后,隐藏着无限的可能性。今天,我们就来解锁这颗LED的创意…...

基于MCP协议构建AI趋势分析工具:连接Google Trends与智能助手

1. 项目概述:一个连接趋势数据与AI的桥梁如果你正在构建一个需要实时洞察市场动态、追踪社交媒体热点或分析行业趋势的AI应用,那么你很可能面临一个核心痛点:如何让AI模型(比如ChatGPT、Claude等)直接、可靠地获取到这…...

MCP 2026医疗数据跨境传输新规生效在即:三甲医院已启动紧急审计,你还在用传统API网关?

更多请点击: https://intelliparadigm.com 第一章:MCP 2026医疗数据跨境传输新规的核心要义与合规边界 监管框架的结构性跃迁 MCP 2026(Medical Cross-border Protocol 2026)并非对既有《个人信息出境标准合同办法》的简单修订&…...

OpenClaw时空之锚——从离散指令到硅基时空连续体的本体论坍缩(第二十二篇)

OpenClaw时空之锚——从离散指令到硅基时空连续体的本体论坍缩(第二十二篇)导言:当龙虾挣脱离散的钟摆,时间便有了肉体在4月26日实时传输协议赋予Agent“感觉运动通路”后,4月29日的更新以一种近乎暴烈的方式&#xff…...

Provision CLI:将AI工作流转化为可复用技能,破解团队知识孤岛

1. 项目概述:从零散经验到可复用的AI技能在AI工具深度融入日常工作的今天,一个普遍且令人头疼的现象是:团队里总有人能摸索出一套高效的工作流,比如用Claude Code快速生成特定业务场景的代码,或者用Cursor精准地重构某…...

LILYGO 7.5英寸电子墨水屏与ESP32开发实战指南

1. 项目概述:LILYGO 7.5英寸电子墨水屏与ESP32开发板组合方案作为一名长期关注嵌入式显示技术的开发者,最近LILYGO推出的7.5英寸电子墨水屏(E-Paper)引起了我的注意。这款售价52美元的大尺寸显示屏完美适配该品牌多款T5系列ESP32开…...

SOCD Cleaner终极指南:5分钟解决游戏按键冲突的免费方案

SOCD Cleaner终极指南:5分钟解决游戏按键冲突的免费方案 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在竞技游戏的巅峰对决中,毫秒级的操作延迟可能决定胜负。当玩家同时按下W和S键时…...

GEM框架下的强化学习环境设计与多智能体交互实践

1. 为什么需要GEM框架下的强化学习环境在强化学习领域,环境模拟一直是个头疼的问题。我刚开始做多智能体研究时,最痛苦的就是每个项目都要从头搭建测试环境。不同论文的环境接口五花八门,有的用OpenAI Gym标准,有的自定义协议&…...

Ex-Omni框架:用自然语言生成3D面部动画的实战指南

1. 项目背景与核心价值去年在参与一个虚拟数字人项目时,我们团队曾为如何让AI生成的面部动画更自然真实而头疼。传统方案要么依赖复杂的动作捕捉设备,要么需要美术师逐帧调整,成本高且效率低下。直到接触到Ex-Omni这个开源框架,才…...

多模态AI技术助力听障沟通:HI-TransPA系统解析

1. 项目背景与核心价值作为一名长期关注无障碍技术发展的从业者,我见证了太多听障人士在语音沟通场景中面临的困境。传统的手语翻译服务存在人力成本高、响应延迟大等问题,而市面上大多数语音转文字工具又难以处理复杂的环境音和方言口音。这就是我们团队…...

从账单明细看 Taotoken 按 token 计费如何帮助项目厘清成本

从账单明细看 Taotoken 按 token 计费如何帮助项目厘清成本 1. 账单明细的核心价值 在项目管理中,资源消耗的透明化是成本控制的基础。Taotoken 提供的账单明细功能将每个 API Key 的调用记录按模型分类统计,精确到 token 粒度的计费方式让团队能够追溯…...

qapyq:AI模型训练数据集的图像管理与标注工作站实战指南

1. 项目概述:一个为AI模型训练而生的图像管理与标注工作站 如果你正在为Stable Diffusion、LoRA或者任何生成式AI模型准备训练数据集,那你一定体会过那种在成千上万张图片和文本标签之间反复横跳的痛苦。传统的看图软件和文本编辑器在这种高强度、高精度…...

基于Granite模型的本地智能体系统:RAG与图像研究实战

1. 项目概述:基于Granite模型构建的智能体系统 如果你正在寻找一个能在本地高效运行、功能强大且开箱即用的智能体(Agent)框架,那么IBM开源的Granite Retrieval Agent和Image Research Agent项目绝对值得你花时间深入研究。这两个…...

一个FIR IP搞定四路信号滤波:Xilinx Vivado 2017.4多通道复用实战(附Verilog源码)

Xilinx Vivado多通道FIR滤波器复用架构设计与实现 在数字信号处理系统中,有限脉冲响应(FIR)滤波器因其线性相位特性和稳定性被广泛应用。然而,当系统需要同时处理多个通道的信号时,传统的为每个通道单独实例化FIR滤波器的方法会导致FPGA资源消…...

【flutter for open harmony】第三方库Flutter 鸿蒙版 MD5加密 实战指南(适配 1.0.0)✨

【flutter for open harmony】第三方库Flutter 鸿蒙版 MD5加密 实战指南(适配 1.0.0)✨ Flutter 三方库 cached_network_image 的鸿蒙化适配与实战指南 欢迎加入开源鸿蒙跨平台社区: https://openharmonycrossplatform.csdn.net 本文详细介绍…...

明辨是非4:一个父亲与七年级儿子的历史思辨课——历史的坐标:从哈拉和林到民族互化,如何理解征服与民族融合

声明:如果您看到的是非微信公众号的转发,希望您来微信公众号:青寕信安,可以最快的看到及时发布的原文,而且不容易被删节。青润在这里欢迎每一位朋友的到来!关于此话题的相关文章前文回顾,与此话…...

CPU集群高效训练大模型:Horizon-LM方案解析

1. Horizon-LM项目概述在大型语言模型(LLM)训练领域,GPU资源的高成本和稀缺性始终是制约技术发展的瓶颈。Horizon-LM项目提出了一种创新思路:通过算法优化和系统架构重构,实现基于普通CPU集群的高效大模型训练方案。这…...

大型语言模型安全评估:红队测试方法与RedBench实践

1. 大型语言模型安全评估的现状与挑战在人工智能技术快速发展的今天,大型语言模型(LLM)的安全性问题日益凸显。作为AI领域的前沿研究者,我深刻体会到安全评估已成为模型开发过程中不可忽视的关键环节。传统的人工测试方法已无法满足现代LLM的复杂安全需求…...

SciDER系统:基于LLM的科研自动化平台解析

1. SciDER系统概述:数据驱动的科研自动化革命科研工作者每天需要处理海量实验数据,从原始数据清洗到特征工程,再到模型训练和结果分析,整个过程耗时费力。传统科研流程存在两大痛点:一是人工处理原始数据效率低下且容易…...

游戏机存储方案:WORM特性与USB NAND技术解析

1. 游戏机存储方案的核心需求解析现代游戏机的存储系统面临着多重挑战,从监管合规到性能优化,每个环节都需要精心设计。作为游戏机硬件架构中最关键的组成部分之一,存储方案的选择直接影响着设备的可靠性、安全性和用户体验。1.1 监管合规性要…...