- 积分
- -17
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2017-10-31
- 精华
|
2#
发表于 2018-5-11 20:39:37
|
只看该作者
来自: LAN 来自 LAN
磁盘结构介绍
磁盘结构简介
再来看下访问时间,主要有三个部分:
1. 寻道时间,为读取某个目标扇区的内容,传动臂首先将磁头定位到包含目标扇区的磁道上,这个过程花费的时间即为寻道时间。平均值 3 ~ 9 ms,最大可至 20 ms。
2. 旋转延迟,磁头定位到目标磁道后,驱动器等待目标扇区的第一个位旋转到磁头下,这个过程如果是 5400 转的磁盘,平均大概为 5 ms。
3. 传送时间,当目标扇区的第一个位位于磁头下,到访问完所有数据花费的时间,如果数据量为一个扇区的容量,这个时间取决于旋转速度和每个磁道的扇区数目(密度),假定每个磁道平均扇区数目为 400,那么这个时间大概为 0.03 ms。
综上,如果读取一个扇区的数据,那么平均用时大概为 9 + 5 + 0.03 = 14.03 ms。主要时间是 寻道时间 和 旋转延迟,而实际访问几乎不用时间。
这也是为什么连续读取速度很快,就是因为这个『连续』,这一次读取过程中,可以简单的理解为寻道和旋转延迟只有一次(不严谨),大部分时间都花费在实际传送上。简单计算下,如果只有传送时间,5400 转,每扇区 512 字节,每个磁道 400 个扇区,那么每秒可以传送 5400 RPM / 60 sec * 400 * 512 = 18,432,000 B / s = 17 MB / s。现在的磁盘,实际的实现复杂,比如每个磁道拥有的扇区数目不一致,不过一般而言,可以简单认为各个参数比上述的值要高很多(比如扇区数目 / 比如扇区容量),达到 100 + MB 也是可以的。不过整体原理没变,寻道时间和旋转延迟总是存在的,当大量的读取小文件的时候,也就是不是『顺序』读取,每次读取寻道时间和旋转延迟都要再来一遍,假设每个小文件每个 1 K,平均也就能到 1000 ms / 14 ms * 1 K = 70 KB / s(按上述 100 / 17 的倍数,也就是 420 KB / s,和你测试值相近),文件再小一点,速度还可以进一步下降。
推荐阅读
深入理解计算机系统(原书第2版) (豆瓣) 第六章 存储器层次结构 |
|