您的位置:首页 > 其它

深入理解文件系统——磁盘的物理组织

2011-04-09 16:59 357 查看
磁盘即是硬盘,由许多块盘片(盘面)组成,每个盘片的上下两面都涂有磁粉,磁化后可以存储信息

数据。每个盘片的上下两面都安装有磁头,磁头被安装在梳状的可以做直线运动的小车上以便寻道,每个

盘面被格式化成有若干条磁道,这些磁道是同心圆。每个磁道又被分成若干个扇区,并被排号,扇区是

CPU对磁盘I/O操作时能够读取和写入的最小单位,通常,一个扇区可以储存512B的二进制信息位,每个盘

面上的同号磁道组成一个柱面(磁柱)。

在Linux操作系统中,内核采用的方法是把物理磁盘抽像为逻辑磁盘管理文件系统,所谓逻辑磁盘是

把物理磁盘按照磁头号,磁道号,扇区号,以及盘面号划分成磁盘块的线性数组,也叫线性序列,如:把

1号盘面的0号磁道的0号扇区定义为0号磁盘块,一般扇区数是2的整次幂。显然,当把实际的磁盘看成是

磁盘块的线性数组时,就把物理磁盘存储数据的实际地址(即磁道号,扇区号以及盘面号)隐藏起来,因

此呈现在系统高层面前的已经不是物理磁盘,而是一个经过加以后的逻辑磁盘。逻辑磁盘比物理硬盘的结

构要简单的多,当系统执行磁盘I/O操作时,系统给出试图访问的逻辑磁盘块号,由设备驱动程序根据该

块号计算出物理磁盘的磁道号,磁头号以及扇区号,然后启动硬盘把磁头向前或向后移动到相应的柱面,

这便是所谓的寻道。寻道是磁盘I/O操作中最耗时的一个操作。一量磁头找到磁道,并且相应的扇区转到

磁头下面,数据传输就开始。

而文件是一个具有符号的一组相关联元素的有序序列,文件可以包含范围很广的内容。系统和用户都

可以将具有一定独立功能的程序模块,一组数据或一组文字命名为一个文件。在计算机里看见的东西都叫

文件,文件是以单个名称在计算朵上存储的信息集合,文件可以是文本文档,图片,程序等,文件通常有

三个字母的扩展名,用于指示文件类型(windows下)。

文件系统指文件存在的物理空间。在linux系统中,每个分区是一个文件系统,都有自己的目录层次

。linux的最重要的特征之一就是支持多种文件系统,这样它更加灵活,并可以和许多其他操作系统共存

。由于系统已将linux文件系统的所有细节进行了转换,所以linux核心的其它部分及系统中运行的程序将

年到统一的文件系统。

大部分的linux文件系统种类具有类似的通用结构,即使细节有些变化。其中心概念是超级块

(superblock),i节点(inode),数据块(data block),目录块(directory block)和间接块

(indirection block)。超级块包括文件系统的总体信息,比如大小。i节点包括除了名称外的一个文件的

所有信息,而名字与i节点数目一起存在目录中,目录条目包括文件名和文件的i节点数目。i节点包括几

个数据块的数目,用于存储文件数据。i节点中只有少量数据块的空间,如果需要更多,会动态分配指

向数据块的指针空间,这些动态分配的块是间接块,为了找到数据,这名子指出它必须先找到间接块的号

码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: