minix文件系统分析.doc
文本预览下载声明
MINIX文件系统分析
---------从硬盘上建立分区到使用MINIX文件系统
第一部分 认识硬盘/backup/8285.html
让我们再来复习一下 硬盘 里面有什么东西值得我们来讨论的! · 物理组成: 就物理组成来说,硬盘是由多个硬盘盘所组成的,而每一个硬盘盘上面都有个磁头( Head )在进行该硬盘盘上面的读写工作,而当磁头固定不动,硬盘盘转一圈所画出来的圆就是所谓的磁道( Track ),全部硬盘盘上面同一个磁道组成了磁柱( Cylinder ),这个磁柱也是磁盘分割( partition )时,最小的单位了!另外,由圆心向半径方向划直线,而每个 Track 上面细分成一个一个的扇区( Sector )那就是最小的磁盘储存物理量了,一个Sector 通常为 512 Bytes 。这就是整个硬盘的构造啰,那么如果以硬盘的 filesystem 来做为检视呢?你可以简单的这样想啦,一个 Partition 当中就具有一个 filesystem ( 档案系统 ) 啰!那么一个 partition 当中能不能具有两个 filesystem 呢?理论上应该是不行的!因为每个档案系统都有其独特的支持方式,例如 Linux 的 ext3 就无法被 Windows 系统所读取!而你将一个 partition 格式化的时候,总不能格式化为 ext3 也同时格式化为 fat32 吧?!那是不可能的啊!底下来谈一谈关于档案系统的相关功能吧! · Filesystem 在进行磁盘格式化或者是分割的时候,都会需要知道磁盘的一些基本的名词定义,主要有: o 主要开机扇区( Master Boot Recorder, MBR ):主要开机扇区可以说是一颗硬盘里面最重要的地方了,怎么说呢?因为他记录了所有硬盘的分割信息,以及开机的时候可以进行开机管理程序的写入等等,如果 一颗硬盘的 MBR 死掉了,那么这颗硬盘几乎就可以说是寿终正寝了~那么 MBR 有什么限制呢?他最大的限制来自于他的大小不够大到储存所有的信息,因此,他仅提供最多四个 partition 的记忆,这就是所谓的 Primary (P)与 Extended (E)扇区最多相加只能有四个的原因了。所以说,如果你预计分割超过 4个partition 的话,那么势必需要使用 3P + 1E ,并且将所有的剩余空间都拨给 Extended 才行( 记得呦! Extended 最多只能有一个 ),否则只要 3P + E 之后还有剩下的空间,那么那些容量将成为废物而浪费了?所以结论就是『如果您要分割硬盘时,并且已经预计规划使用掉 MBR 所提供的 4 个 partition ( 3P + E 或 4P )那么磁盘的全部容量需要使用光,否则剩下的容量也不能再被使用』。不过,如果您仅是分割出 1P + 1E 的话,那么剩下的空间就还能再分割两个 partition ! o 区块( Block ):档案在磁盘当中会被储存在一个固定的大小区块中,那就是 Block ,而 Block 的大小通常为 2 的次方,其中,由于磁盘的扇区物理量通常为 0.5K ( 512 Bytes ),所以 Block 通常规划为 0.5 K 的倍数,例如 EXT2 预设 Block 为 4K 即是一例!其中需要特别留意的地方是,一个 Block 最多仅能容纳一个档案,所以当一个档案不足 4K 时,例如大小仅为 1K ,那么剩下的 3 K 容量将会被浪费掉,这与 inode 也有一定的相关性!因此,在规划您的磁盘时,需要留意到您主机的用途来进行规划较佳!与此同时,若 Block 规划的太小,则磁盘的 Block 数目会大增,而造成 inode 在指向 block 时候的一些搜寻时间的增加,又会造成大档案读写方面的效率较差,这也与 inode 有一定程度的相关性呢!需要特别留意的是:『当系统读取了某一个档案,则该档案所在的区块资料会被加载到内存当中,所以该磁盘区块就会被放置在主存储器的 缓冲快取区中,若这些区块的资料被改变时,刚开始资料仅有主存储器的区块资料会被改变,而且在缓冲区当中的区块资料会被标记为” Dirty “,这个时候磁盘实体区块尚未被修正!所以亦即表示,这些” Dirty “区块的数据必需写到磁盘当中,以维持磁盘实体区块上的数据与主存储器中的区块资料的一致性。』这也是为什么当 Linux 系统不正常关机,或者是突发性的跳电时,总是会造成系统在磁盘检验上面大花时间的原因了! o Superblock:当我们在进行磁盘分割( partition )时,每个磁盘分割槽( partition )就是一个档案系统( fil
显示全部