http://blog.csdn.net/poechant/article/details/7214926
磁盘知识:
1.磁盘物理结构:
结构:物理上,一块磁盘,有多个盘片。每个盘片上根据半径不同,有很多磁道track。不同盘片上半径相同的磁道,在逻辑上称为磁柱cylinder。一个磁道上的某段弧内的区域,被称为扇区sector。每个扇区大小为512字节。
容量:磁盘容量=512字节x每个磁道的扇区数x磁头数x柱面数
磁盘容量=512字节x每个磁道的扇区数x盘片数x每个盘片的磁道数
注意:磁头数=盘片数,柱面数=每个盘片的磁道数。
2.磁盘分区:
结构:一块磁盘从外层的某个起始柱面,到内层的某个结束柱面,称为一个分区partition.
MBR:Master Boot Recorder,是整个磁盘的第0个柱面,记录有整个磁盘的分区信息。开机后对磁盘的读取首先从MBR开始。如果一个磁盘的MBR坏了,那么整个磁盘也就废了。
MBR的限制:MBR大小有限,无法存储任意多个分区的信息。MBR限制了只能存储4个分区的信息。这4个分区中最多只可以有一个扩展分区。所以磁盘分区的结果一定是:X个主分区+Y个扩展分区,且X+Y<=4,Y<=1。如果你分了4个分区后还有剩余空间,则这些空间是无法使用的。如果你分了1个,2个或3个分区,而且还有剩余空间,那么这些空间会被分成3个,2个或1个主分区。
3.磁盘逻辑结构
结构:磁盘逻辑结构是由操作系统决定的。一块磁盘的最小物理存储单位是512字节的扇区,但一个磁盘的最小罗杰存储单位可以由操作系统制定,称为块block,大小比如4KB即8个扇区。一个块最多只能存储一个文件,所以块的设定要适中,太大了浪费空间,太小了降低效率。
superblock:每个分区partition起始位置的那个block,存储着这个分区的信息,包括分区的块总数、空闲块总数、非空闲块总数、所有块的状态信息映射表等。对某个分区中的数据进行读写时,首先读取的是该分区的superblock。如果一个分区的superblock坏了,那么整个分区也就废了,但不影响其他分区。
4.文件的读写过程:
先读整个磁盘的MBR,获取所有分区信息,并确定要载入的操作系统文件所在分区。然后读取某个分区时,先读取该分区的superblock,然后才找到相应的块可能是多个,进行读取。