《操作系统引导探究》链接:http://purec.binghua.com/Article/Class6/Class7/200411/81.htm
一、开机加电过程

图1. 电源开启,PC处理流程
二、引导扇区
图1中最后一个流程,BIOS检查磁盘的第一个扇区(512B)载入内存的0x0000:0x 7c 00处,如果这个扇区的最后两个字节是”55AA”,那么这就是一个引导扇区,同理这个磁盘就是一个引导盘,通常这个大小为512B的程序就称为引导程序。
特点:
1、 它的大小是且仅是512B;
2、 结尾两个字节必须为”55AA”,这是引导扇区的标志;
3、 放在磁盘的0磁头0磁道1扇区。
因为BIOS 一次只读一个扇区也即512 字节的数据到内存中,这显然是不够的,现在操
作系统都比较庞大,因此我们必须在引导扇区里将存在磁盘上的操作系统的核心部分读进内
存,然后再跳转到操作系统的核心部分去执行。
三、通过BIOS读磁盘扇区
不通过操作系统读磁盘,一般有两种方式:
1、直接读写磁盘的I/O端口;
2、通过BIOS中断实现(其建立在第一种方法的基础之上)。
3.1、BIOS的中断处理

图2. 中断处理过程
由上图我们可以看出,产生中断信号后,由中断地址形成部件形成中断向量,中断向量就是中断处理程序的入口地址。这样一块中断程序的入口地址形成了中断向量表,即内存中0x0000~0x03ff之间的这一块内存,找到中断向量之后,在这个中断向量中指出跳转到哪个位置去执行中断的处理。

本文是基于《操作系统引导探究》的读书笔记,详细介绍了从开机加电到保护模式下内存地址访问的过程,包括引导扇区、BIOS读磁盘扇区、中断处理、内存布局和保护模式的内存访问。通过理解这些步骤,读者可以深入掌握操作系统启动的底层原理。
938

被折叠的 条评论
为什么被折叠?



