码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘的IO单位

时间:2017-10-26 15:41:33      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:磁盘io

对于磁盘来说,一次磁盘的连续读或者连续写叫做一次IO。

计算机各个层次上的“一次IO”

  1. 应用程序向操作系统请求:“读取/etc/passwd到我的缓冲区”,操作系统读取后返回应用程序一个信号,这次IO就完成了,这就是应用程序做的一次IO

  2. 文件系统向磁盘控制器驱动程序请求:“读取LBA10000 开始后的128个扇区”,然后“读取LBA50000 开始的后64扇区”,这就是文件系统向下做的两次IO,假设对应了第一步里那个应用程序的请求。

  3. 磁盘控制器驱动程序用信号来驱动磁盘控制器向磁盘发送SCSI指令和数据,对于SCSI协议来说,完成一次连续LBA地址扇区的读写就算一次IO,但是为了完成这次读或者写,可能需要发送若干条SCSI指令帧,从最底层来看,每次向磁盘发送一个SCSI帧,就算一次IO,这也是最细粒度的IO。但是通常说磁盘IO都是指完成整个一次SCSI读或者写

  4. 如果在文件系统和磁盘之间再插入一层卷管理器,或在磁盘控制器和磁盘之间再插入一层RAID虚拟化层,那么上层的一层IO就往往会演变成下层的多次IO

  5. 对于磁盘来说,每次IO就是指一次SCSI指令交互回合,一个回合中可能包含了若干SCSI指令,而这一个回合里却只能完成一次IO,比如“读取从LBA10000开始的后128个扇区”

本文出自 “菜鸟学习笔记” 博客,请务必保留此出处http://bohel.blog.51cto.com/6218546/1976289

磁盘的IO单位

标签:磁盘io

原文地址:http://bohel.blog.51cto.com/6218546/1976289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!