linux磁盘与文件管理

.硬盘的组成与分区

1.物理组成

    *圆形的盘片(主要记录数据的部分)

    *机械手臂与机械手臂上的磁头(可读写盘片上的数据)

    *主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据。

    *扇区为最小的物理储存单位,每个扇区为512bytes

    *将扇区围城一个圆,那就是柱面,柱面时分区最小的单位

    *第一个扇区最重要,里面有一不过哦安主引导记录(MBR)及分区表,其中MBR占有446bytes,而partition table则占有64bytes

    */dev/sd【a-p】【1-15】:为SCSI,SATA,USB,Flash等接口的磁盘文件名

    */dev/hd【a-d】【1-63】:为IDE接口的磁盘文件名

2.分区

    磁盘分区指的是告诉操作系统这块磁盘在此分区可以访问的区域时有A柱面到B柱面之间的块,如此一来操作系统就能够知道他可以在所制定的块内进行文件数据的读,写,查等操作了。也就是说,磁盘分区意即指定分区的起始与结束柱面就可以。

    那么指定分区的柱面范围在哪里?就是的一个扇区的分布表中。但是因为分区表既有64bytes而已,因此最多只能记录四条分区的记录,这四条记录我们称为主分区或扩展分区,其中扩展分区还可以分出逻辑分区,而能被格式化的则仅有主分区与逻辑分区而已

    *主分区在一朵可以有四个(硬盘的限制)

    *扩展分区最多只能有一个(操作系统的限制)

    *逻辑分区是由扩展分区持续分出来的分区

    *能被格式化后作为数据访问的分区为主要分区与逻辑分区,扩展分区无法格式化

    *逻辑分区的数量以操作系统而不同,在linux中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11逻辑分区(5号到15号)

.文件系统特性

 

    我门知道磁盘分区完毕后还需要进行格式化,之后操作系统才能够使用这个分区。为何要进行格式化呢?这是因为没中操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能够利用的文件系统格式。

 

    传统的磁盘与文件系统的应用中,一个分区就是只能被格式化成为一个文件系统,所以我们可以说一个文件系统就是一个分区。但是由于LVM技术与软磁盘阵列这些技术的利用,我们在格式化时不再说成针对分区格式化了,通常我们可以称呼一个可被挂载的为一个系统文件而不是一个分区。

 

    文件系统时如何运行呢,这与操作系统的文件数据有关。例如linux操作系统的文件权限(rwx)与文件属性。文件系统通常会将这两部分的数据分别放在不同的块,权限与属性放置到inode中,至于世纪数据则放到data block块中。另外,还有一个超级块,会记录整个文件系统的整体信息,包括inode与block的总量,使用量,剩余量等。

    每个inode与block都有编号,至于这三个数据的意义可以简略说明如下:

    *super block:记录文件系统的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等

    *inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码

    *block:实际记录文件的内容,若文件太大时,会占用多个block

 

    由于每个inode与block都有编号,而每一个文件都会占用一个inode,inode内则有文件数据放置的block的号码。因此,我们可知,如果能够找到文件的inode的话,呢么自然就会知道这个文件所放置数据的block号码,当然也就能够读出该文件的实际数据了。这是个比较有效率的做法,因为如此一来我们的磁盘就能够在短时间内读取出全部的数据。读写性能较好。

原文地址:https://www.cnblogs.com/zhengyipengyou/p/10241524.html