提示: 写这篇文章的目的是只是激励自己完成这本书的linux内核项目,本文不够细致。
指路大佬:操作系统真象还原 自制操作系统_Love 6的博客-优快云博客
指路大佬:
用《操作系统真象还原》写一个操作系统 第二章 编写MBR主引导记录,让我们开始掌权_哔哩哔哩_bilibili
感谢优快云上的前辈们的热心分享。
一.基本概念
- CPU 的硬件电路被设计成只能运行处于内存中的程序。
- 所谓的载入内存,大概上分两部分:(1)程序被加载器(软件或硬件)加载到内存某个区域。 (2)CPU 的 cs:ip 寄存器被指向这个程序的起始地址。
- 从按下主机上的 power 键后,第一个运行的软件是 BIOS。BIOS 的主要工作是检测、初始化硬件。
- 在开机的一瞬间,也就是接电的一瞬间,CPU 的 cs:ip 寄存器被强制初始化为 0xF000:0xFFF0
- BIOS 最后一项工作校验启动盘中位于 0 盘 0 道 1 扇区。
- MBR 的任务是加载某个程序到指定位置,并将控制权交给它。加载 MBR 的位置取决于操作系统本身所占内存大小和内存布局。MBR 的大小必须是 512 字节,这是为了保证 0x55 和 0xaa 这两个 魔数恰好出现在该扇区的最后两个字节处,即第