文章目录

  • C2 磁盘驱动器
    • 2.1 接口
    • 2.2 基本几何形状
    • 2.3 简单的磁盘驱动器
      • (1) 单磁道延迟:旋转延迟
      • (2) 多磁道:寻道时间
      • (3) 一些其它细节
    • 2.4 I/O时间
    • 2.5 磁盘调度
      • (1) SSTF:最短寻道时间优先
      • (2) SCAN:跨越磁道顺序
      • (3) SPTF:最短定位时间优先

C2 磁盘驱动器

磁盘驱动器(Hard Disk Driver)又称“磁盘机”,是以磁盘作为记录信息媒体的存储装置

磁盘驱动器既能将存储在磁盘上的信息读进内存中,又能将内存中的信息写到磁盘上,因此,就认为它既是输入设备,又是输出设备

磁盘驱动器由磁头、磁盘、读写电路及机械伺服装置等组成,用来驱动磁盘稳速旋转,并控制磁头在盘面磁层上按一定的记录格式和编码方式记录和读取信息

2.1 接口

现代磁盘驱动器的接口都很简单,磁盘驱动器由大量扇区(512字节)组成,每个扇区都可以读取或写入,在具有n个扇区的磁盘上,扇区从0到n-1编号,因此可以将磁盘视为一组扇区,从0到n-1是驱动器的地址空间

通常可以假设访问驱动器地址空间内两个彼此靠近的块比访问两个相隔很远的块更快,也可以假设访问连续块,是最快的访问模式,并且通常比任何随机的访问模式快得多

2.2 基本几何形状


从一个盘片开始,它是一个圆形坚硬的表面,通过引入磁性变化来永久存储数据,磁盘可能有一个或多个盘片,每个盘片都有两面,每面都称为表面,这些盘片由一些硬质材料(如铝)制成,然后涂上薄薄的磁性层,即使驱动器断电,驱动器也能持久存储数据

所有的盘片都围绕主轴连接在一起,主轴连接到一个电机,以一个恒定的速度旋转盘片,旋转速率通常以每分钟转数 PRM来测量,10000PRM旋转的驱动器一次旋转需要大约6ms

数据在扇区的同心圆中的每个表面上被编码,称这样的同心圆为一个磁道,一个表面包含数以千计的磁道,紧密的排列在一起

要从表面进行读写操作,需要由磁头完成,驱动器的每个表面上有一个这样的磁头,磁头连接到单个磁盘臂上,磁盘臂在表面上移动,将磁头定位在期望的磁道上

2.3 简单的磁盘驱动器

现在假设有一个单一磁道的简单磁盘:

该磁道只有12个扇区,每个扇区大小为512字节,用0-11表示这些扇区,这里的单个盘片围绕主轴旋转,电机连接到主轴,为了能读取或写入这些扇区,因此需要一个连接到磁盘臂上的磁头,磁盘表面逆时针旋转

(1) 单磁道延迟:旋转延迟


现在加入收到了读取块0的请求,磁盘必须等待期望的扇区旋转到磁头下,这种等待在现代驱动器中经常发生,并且是I/O服务时间的重要组成部分,它有一个特殊的名称:旋转延迟

如果完整的旋转延迟是R(磁盘旋转一周的时间),此时磁头在块9处,盘片逆时针旋转,磁头等待到块0大约需要R/2的时间,以待块0旋转到磁头下面进行读写,最坏的情况是请求读写扇区5,这导致等待的时间接近完整的R

(2) 多磁道:寻道时间

单磁道是不现实的,现代磁盘有数以百万计的磁道,来看一个具有3条磁道的盘片表面:

现在追踪请求发生在远处扇区的情况,例如读取扇区11,此时磁头处于扇区30,在最内层的磁道,为了服务这个请求,驱动器首先将磁盘臂移动到正确的磁道,通过一个寻道过程寻道和旋转是最昂贵的磁盘操作之一

通过寻道过程,磁头被定位到了正确的磁道,接下来等待块11旋转经过磁头,当扇区11经过磁头时,I/O的最后阶段将发生,称为传输,数据从表面读取或写入表面

完整的I/O时间轨迹:寻道->等待转动延迟->传输

(3) 一些其它细节

