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

磁盘的移臂调度算法

1、概要

        访问磁盘,首先要找到数据,但机械硬盘并不是直接电子读取,是需要移动磁头到相应的数据块上才能读取的,即需要磁头移动到目标柱面(磁道),然后磁片旋转使磁头能访问到相应扇区,进而读取到数据。

        根据访问者指定的柱面位置(磁道)来决定执行次序的调度称为移臂调度。目的就是尽可能减少寻道时间。

2、算法

        常用的算法有:先来先服务、最短寻找时间优先、电梯调度、单向扫描。

        为了说明算法的移动柱面顺序,这里先假设磁盘有99个柱面,0在最外侧,99在最内侧。 进程访问顺序是  10,20,5,90,60。当前磁头在15柱面,方向是从外往内走。

        2.1 先来先服务

        该算法根据进程访问磁盘先后次序进行调度。基本没啥优化,效率最低。

        上面磁头访问顺序为:15,10,20,5,90,60,可以看出磁头在内外圈往返很多次,效率极低。假设跨越一个柱面距离为1,则移动距离为:|15-10|+|10-20|+|20-5|+|5-90|+|90-60| = 5+10+15+85+30 = 145。

        2.2 最短寻找时间优先

        也叫“最短移臂调度算法”。该算法每次访问当前磁头最近的柱面。优点是平均每次磁头移动距离明显低于先来先服务,过去曾被广泛使用。

        上面磁头访问顺序为:15,10,5,20,60,90。移动距离为:|15-10|+|10-5|+|5-20|+|20-60|+|60-90| = 5+5+15+40+30 = 95。

        2.3 电梯调度

        从当前臂移动方向选择离臂最近的柱面访问,直到当前方向没有需要访问的柱面,然后臂改变方向再选择离臂最近的柱面访问,直到所有柱面访问结束。(若磁头一开始无方向,是静止的,则找最近的柱面移动)

        上面磁头访问顺序为:15,20,60,90,10,5,移动距离为:|15-20|+|20-60|+|60-90|+|90-10|+|10-5| = 5+40+30+80+5 = 160。

        可以看出,电梯调度有些问题,方向不对最后走的距离比先来先服务还多!若能稍微分析下两个方向各柱面到当前柱面的最大距离,再决定先走最大距离小的方向会好很多。

        2.4 单向扫描

        总是从外向里开始扫描。只有从外向内扫描的时候才访问柱面,最内层快速返回最外层的0号磁道时不访问柱面。

        上面磁头访问顺序为:15,20,60,90,(0),5,10,其中90到0是不需要计入时间,因为这个跨越柱面不用访问柱面,时间非常短。移动距离为:|15-20|+|20-60|+|60-90|+|0-5|+|5-10| = 5+40+30+5+5 = 85。

        可以看出单向扫扫描最长只需花费单程磁盘柱面数量的长度的时间就可以访问所有柱面。当然,这个时间排除了最内层跳转到最外层0道的时间。

相关文章:

磁盘的移臂调度算法

1、概要 访问磁盘,首先要找到数据,但机械硬盘并不是直接电子读取,是需要移动磁头到相应的数据块上才能读取的,即需要磁头移动到目标柱面(磁道),然后磁片旋转使磁头能访问到相应扇区,进而读取到数据。 根据访…...

软考第六章 网络互连与互联网

网络互连与互联网 1.网络互连设备 组成因特网的各个网络叫做子网,用于连接子网的设备叫做中间系统。它的主要作用是协调各个网络的工作,使得跨网络的通信得以实现。 网络互连设备可以根据它们工作的协议层进行分类: 中继器:工…...

C6678-缓存和内存

C6678-缓存和内存 全局内存映射扩展内存控制器(XMC)-MPAX内存保护与地址扩展使用例程缓存 全局内存映射 扩展内存控制器(XMC)-MPAX内存保护与地址扩展 每个C66x核心都具有相同大小的L1和L2缓存,并且可配置为普通内存使…...

实操| 前端新人无敲代码开发APP

作为一种大型的基于GPT-3. 5结构的语言模型,ChatGPT由OpenAI训练,采用深度学习技术,通过大量的文本数据学习,可以生成类似于人类自然语言的文字。ChatGPT是一种非常强大的对话引擎,能进行对话、回答问题和完成任务。Ch…...

OpenCV图像处理之傅里叶变换

