自己动手写虚拟机(一)——计算机启动过程
2010-04-12 19:56
246 查看
8086访问的内存最大只有1MB,这1MB非常重要,它又可以分为高地址部分和低地址部分:00000H~9FFFFH为低地址;A0000H~FFFFFH为高地址部分,其中低地址总共640KB,为基本存储空间,存放中断向量、BIOS数据、存放引导扇区等,高地址可细分为A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。
具体可见下图:
那么计算机开机的全过程就是:
1:开机加电;
2:CPU从FFFF0H处开始执行指令;
3:FFFF0H处是BOIS的第一条指令,是一条跳转指令,指向BIOS真正的代码处;
4:BIOS代码从高字节到低字节依次是POST硬件自检、显卡初始化、CPU、内存、硬盘等标准硬件的初始化、加载引导扇区;
4.1:POST硬件自检主要包括检测关键设备如内存显卡等是否存在能否正常工作,如有错误从喇叭发出错误信号,不在屏幕上输出任何信息
4.2:标准硬件的初始化,在屏幕上输出硬件的类型和参数
5:此时CPU执行到Boot Sector模块,去启动盘的0面0道1扇区把MBR加载到内存中的07C00H处,然后CPU跳转到07C00H的指令处,并讲控制权彻底交给这段引导代码。
具体可见下图:
那么计算机开机的全过程就是:
1:开机加电;
2:CPU从FFFF0H处开始执行指令;
3:FFFF0H处是BOIS的第一条指令,是一条跳转指令,指向BIOS真正的代码处;
4:BIOS代码从高字节到低字节依次是POST硬件自检、显卡初始化、CPU、内存、硬盘等标准硬件的初始化、加载引导扇区;
4.1:POST硬件自检主要包括检测关键设备如内存显卡等是否存在能否正常工作,如有错误从喇叭发出错误信号,不在屏幕上输出任何信息
4.2:标准硬件的初始化,在屏幕上输出硬件的类型和参数
5:此时CPU执行到Boot Sector模块,去启动盘的0面0道1扇区把MBR加载到内存中的07C00H处,然后CPU跳转到07C00H的指令处,并讲控制权彻底交给这段引导代码。
相关文章推荐
- 自己动手启动计算机
- 自己动手写J-LINK脚本,烧写NAND启动代码
- 计算机的启动过程
- 计算机启动的详细过程
- 计算机启动过程
- 计算机启动的过程
- 计算机的开机启动过程
- 自己动手写CPU之第七阶段(2)——简单算术操作指令实现过程
- 计算机启动过程
- 计算机启动过程详解
- 关于《自己动手写CPU》使用GNU工具过程遇到的问题
- 计算机的启动过程(详细)
- 计算机启动过程详解
- 计算机启动过程
- 计算机启动与关机过程详解
- 自己动手做计算机-计算机科学的本质
- 计算机启动过程详解2>
- 计算机启动过程详解
- 《30天编写自己的操作系统》 关于如何让虚拟机从U盘启动
- 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列三之安装过程,设置选项