首页 > 编程语言 >计算机系统磁盘结构和磁盘调度算法

计算机系统磁盘结构和磁盘调度算法

时间:2022-10-07 19:04:00浏览次数:57  
标签:计算机系统 请求 盘面 磁道 调度 算法 磁头 磁盘

磁盘结构

  • 盘面(Platter):一个磁盘有多个盘面;
  • 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;
  • 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;
  • 磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面的磁场(写);
  • 制动手臂(Actuator arm):用于在磁道之间移动磁头;
  • 主轴(Spindle):使整个盘面转动。

请添加链接描述

磁盘调度算法

读写一个磁盘块的时间的影响因素有:

  • 旋转时间(主轴转动盘面,使得磁头移动到适当的扇区上)
  • 寻道时间(制动手臂移动,使得磁头移动到适当的磁道上)
  • 实际的数据传输时间

其中,寻道时间最长,因此磁盘调度的主要目标是使磁盘的平均寻道时间最短。

  1. 先来先服务 -------------

FCFS, First Come First Served

按照磁盘请求的顺序进行调度。

优点是公平和简单。缺点也很明显,因为未对寻道做任何优化,使平均寻道时间可能较长。

  1. 最短寻道时间优先 -------------------

SSTF, Shortest Seek Time First

优先调度与当前磁头所在磁道距离最近的磁道。

虽然平均寻道时间比较低,但是不够公平。如果新到达的磁道请求总是比一个在等待的磁道请求近,那么在等待的磁道请求会一直等待下去,也就是出现饥饿现象。具体来说,两端的磁道请求更容易出现饥饿现象。

请添加链接描述

  1. 电梯算法 -----------

SCAN

电梯总是保持一个方向运行,直到该方向没有请求为止,然后改变运行方向。

电梯算法(扫描算法)和电梯的运行过程类似,总是按一个方向来进行磁盘调度,直到该方向上没有未完成的磁盘请求,然后改变方向。

因为考虑了移动方向,因此所有的磁盘请求都会被满足,解决了 SSTF 的饥饿问题。

请添加链接描述

标签:计算机系统,请求,盘面,磁道,调度,算法,磁头,磁盘
From: https://blog.51cto.com/u_14068620/5734866

相关文章

  • 数据结构算法目录
    目录数据结构ConventionalAlgorithm数据结构线性表列表链表跳跃表[1]并查集栈与队列栈队列优先队列、堆多级反馈队列??Hash表碰撞解决......
  • 图算法
    目录回溯与DFS的区别回溯与DFS的区别回溯法可以到达经过的结点,可得路径总数DFS会删去已经到达过的节点,只能标记标记源的连通域BFS同,但BFS到达每个点的时刻即为最小路径......
  • 算法
    1.什么是算法是解决一个问题采取的方法和步骤。结论:同一个问题可能有多种不同的算法,不同的算法的工作量不一定相同。2.算法的特性1.有穷性:一个算法应该在一定步骤之后......
  • 分割发展历程 |谷歌最高等级的分割算法框架(文中有文章和源码下载地址)
    虽然已经开始春节假期,但是在学习群里,大家每天都是非常活跃的进行着学术邻域的探讨,今天2019年倒数第四天(中国年),这是一个寒冻收获的季节,在这个样的季节中,大家一定都有很大的动......
  • LeetCode回溯算法
    LetterCombinationsofaPhoneNumberLeetCode/力扣vector<string>letterCombinations(stringdigits){if(digits.length()==0)return{};map<char,str......
  • 目前最强性能的人脸检测算法(Wider Face Dataset)
           最强性能的人脸检测今天我们不说计算机视觉基础知识,接下来说说AAAI2019一篇比较新颖的Paper,其是中科院自动化所和京东AI研究院联合的结果,在WiderFace......
  • Python 冒泡排序,选择排序,归并排序, 希尔排序 算法 及测试
    使用代码实现冒泡排序,选择排序,归并排序,希尔排序4中算法完成下列任务。对1~100000序列打乱顺序,使用上述4种排序算法进行排序。每种算法排序重复100次排序过程中记录......
  • 【复习笔记】tarjan算法
    写点东西好复习,主要是tarjan这个东西学了容易忘,忘了也不难捡起来,但捡起来了又容易忘。tarjan的前置知识dfs树就暂且咕咕了,因为这东西没什么模板,变化挺多的,估计是写不完。......
  • 我整理了50道经典Java算法题,直接进了字节跳动!!
    写在前面最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高。于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能......
  • Java 面试题 10 - 海量数据处理算法
    大数据处理中的分治思想哈希映射:如果数据太大,不能全部放入内存中,就可以利用映射函数将每条数据映射到一个小文件中,例如%1000可以将大文件映射成1000个小文件。相同的......