文章目录 OpenCV图像处理之傅里叶变换图像处理之傅里叶变换流程图OpenCv图像处理之傅里叶变换OpenCv傅里叶变换之低通滤波OpenCv傅里叶变换之高通滤波 OpenCV图像处理之傅里叶变换 傅里叶变换:目的就是得到图像的低频和高频,然后针对低频和高频进行不同…...

Docker网络案例

bridge 是什么 Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机…...

Java实验课的学习笔记(二)类的简单使用

本文章就讲的是很基础的类的使用 重点大概就是类的构造函数以及一些很基础的东西。 实验内容是些老生常谈的东西,Complex类,在当初学C面向对象的时候也是这个样子展开的。 内容如以下: public class Complex {float real;float imag;public…...

实战案例|聚焦攻击面管理,腾讯安全威胁情报守护头部券商资产安全

金融“活水”润泽千行百业,对金融客户来说,由于业务场景存在特殊性和复杂性,网络安全必然是一场“持久战”。如何在事前做好安全部署,构建威胁情报分析的防护体系至为重要,实现更为精准、高效的动态防御。 客户名片 …...

c++算法初级8——递推

c算法初级8——递推 文章目录 c算法初级8——递推递推递推思想的运用错位排序杨辉三角(二维递推) 递推 递推思想: 根据已有的东西一点点地推出未知的东西。 使用递推解题三步骤: 数学建模找出递推式和初始条件写出代码。 张爽…...

Java后端面试题 重难点和被问到没答上来的点(包括java基础、关系型数据库、Redis、计算机网络、Spring、Java多线程、vue等)

以下是我记录的一些重点问题和面试中被问到没答上来的问题,包括java基础、关系型数据库、Redis、计算机网络、Spring、Java多线程、vue 问题目录 1.fail-safe和fail-fast2.四引用3.explain字段重要内容4.maven三大生命周期5.MYSQL 创建修改表6.数据库三范式7.Strin…...

易观千帆 | 2023年3月银行APP月活跃用户规模盘点

易观:2023年3月手机银行服务应用活跃人数53289.05万,环比增长2.15%,同比增长8.87%。 2023年3月信用卡服务应用活跃人数10800.71万,环比增长1.87%,同比增长18.64%。 2023年3月城商行手机银行服务应用活跃人数3827.43万&…...

[Android+JetPack] (Java实现) Retrofit2+RxJava3+Paging3+RecyclerView 实现加载网络数据例子 记录

文章目录 前言参考链接依赖库及版本Demo效果接口及数据展示各项模块Retrofit2Bean,对应上面的接口返回.Service API部分 Paging3PagingSource以及 RxPagingSourcePagingDataAdapter 适配器ViewModelPublicInfoPage /Activity 最后 前言 继续安卓学习之旅,本章的主要目标是: 1.完…...

Java 解析配置文件注入到配置类属性中供全局使用【开发记录】

1、背景:假设目前有两个接口,一个是查询快递订单状态的JSF接口,一个是查询快运订单状态的JSF接口,现有一个需求,要将这两个接口统一为一个入口,发布到物流开放平台供外界调用。 注意:以下代码均…...

【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作

💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客:Zeeland📚 Github主页: Undertone0809 (Zeeland) (github.com)&…...

Python入门教程+项目实战-9.3节: 字符串的操作方法

目录 9.3.1 字符串常用操作方法 9.3.2 获取字符串长度 9.3.3 字符串的大小写操作 9.3.4 删除字符串中的空白字符 9.3.5 字符串的子串查找 9.3.6 字符串的子串统计 9.3.7 字符串的子串替换 9.3.8 字符串的拆分函数 9.3.9 字符串的前缀与后缀9.3.10 知识要点 9.3.11 系…...

ENVI 5.6软件安装教程

软件下载 [软件名称]:ENVI 5.6 [软件大小]:3.25G [安装环境]:Win7~Win11或更高 软件介绍 ENVI 5.6是一款实现遥感图像处理的工具,已经广泛应用于科研、环境保护、气象、石油矿产勘探、农业、林业、医学、地球科学、公用设施管…...

在Windbg中设置断点追踪打开C++程序远程调试开关的模块

目录 1、Windbg动态调试 2、在Windbg中设置断点 2.1、在函数入口处设置断点 2.2、在函数内部某一行上设置断点 3、设置断点跟踪对打开远程调试开关接口的调用 3.1、编写演示代码 3.2、在Windbg中设置调用SetRemoteDebugOn接口的断点进行跟踪 4、最后 VC常用功能开发汇总…...

CRM客户管理软件开发功能有哪些?

互联网技术的不断提高使得企业管理方式也发生了变化,企业CRM系统应用市场逐渐扩大,相关软件开发也引起越来越多商家企业的关注。因为企业CRM系统软件开发能够根据企业需求制作,帮助企业更好的追踪管理客户信息,实时更新并进行相关…...

C++函数式魔法之旅(Journey of Functional Magic)

C函数式魔法之旅(Journey of Functional Magic) 一、引言(Introduction)C Functional模板库简介(Overview of C Functional Template Library)Functional模板库的重要性和作用(The Importance a…...

Vue基础入门(上)

<script src"https://unpkg.com/vuenext"></script> 从面向dom编程到面向数据编程 输入显示列表 const appVue.createApp({data(){return{inputValue:,list:[]}},methods:{handleAddItem(){this.list.push(this.inputValue);this.inputValue;}},templ…...

基于ESP8266与TFT屏的桌面智能天气站DIY全攻略

1. 项目概述&#xff1a;打造一个桌面级的智能天气信息中心 几年前&#xff0c;当我第一次把玩ESP8266这块小芯片时&#xff0c;就被它“麻雀虽小&#xff0c;五脏俱全”的特性震撼了——一个比硬币大不了多少的模块&#xff0c;竟然内置了完整的Wi-Fi协议栈和可编程的微控制器…...

Thanos剪枝算法:高效压缩大型语言模型的技术解析

1. 项目概述&#xff1a;Thanos剪枝算法解析在深度学习领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;的参数量已突破千亿级别&#xff0c;这对计算资源和内存提出了极高要求。模型剪枝技术通过移除神经网络中的冗余连接&#xff0c;能在保持模型性能的同时显著降低…...

【亲测免费】 罗氏线圈与积分器介绍

罗氏线圈与积分器介绍 【下载地址】罗氏线圈与积分器介绍 罗氏线圈与积分器介绍 项目地址: https://gitcode.com/open-source-toolkit/e480d 资源文件概述 本资源文件详细介绍了罗氏线圈及其相关积分器的原理、制作工艺以及工业应用。内容涵盖了罗氏线圈的基本概念、刚…...

选择智能体框架:LangChain、AutoGen、CrewAI、Dify对比

去年秋天&#xff0c;我们团队准备上一个新项目&#xff0c;一个可以为客户自动生成月度运营分析报告的智能体。需求不复杂&#xff0c;就是每周从数据库里拉点数据&#xff0c;跑一下趋势分析&#xff0c;最后产出一个带图表和结论的PDF。 我那时候刚花了三个月时间把LangCha…...

Spring AI + Ollama 深度实战:从 RAG 问答到 Graph Agent 全流程指南

场景 Spring AI RAG 检索增强生成&#xff1a;概念、实战与完整代码&#xff1a; https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/161055108 基于上面的基础&#xff0c;实现Graph工作流编排的简单示例。 大语言模型&#xff08;LLM&#xff09;在实际应用中面…...

Spring Boot条件装配原理

Spring Boot条件装配原理 引言 条件装配是Spring Boot自动配置的核心机制&#xff0c;通过Conditional及其派生注解&#xff0c;Spring能够根据当前环境、classpath、配置属性等因素智能地决定是否创建某个Bean。本文将深入剖析条件装配的实现原理、各种条件注解的使用方法以及…...

Seraphine英雄联盟战绩查询工具终极指南:智能排位助手完全教程

Seraphine英雄联盟战绩查询工具终极指南&#xff1a;智能排位助手完全教程 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否在英雄联盟排位赛中经常因为BP阶段手忙脚乱而错失先机&#xff1f;是否希望快…...

推荐靠谱多模型聚合平台生产厂家,技术扎实服务贴心有保障

随着AI大模型应用场景不断拓展&#xff0c;企业对多模型聚合平台的需求持续攀升。行业报告显示&#xff0c;近一年国内企业采购多模型聚合服务的订单量同比增长超60%&#xff0c;如何选择技术扎实、服务贴心的平台生产厂家&#xff0c;成为企业数字化转型的关键决策。一、技术实…...

基于瞬态三角哈里斯鹰算法TTHHO实现多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

如何用VR-Reversal将3D VR视频高效转换为普通2D格式:完整实用指南

如何用VR-Reversal将3D VR视频高效转换为普通2D格式&#xff1a;完整实用指南 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcod…...