1,外圈磁道通常比内圈磁道具有更多扇区,这是几何结构的结果,外圈磁道的空间更大
2,任何现代磁盘驱动器都有一个重要组成部分,即它的缓存,该缓存只是很少的内存,驱动器可以用这些内存来保存磁盘读取或写入磁盘的数据,

2.4 I/O时间

有了这个简单的模型,可以通过数学来估算磁盘的I/O时间

I/O时间T
T = T寻道 + T旋转 + T传输I/O速率R
R = 传输大小 / T

假设有两个工作负载,一个称为随机工作负载,它向磁盘上的随机位置发出小的读取请求,随机工作负载在许多重要的程序中很常见,包括数据库,第二种称为顺序工作负载,只是从磁盘连续读取大量的扇区,不会跳过,顺序访问也很常见

现在对希捷的一个高性能磁盘和一个大容量磁盘来估计这两个工作负载:

1,随机工作负载:
假设容量为4kb,在Cheetah上

T寻道 = 4ms //采用数据中的平均寻道时间
T旋转 = 2ms  //PRM=15000,则每次旋转需要4ms,半圈平均为2ms
T传输 = 30μs //传输大小除以最大传输速率
Cheetah的T = T寻道 + T旋转 + T传输 = 6ms
Cheetah的R = 4kb / T = 0.66MB/s

在Barracuda上

Barracuda的T = T寻道 + T旋转 + T传输 = 13.2ms
Barracuda的R = 4kb / T = 0.31MB/s

2,顺序工作负载:
假设容量为100MB,在Cheetah上

Cheetah的T = T寻道 + T旋转 + T传输 = 800ms
Cheetah的R = 100MB / T = 125MB/s

在Barracuda上

Barracuda的T = T寻道 + T旋转 + T传输 = 950ms
Barracuda的R = 100MB / T = 105MB/s

随机和顺序工作负载之间的驱动性能很大,对于Cheetah来说几乎是200倍左右,对于对于Barracuda来说差不多是300倍

2.5 磁盘调度

由于I/O的高成本,操作系统决定发送给I磁盘的I/O顺序方面发挥作用,即给定一组I/O请求,磁盘调度程序检查请求并决定下一个要调度的请求

与任务调度不同,每个任务的长度通常是不知道的,对于磁盘调度,可以很好的检测每个任务I/O请求的时间,通过估计请求的查找和可能的旋转延迟,磁盘调度程序可以知道每个请求会花费多长时间,因此将优先服务花费时间少的请求,因此磁盘调度程序对于一组I/O请求将尝试遵循SJF(最短任务优先)原则

(1) SSTF:最短寻道时间优先

一种早期的调度方法被称为SSTF shortest seek time first,即最短寻道时间优先SSTF按磁道对I/O请求队列排序,选择在最近磁道上的请求先完成

假设磁头在处于30扇区,现在的请求有21和2,根据SSTF,那么就会率先完成对21的请求,待扇区21的读写完成后,再处理对扇区2的请求

但是SSTF也存在一些缺陷:
1,操作系统并不知道驱动器的几何结构,在操作系统眼里整个驱动器只是一系列的块,采用SSTF并不能满足现代驱动器
2,饥饿,如果采用了SSTF,现在对邻近磁道上的块一直有请求,那么距离远的块的请求,就无法得到服务

(2) SCAN:跨越磁道顺序

为了解决饥饿,有一种算法称为SCAN,简单地以跨越磁道顺序来服务磁盘请求,将一次跨越磁盘称为扫一遍,如果请求的块所属的磁道在这次扫一遍中已经服务过了那么它就不会立刻处理,而是排队等待下次扫一遍

SCAN虽然能避免饥饿,但并没有严格遵循SJF原则,它忽视了旋转

(3) SPTF:最短定位时间优先

SPTF shortest positioning time first,即最短定位时间优先,现代驱动器中,寻道和旋转大致相当,使用SPTF能提高性能

