操作系统(六)磁盘调度算法与优化

news2025/4/9 3:01:11

操作系统(六)磁盘调度算法与优化

一、磁盘调度算法

image-20230214185116979

时间指标

  • 寻找时间:在读/写数据前,将磁头移动到指定磁道需要的时间
  • 延迟时间:通过旋转盘面,将磁头定位到目标扇区所需的时间
  • 传输时间:从磁盘读出或者向磁盘写入需要的时间

image-20230214185703384

转速是硬件属性,操作系统是无法优化的

1、先来先服务(FCFS)

  • 根据请求到来的顺序依此进行服务

image-20230214185908633

优点:

  • 公平

缺点:

  • 如果又大量分散的磁道请求,则FCFS在性能上很差

2、最短寻找时间优先(SSTF)

  • 优先处理与当前磁头最近的磁道请求(贪心思想)

image-20230214190619216

优点:

  • 性能较好,平均寻道时间短

缺点:

  • 可能产生饥饿现象

3、扫描算法(SCAN)

  • 磁头只有扫描到最内侧磁道才会向外移动,只有扫描到最外侧磁道才会向内移动。像电梯一样,因此扫描算法也被称为电梯算法

image-20230214190930879

优点:

  • 性能较好,平均寻道时间较短
  • 不会产生饥饿现象

缺点:

  • 只有到达最内侧或者最外侧才可以改变磁头移动方向,有的时候会浪费时间
  • 对各个位置的相应频率不平均

4、Look算法

由于扫描算法中磁头只有移动到最内侧或者最外侧才能改变磁头方向,事实上有的时候最外侧已经没有请求了,这样就会造成时间的浪费。

Look算法就是用来解决这个问题的,如果在某个方向上已经没有了请求,那么磁头可以直接改变方向。

image-20230214191446255

5、循环扫描算法(C-SCAN)

SCAN算法中磁道的响应频率不平均,C-SCAN算法中规定磁头只有朝某个方向移动时才能响应磁道请求,而返回时直接快速移动到起始端而不响应任何请求。

image-20230214191710008

优点:

  • 各个位置的响应时间很平均

缺点:

  • 只有到达最内侧磁道或最外侧磁道才会改变方向

6、C-Look算法

image-20230214191908202

7、小结

image-20230214191929950

二、减少延迟时间

1、交替编号

  • 由于系统读取完一个扇区后需要一段时间的处理才能读取下一个扇区,因此在可以采取交替编号扇区的方式使系统读取连续的逻辑扇区所需要的延迟时间更小

image-20230214192514239

2、采用(柱面号,盘面号,扇区号)的地址结构

  • 在系统读取连续的多个扇区时,当此盘面的扇区读取完成后,系统会接着读取下一盘面的扇区信息,扇区之间的切换不需要移动磁头,因此可以缩短延迟时间

image-20230214192805262

3、错位命名

  • 同交替编号一样,如果所有扇面的编号相同,(以图示为例)则系统读取完上一个盘面的7号块后,需要时间处理才能读取下一盘面的0号块,会增加延迟时间

image-20230214193115856

4、小结

image-20230214193137525

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode.1124 表现良好的最长时间段

题目链接 Leetcode.1124 表现良好的最长时间段 Rating : 1908 题目描述 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格…

argocd 调研

Argo CD 是基于 Kubernetes 的声明式, GitOps 持续交付工具。GitOps AgentGitOps IaC Git CI/CD,即基于 IaC 的版本化 CI/CD。它的核心是使用 Git 仓库来管理基础设施和应用的配置,并且以 Git 仓库作为基础设施和应用的单一事实来源。Git …

Windows 11 办公实用效率小技巧总结(持续更新)

Win11 办公实用效率小技巧总结:1. 虚拟桌面2. 拖拽任务窗口转移到不同虚拟桌面3. 自定义多网页名称4. Focus专注组件5. 多选项分屏6. 抖一抖最小化1. 虚拟桌面 虽然过去只有 Linux, Mac 系统中有虚拟桌面,而且在win10 中也实现了这个功能,但…

Springboot835学生成绩分析系统--java

开发语言:Java 框架:Springboot 技术:JSP JDK版本:JDK1.8 目 录 1 绪 论 5 1.1课题背景 5 1.2 课题研究的意义 5 1.3 系统实现的功能 5 1.4 课题研究现状 5 2系统相关技术 7 2.1 Java技术 7 2.2 B/S架构 7 2.3 MySQL 介绍 7 2.4My…

zabbix邮件报警配置

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。 邮件服务可以使用系统自带的邮件服务来发送邮件或者使用其他邮件服务调用第三方邮件来发送警告邮件。 一、开启发件服务器SMTP功能 这里发送邮件的…

初始C++(四):内联函数

文章目录一.内联函数概念二.内联函数用法三.内联函数的特性四.内联函数和宏一.内联函数概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。 二.内联函…

SpringBoot环境-MySQL主从复制,读写分离的实现

