扇区、块/簇、page之间它们到底是什么关系,扇区

描述

(文章来源:职场办公软件操作技巧)
       对于块/簇概念的理解,我们可以归结为一点:磁盘块/簇是虚拟出来的。块是操作系统中最小的逻辑存储单位,操作系统与磁盘打交道的最小单位是磁盘块。簇和块是一个相对概念,通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。

磁盘块存在的意义就是方便操作系统读取。传统意义上,由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。看似懂了,但还是懵逼,好不容易理解了扇区的概念(扇区是磁盘的最小组成单元),又出来了块/簇,看了概念但还是似懂非懂。

多次查找相关资料后,找到“wangtaotao”这位网友的一篇文章,从他个人的角度理解了扇区、块/簇,写得比较通俗易懂,摘录到这里,大家一同学习学习。

磁盘块是个虚拟出来的概念,是操作系统中的。操作系统为什么要虚拟个这样的概念出来呢?操作系统与磁盘打交道的最小单位是磁盘块。操作系统操作磁盘,也需要通过磁盘驱动器进行。所以离不开扇区的。最小单位,好比我们生活中约定最小单位是一毛。扇区是真实的东西。磁盘驱动器操作磁盘数据,每次都按照扇为最小单位操作。簇也是操作系统弄出来的概念。读写基本单位是扇区。磁盘驱动器是按照这个单位操作磁盘数据的。又没特意指明操作系统读写磁盘的基本单位。文件系统就是操作系统的一部分,所以文件系统操作文件的最小单位是块。

块,听这个词语会明白,是抽象概念。真的有块形状的东西吗?是因为我们老喜欢叫磁盘块,磁盘块,这个块让我们以为磁盘的基本单位是块。当我们说块的时候,是从软件角度(即操作系统)来说的。因为我们编程大部分是在特定的操作系统上运行,与硬件打交道不用我们关注,交给操作系统去处理。本来操作系统的一个任务之一就是与硬件通信,控制各种硬件,由于操作系统以块为单位操作磁盘,于是,我们不会去提扇区,而是总说磁盘块。既然磁盘块是一个虚拟概念。是操作系统自己"杜撰"的。软件的概念,不是真实的。

所以大小由操作系统决定,操作系统可以配置一个块多大。一个块大小=一个扇区大小*2的n次方。N是可以修改的。顿时我思考:为什么磁盘块大小必须是扇区大小的整数倍呢?因为,磁盘驱动器,磁盘附带的硬件设备,与磁盘读写数据,操作系统也要靠它。它读取磁盘数据就是扇区的大小。一个扇区是512字节。

操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。扇区: 硬盘的最小读写单元块/簇: 是操作系统针对硬盘读写的最小单元page: 是内存与操作系统之间操作的最小单元。
       (责任编辑:fqj)

相关推荐

相关文章