1.磁盘结构
对于管理磁盘,分磁盘面、磁头、磁道、柱面和扇区。
磁盘面:磁盘是由一叠磁盘面组成,见下左图。
磁头(Heads):每个磁头对应一个磁盘面,负责该磁盘面上的数据的读写。
磁道(Track):每个盘面会围绕圆心划分出多个同心圆圈,每个圆圈叫做一个磁道。
柱面(Cylinders):所有盘片上的同一位置的磁道组成的立体叫做一个柱面。
扇区(Sector):以磁道为单位管理磁盘仍然太大,所以计算机前辈们又把每个磁道划分出了多个扇区,见下图:
磁盘面:磁盘是由一叠磁盘面组成,见下左图。
磁头(Heads):每个磁头对应一个磁盘面,负责该磁盘面上的数据的读写。
磁道(Track):每个盘面会围绕圆心划分出多个同心圆圈,每个圆圈叫做一个磁道。
柱面(Cylinders):所有盘片上的同一位置的磁道组成的立体叫做一个柱面。
扇区(Sector):以磁道为单位管理磁盘仍然太大,所以计算机前辈们又把每个磁道划分出了多个扇区,见下图:
2. 磁盘IO的过程
第一步,首先是磁头径向移动来寻找数据所在的磁道。这部分时间叫寻道时间。
第二步,找到目标磁道后通过盘面旋转,将目标扇区移动到磁头的正下方。
第三步,向目标扇区读取或者写入数据。到此为止,一次磁盘IO完成。
故:单次磁盘IO时间 = 寻道时间 + 旋转延迟 + 存取时间。
比如: 对于旋转延时,假如服务器上经常使用的是1W转/分钟的磁盘,每旋转一周所需的时间为60*1000/10000=6ms,故其旋转延迟为(0-6ms)。对于存取时间,一般耗时较短,为零点几ms。对于寻道时间,现代磁盘大概在3-15ms,其中寻道时间大小主要受磁头当前所在位置和目标磁道所在位置相对距离的影响。操作系统通过按磁道对应的柱面划分分区,来降低磁盘IO所花费的的寻道时间 ,进而提高磁盘的读写性能。