第三载、FAT12文件系统剖析1

在上一篇文章中,我们完成了一个简单的主引导程序的编写及运行,但有限制的是:主引导程序不能超过512字节!然而操作系统的程序,明显不止512字节,为了突破这个限制,主引导可以采用如下改造策略:
        1、完成最基本的初始化工作
        2、从存储介质加载程序到内存中
        3、将控制权交给新加载的程序执行
在这里,主引导程序主要做简单初始化、加载程序到内存,跳到加载的程序处执行即可,这些在512字节内是可以完成的。
           如下是一个基本的思路图:

在上述的思路中,面临的问题是:如何加载存储介质的文件(可执行程序)到内存中
为了解决这个问题,需要引入文件系统,文件系统就是存储介质上组织文件数据的方式,这里我们采用FAT12文件系统,原因简单易学。文件数据在FAT12文件系统的组织方式如下图:
                                              
       FAT12的基本组织单位为:
       1、字节(Byte) : 基本数据单位
       2、扇区(Sector):磁盘中的最小数据单元
       3、(Cluster):一个或多个扇区 

所以最终的解决方案为:
       1、使用FAT12文件系统对软盘(a.img)格式化,之后a.img软盘的文件数据组织方式就是FAT12格式
       2、编写可执行程序(loader),并拷贝到软盘a.img中
       3、主引导程序(boot)在软盘a.img中查找可执行程序loader
       4、将loader程序拷贝到内存中,然后跳转(jmp)到入口处执行

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值