欢迎访问我们的Linux内核之旅:http://www.kerneltravel.net/
网站及本博客中的文章,允许在不改变内容的前提下对其以任何形式复制和重新刊登,但必须 附有版权信息,并声明出处。
块设备输入输出解读(二)—块设备的剖析
上一篇 /
下一篇 2008-01-02 11:20:03
/ 个人分类:释义Linux内核
查看( 1305 ) /
评论( 0 )
块设备中最小的可寻址单元是扇区。扇区大小一般是2的整数倍,而最常见的大小是512个字节。扇区的大小是设备的物理属性,扇区是所有块设备的基本单元—块设备无法对比它还小的单元进行寻址和操作,不过许多块设备能够一次就传输多个扇区。虽然大多数块设备的扇区大小都是512字节,不过其他大小的扇区也很常见(比如,很多CD-ROM盘的扇区都是2K大小)。
虽然各种软件的用途不同,但是它们都会用到自己的最小逻辑可寻址单元—块。块是文件系统的一种抽象—只能基于块来访问文件系统。虽然物理磁盘寻址是按照扇区级进行的,但是内核执行的所有磁盘操作都是按照块进行的。由于扇区是设备的最小可寻址单元,所以块不能比扇区还小,只能数倍于扇区大小。另外内核(对有扇区的硬件设备)还要求块大小是2的整数倍,而且不能超过一个页的长度[。所以,对块大小的最终要求是,必须是扇区大小的2的整数倍,并且要小于页面大小。所以通常块大小是512字节,1K或4K。
扇区和块还有一些不同的叫法,为了不引起混淆,我们在这里简要介绍一下它们的其他名称。扇区—设备的最小寻址单元,有时会被称作“硬扇区”或“设备块”;同样地,块—文件系统的最小寻址单元,有时会被称作“文件块”或“I/O块”。在这里,会一直使用“扇区”和“块”这两个术语,但你还是应该记住它们的这些别名。
和硬盘相关的其他常见术语还有—簇,柱面,磁头等。这些术语都和具体的块设备相关,一般情况下,用户空间的软件用不到这些概念。扇区对内核的重要性在于所有设备的I/O操作都必须基于扇区来进行;反过来,块是内核使用的较高层概念,它是比扇区高一层的抽象。
论坛模式
推荐
收藏
分享给好友
管理
TAG: