任何启动程序或者系统都有启动入口。那么计算机的启动入口是什么呢html
CS寄存器: 代码段寄存器
IP寄存器:指令指针寄存器
在实模式下,内存地址为:CS * 16 + IP,例如CS:0xF000和IP:0xFFF0,计算得出内存地址为0xFFFF0。
而CPU将CS:IP地址指向的内容当作指令执行。ios
因为尚未启动,确定不是由软件操做,而是由硬件操做的。首先将CS寄存器置为0xF000,IP寄存器置为0xFFF0。因此CPU第一条执行的指令地址是0xFFFF0操作系统
0xFFFF0指向BIOS的入口地址,此地址所指向的内容也是一条执行jmp f000:e05b指针
设置启动入口地址CS:IP 为0xF000:0xFFF0htm
BIOS是Bbase Input Output System的缩写,基本输入输出系统。blog
BIOS是一个ROM(只读存储器),容量较小,只能作少部分工做,不可能完成全部的启动任务。
因此BIOS只完成了下面几项工做:ip
检查计算机硬件是否知足运行基本条件,若是出现问题,主板会发出不一样含义的报警。若是没有问题,则继续启动。并创建中断向量表等等内存
检验和加载启动盘位于0盘0道1扇区的内容到内存0x7c00处get
加载的内容就是MBR引导程序,至于为何在0盘0道1扇区,就是约定的。博客
最后跳转到0x7c00处,jmp 0:0x7c00
BIOS按照启动顺序,把控制权转交给MBR.MBR是Main/Master Boot Record的缩写,主引导记录。共512字节。
主引导记录结构:
分区:
好比咱们普通的电脑都分为C D E F等几个盘,到底哪一个是启动盘,主引导记录将控制权转交给哪一个盘,也就是哪一个分区
MBR应该将控制权转交给系统加载器,MBR所作的工做
OBR是OS Boot Record的缩写,系统引导记录,也就是所谓的次引导记录,就是操做系统的起始位置。而后后面就把控制权交给操做系统了。
OBR所作工做
参考:
【1】阮老师博客