令人发懵的“扇区”、“簇”、“块”、“页”

  这几天在学文件系统的移植,一大堆大小概念弄得我一脸懵逼,所以赶紧补了补基础知识,别小看基础知识,它可以在很大程度上帮助我们撩小姐姐(手动狗头)

以下解释出自百度百科:
  扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。

  为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍(前几天学汇编的时候就发现指令段、代码段、数据段、在编译后,会按一定规律占有空间,文件夹也是如此);而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。

1、什么是扇区和(磁盘)块?

扇区,顾名思义,每个磁盘有多条同心圆似的磁道,磁道被分割成多个部分。每部分的弧长加上到圆心的两个半径,恰好形成一个扇形,所以叫做扇区。扇区是磁盘中最小的物理存储单位。通常情况下每个

扇区的大小是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)

  逻辑层面: 磁盘块(虚拟出来的)。

  块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。

2、什么是簇?什么是块?二者的区别?

通俗的来讲,在 Windows 下如NTFS等文件系统中叫做;在 Linux 下如Ext4等文件系统中叫做 (block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。

3、为什么存在磁盘块?

读取方便:由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。

4、怎么映射磁盘块?

磁盘控制器,其作用除了读取数据、控制磁头等作用外,还有的功能就是映射扇区和磁盘块的关系。

5、磁盘的读写基本单位是什么?

  磁盘读写基本单位是扇区。磁盘的原理,物理实现,磁盘控制器是按照扇区这个单位读取等操作数据的。

划重点啦~~~

  操作系统是通过块簇来做为单位读取等操作数据的。

  文件系统就是操作系统的一部分,所以文件系统操作文件的最小单位是块。

6、块与页的关系

  操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。所以,划重点啦~~~

    与内存操作,是虚拟一个页的概念来作为最小单位;与硬盘打交道,就是以块为最小单位。

猜你喜欢

转载自www.cnblogs.com/daker-code/p/12417090.html
今日推荐