计算机启动流程解析
2010-10-11 08:41
218 查看
首先简要梳理一下计算机开机的流程:
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空间,并支持虚拟内存。这篇文章是以后学习虚拟机的基础。
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空间,并支持虚拟内存。这篇文章是以后学习虚拟机的基础。
相关文章推荐
- 计算机底层入门知识杂记(一)——计算机启动流程解析
- WinCE 5.0 内核启动过程详细流程解析
- SpringBoot启动流程解析
- 深入浅出:linux的启动流程解析
- Kernel启动流程源码解析 5 start_kernel 下
- Android源码解析之一Activity启动时界面绘制流程
- Kernel启动流程源码解析 8 mm_init
- 各大计算机公司 笔试及面试 题目 - 阿里巴巴、深信服(Linux的启动流程 V3)
- android源码解析之(十四)-->Activity启动流程
- Android SystemServer启动流程源码解析
- MTK Kernel启动流程源码解析 1 head.S
- SpringBoot启动流程解析
- Android 深度解析Activity启动流程与子线程更新UI
- 计算机(Linux系统)启动流程
- Kernel启动流程源码解析 4 start_kernel 上
- Kernel启动流程源码解析 6 setup_arch
- Kernel启动流程源码解析 9 sched_init
- Android解析ActivityManagerService(一)AMS启动流程和AMS家族
- Android源码基础解析之Launcher启动流程
- HBase源码解析(一) HMaster启动流程