目录 概述 环境 主从复制 读写分离 概述 记录在MySQL数据库中主从复制以及SpringBoot环境操作MySQL数据库读写分离的实现步骤。 背景 :因为我们在对数据库进行操作时,如果读写操作都由一台数据库承担的话压力会比较大,为了减轻数据库压力&…

【Linux】rsyslog日志服务(配置,测试、日志转储)

一、rsyslog简介 Rsyslog的全称是 rocket-fast system for log ,可用于接受来自各种来源的输入,转换 它们,并将结果输出到不同的目的地。 它提供了高性能、强大的安全功能和模块化设计。虽然rsyslog最初是一个常规的系 统日志,但它已经发展成…

H5APP开发封装流程

1.利用H5写想要的功能 2.打包APP 3.手机安装 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-sca…

【基础】Flink -- Time and Window

Flink -- Time and WindowFlink 时间语义水位线 Watermark水位线的概念有序流中的水位线乱序流中的水位线水位线的特性水位线的基本使用水位线生成策略内置水位线生成器自定义水位线策略在自定义数据源中发送水位线窗口 Window窗口的基本概述窗口的基本概念窗口的分类窗口的 AP…

ccc-Backpropagation-李宏毅(7)

文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多&#xff0c;反向传播使用链式求导的方式提升计算梯度向量时的效率&#xff0c;链式法则如下&#xff1a; Backpropagation 损失函数计算为所有样本…

Pulsar

一、简介Apache Pulsar是Apache软件基金会顶级项目&#xff0c;是下一代云原生分布式消息流平台&#xff0c;集消息、存储、轻量化函数式计算为一体&#xff0c;采用计算与存储分离架构设计&#xff0c;支持多租户、持久化存储、多机房跨区域数据复制&#xff0c;具有强一致性、…

常见的函数式编程操作

1、柯里化&#xff1a; (概念 & 应用 & 好处) 柯里化的概念&#xff1a; 柯里化&#xff08;Currying&#xff09;是把接受多个参数的函数变成接受单一参数的函数&#xff0c;并且返回一个用于接受剩余参数的新函数&#xff0c;当参 数都传递完成后&#xff0c; 则立…

Linux 文件权限讲解

目录 文件的一般权限 一般权限有哪些 使用ls -l查看文件/目录权限 配置一般权限和文件所属信息 chmod 修改文件权限 chown 修改文件所属信息&#xff08;所有者和所属组&#xff09; 文件特殊权限 SUID 针对所有者的特殊权限 SGID SBID 配置特殊权限 文件的隐藏权限…

智能网联汽车ASIL安全等级如何划分

目录一、功能安全标准二、功能安全等级定义三、危险事件的确定四、ASIL安全等级五、危险分析和风险评定六、功能安全目标的分解一、功能安全标准 ISO 26262《道路车辆功能安全》脱胎于IEC 61508《电气/电子/可编程电子安全系统的功能安全》&#xff0c;主要定位在汽车行业&…

qt 配置open3d

一、配置前要先编程open3d二、开始配置新建txt 把txt 修改为 pri在pro 文件中添加 include(F:/xuwanlu/control.pri)重新构建项目然后回多出来pri在pri中添加open3d目录INCLUDEPATH F:\open3d\include\Open3D\3rdparty\GLFW\include \F:\open3d\include\Open3D\3rdparty\gle…

Golang 给视频添加背景音乐 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供给视频添加背景音乐&#xff0c;一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装&#xff0c;可以参考我的另一篇文章&#xff1a;windows ffmpeg安装部署_阿良的博客-CSDN博客 …

当你按下方向键,电视是如何寻找下一个焦点的

我工作的第一家公司主要做的是一个在智能电视上面运行的APP&#xff0c;其实就是一个安卓APP&#xff0c;也是混合开发的应用&#xff0c;里面很多页面是H5开发的。 电视我们都知道&#xff0c;是通过遥控器来操作的&#xff0c;没有鼠标也不能触屏&#xff0c;所以“点击”的…

ChatGPT已应用到跨境电商领域,规模化运营指日可待

最近各大平台都卷起了一股“ChatGPT”的热潮&#xff0c;论坛、贴吧、微博甚至短视频都对这个新兴的东西津津乐道&#xff0c;在这些评论区里我们可以发现&#xff0c;不管说什么职业&#xff0c;不管年龄性别&#xff0c;ChatGPT都开始被许多人关注。那么ChatGPT到底是个什么东…

大数据框架之Hadoop:HDFS(五)NameNode和SecondaryNameNode(面试开发重点)

5.1NN和2NN工作机制 5.1.1思考&#xff1a;NameNode中的元数据是存储在哪里的&#xff1f; 首先&#xff0c;我们做个假设&#xff0c;如果存储在NameNode节点的磁盘中&#xff0c;因为经常需要进行随机访问&#xff0c;还有响应客户请求&#xff0c;必然是效率过低。因此&am…