《操作系统导论》第四部分 持久性 P2 磁盘驱动器相关推荐

  1. 操作系统导论第四章课后习题

  2. 操作系统导论期末复习

    操作系统导论期末复习 操作系统介绍 什么是操作系统:操作系统是管理计算机硬件与软件资源的计算机程序,提供其他程序和硬件之间的接口,对需求进行管理,对资源进行分配,对用户提供服务,是计算机中软件和硬件的 ...

  3. 豆瓣评分 9.7,等了好久的《操作系统导论》Operating Systems 终于来了

    豆瓣评分9.7,等了好久的<操作系统导论>(Operating Systems:Three Easy Pieces)终于出版啦. 本书作者是美国威斯康星大学计算机系教授(夫妇),美国计算机 ...

  4. 两万字笔记快速看完《操作系统导论(Operating Systems: Three Easy Pieces)》

    操作系统导论(Operating Systems: Three Easy Pieces)笔记 目录 操作系统导论(Operating Systems: Three Easy Pieces)笔记 0 内 ...

  5. 《操作系统导论》笔记

    转自:https://blog.csdn.net/O_1CxH/article/details/111712808 目录 操作系统导论(Operating Systems: Three Easy Pi ...

  6. 操作系统导论-虚拟化

    根据操作系统导论(OSTEP)记录的笔记. 目录 CPU虚拟化 一.进程与进程API 二.进程执行 三.进程调度 内存虚拟化 一.内存API 二.地址空间 三.地址转换机制 四.分段 五.空闲空间管理 ...

  7. 计算机操作系统(第四版)

    计算机操作系统(第四版) 引论 目标:方便性,有效性,可扩展性,开放性 作用 用户与计算机硬件系统之间的接口 计算机系统资源的管理者 对计算机资源的抽象 发展动力 不断提高计算机资源利用率 方便用户 ...

  8. 【操作系统】—操作系统的四个特征

    [操作系统]-操作系统的四个特征 本章节的思维导图如下 一.操作系统的特征-并发 并发:是指两个或者多个事件在同一时间间隔内发生.这些事件宏观上是同时发生的,但是微观上是交替发生的. 并行:指两个或者 ...

  9. 全面剖析《自己动手写操作系统》第四章---加载Loader.bin

    全面剖析<自己动手写操作系统>第四章--FAT12文件系统    http://blog.csdn.net/zgh1988/article/details/7284834 1.突破512字 ...

  10. 操作系统(第四版)期末复习总结(上)

    很多小伙伴私信要word下载,我就整理出来了一份pdf,是和线上的完全一样,建议大家看线上的,因为pdf下载需要收费,但是下载有好处就是可以打印出来复习,各位伙伴自行选择吧.现在这里给出pdf完整下载 ...

最新文章

  1. socket编程和并发服务器
  2. RocketMQ 实战 集群监控平台搭建
  3. dnf拍卖行计算机在线,DNF助手拍卖行在哪里 拍卖行物价实时查询
  4. 带你学python基础:元祖tuple和字典dictionary
  5. 后端技术:IDEA构建maven项目生成的文件详解
  6. 如何通过命令终端访问本地/局域网/远程的MySQL数据库_访问数据库_连接数据库_登录数据库
  7. CANOpen数据存档文件
  8. 艾媒2018年度手机输入法报告出炉:百度输入法是语音识别最准的输入法
  9. 浅谈软件开发的四大要素
  10. bootdo项目war包部署流程
  11. 基于eNSP的千人规模冗余型企业/校园网络设计与规划(可以自己按步骤实现)
  12. 董树义 近代微波测量技术_论文发表 | 基于微波雷达的1200米大跨悬索桥多点变形同步测量...
  13. Maven使用本地jar包(三种方式)
  14. 车机安卓+linux成本,你的车机为什么比千元安卓机还难用?
  15. 小众但口碑好的便签软件
  16. JTAG、SBW、BSL 三种接口的区别
  17. 删除在计算机的没用东西,怎么删除电脑中没用的东西?
  18. 数字图像处理成长之路13:SIFT之极值点(子像元插值)
  19. Redis使用说明书(Windows)
  20. java正则校验qq邮箱_检测邮箱是否是QQ邮箱并给出提示_正则实例

热门文章

  1. 弃用Windows,拥抱Linux- Manjaro
  2. HSSFWorkbook 和使用Java Excel操作Excel文件
  3. 【开发效率】这篇文章可以提高你的开发效率「值得收藏」
  4. Android--原生API搭建Android Http服务器
  5. 为什么埃洛普未能当选微软新 CEO?
  6. 业余爱好-自动化股票量化交易
  7. 越是与大数据打交道,越是对人性保有敬畏之心
  8. 【融职培训】Web前端学习 第3章 JavaScript基础教程19 原始类型
  9. 网易新财报:游戏稳、有道进、云音乐正爬坡
  10. python与自然语言处理-读书笔记3