Boot设计与实现

本文深入探讨了主引导记录(MBR)的作用和结构,它是计算机启动过程中的关键部分,负责找到操作系统的位置并将其加载到内存。接着介绍了KePOS的boot设计,包括初始化FAT12文件系统、加载loader代码的流程。源代码可在GitHub上查看。通过这样的设计,实现了系统的引导和多系统共存的可能性。
摘要由CSDN通过智能技术生成

Boot设计与实现

1.MBR

  1. 主引导记录是存在于任何硬盘第一个扇区中的信息。它包含有关操作系统在硬盘中的位置和位置的信息,以便它可以在RAM中引导1

  2. 主引导记录(master boot record,MBR)位于硬盘的第一物理扇区。由于历史原因,硬盘的一个扇区大小是512字节,包含最多446字节的启动代码、4个硬盘分区表项(每个表项16字节,共64字节)、2个签名字节(0x55,0xAA)2

  3. 计算机系统启动首先对本机的硬件设备进行测试, 测试成功之后进入自举程序INT l9H, 然后将磁盘的0柱面、0磁头、1扇区的主引导记录内容读入内存指定单元, 其首址为0:7C00开始的区域, 并执行MBR程序段。主引导记录优先于所有操作系统被调入内存的指令, 并发挥主导作用。最后把控制权交给主分区 (活动分区) 内操作系统, 并让主分区信息来管理硬盘。可见, 主引导记录不依赖任何操作系统, 且硬盘引导程序为可变的, 因此完全可以实现多系统共存 (但最多4个系统)3

2.boot设计

KePOS的boot的设计主要是:

  1. 在代码开始位置初始化一个FAT12文件系统的元数据信息。
  2. 从FAT12文件系统中找到loader代码。
  3. 跳转到loader处执行。

boot占有512字节,且最后2个字节为0x55,0xAA

3.详细代码:

github

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值