zoukankan      html  css  js  c++  java
  • 第四章

    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

  • 相关阅读:
    信号
    test
    keil4打开keil5工程卡死问题
    day01
    SSH问题
    QT_day02
    QT_day01
    C++_day9am
    文件描述符与重定向
    C++_day8pm_多态
  • 原文地址:https://www.cnblogs.com/noor/p/5017664.html
Copyright © 2011-2022 走看看