计算机底层入门知识杂记(一)——计算机启动流程解析
时间:2011-03-17 来源:code2012
计算机底层入门知识杂记(一)——计算机启动流程解析
from:http://xorrlei.blog.163.com/blog/static/163083449201032734110186/
首先简要梳理一下计算机开机的流程:
1:开机加电,CPU工作在16位实模式下;
2:CPU按照实模式下的内存寻址方式从段地址(FFFF):偏移地址(0000)处开始执行指令;
3:FFFF0H处是BOIS的第一条指令,是一条跳转指令,指向BIOS真正的代码处;
4:BIOS代码从高字节到低字节依次是POST硬件自检、显卡初始化、CPU、内存、硬盘等标准硬件的初始化、加载引导扇区;
4.1:POST硬件自检主要包括检测关键设备如内存显卡等是否存在能否正常工作,如有错误从喇叭发出错误信号,不在屏幕上输出任何信息
4.2:标准硬件的初始化,在屏幕上输出硬件的类型和参数
5:此时CPU执行到Boot Sector模块,调用BIOS中断把启动盘的0面0道1扇区的MBR(主引导程序)加载到内存中的07C00H处,然后CPU跳转到07C00H的指令处,并跳转到保护模式下,至此已控制权彻底交给引导程序。
计算机启动时,CPU工作在实模式下,最大寻址空间只有1MB,这1MB非常重要,它又可以分为高地址部分和低地址部分:00000H~9FFFFH为低地址;A0000H~FFFFFH为高地址部分,其中低地址总共640KB,为基本存储空间,存放中断向量、BIOS数据、存放引导扇区等,高地址可细分为A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。当BIOS把系统控制权交给操作系统的引导程序后,CPU从实模式跳转到保护模式,可以寻址4G空间,并支持虚拟内存。这篇文章是以后学习虚拟机的基础