今天花了一天的时间看了来自http://www.sjhf.net网站的fat文件系统原理,受益颇多。
磁盘物理、逻辑原理,这个比较熟了。
主要是磁盘引导原理:计算机在按下power键以后,开始执行主板bios程序,进行完一系列检测和配置以后,开始按bios中设定的系统引导顺序引导系统。只说硬盘,bois执行完自己的程序后jump到硬盘的MBR(master boot record)主引导记录的第一条指令。我想起曾经一本关于makefile的书讲做软盘启动盘,其实就是写mbr程序调用中断在显示屏上显示“hello world”。执行MBR程序跳到DBR(dos boot record)操作系统引导记录区中执行代码来引导操作系统,操作系统运行。
DPT硬盘分区表:基本分区:3个主分区1个扩展分区,扩展分区也是基本分区,扩展分区再分就是逻辑分区也叫子分区。活动分区是计算机启动分区。
主分区是系统分区,多系统的话就有多个主分区
活动分区是启动分区,默认是系统分区
扩展分区是除主分区以外余下的全部分区
逻辑分区是扩展分区中创建的分区,也就是平时电脑中的DEF盘。
BPB:(bios parameter block)定义扇区字节数,每簇扇区数,保留扇区数,FAT数,根目录项数等参数
下面说一下FAT分区原理:
根目录:共32个扇区也就是32*512字节,每个目录项32字节,就有512个目录项,在FAT16中一个目录下不能超过512个文件。根目录是所有文件包括文件夹的根。
FAT表:根目录中记载了首簇,根据这个首簇就可以在FAT表里链接找到文件的其他簇,以至于找到整个文件。