第四章

FAT12文件系统简介:

FAT12是DOS时代就开始使用的文件系统(File System),现在主要在软盘上使用(现在应该没有软盘了吧)

FAT12文件系统管理磁盘,会把磁盘分为   扇区     镞       分区

     软盘结构如下:

  • 引导扇区(Boot Sector)
    位于第一个扇区,在软盘上就是0柱面(磁道)0磁头1扇区。
  • 文件分配表(FAT)
    紧接着引导扇区的是两个完全相同的FAT表,每个FAT表占用9个扇区
  • FAT表之后是根目录区,根目录区长度不固定
  • 数据区
    根目录后面就是数据区

使用bootloader加载程序到内存原理:

(环境:软盘)

fat项:fat表的结构  由12位组成

1.在boot.asm中写入BPB头信息,把boot.asm文件写入引导扇区,便于DOS和linux识别

2.编写一个简单的loader   一个读取扇区的函数     一个寻找loader的函数

3.根据找到的扇区号->求出FAT项的值->加载bootloader->把控制权交给bootloader->由bootloader来加载操作系统内核

关于软盘大小有关的一些计算:

根目录区开始的扇区号为19,跟目录区由若干目录条目组成,条目最多有BPB_RootEntCnt个,每一个条目占32字节  BPB_BytsPerSec:表示每扇区字节数

目录区占扇区数RootDirSectors=(BPB_RootEntCnt*32)/BPB_BytsPerSec

原文地址:https://www.cnblogs.com/noor/p/5017664.html