注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xu3stones的技术博客

OS >> Virtualization >> Cloud

 
 
 

日志

 
 

操作系统学习笔记(四)-计算机启动流程解析  

2012-11-30 21:53:21|  分类: OS入门知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

计算机启动时,CPU工作在实模式下,最大寻址空间只有1MB,这1MB非常重要,它又可以分为高地址部分和低地址部分:00000H~9FFFFH为低地 址;A0000H~FFFFFH为高地址部分,其中低地址总共640KB,为基本存储空间,存放中断向量、BIOS数据、存放引导扇区等,高地址可细分为 A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。

也就是说最初的1M内存空间的每一个字节都由BIOS安排好了:
0x00000-0x003ff:中断向量表
0x00400-0x004ff:BIOS数据区
0x00500-0x07bff:自由内存区
0x07c00-0x07dff:引导程序加载区
0x07e00-0x9ffff:自由内存区
0xa0000-0xbffff:显示内存区
0xc0000-0xfffff:BIOS中断处理程序区

计算机底层入门知识杂记(一)——计算机启动流程解析 - Xorrlei - 徐磊的技术博客
 

首先简要梳理一下计算机开机的流程:
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的指令处,并跳转到保护模式下,至此已控制权彻底交给引导程序。当BIOS把系统控制权交给操作系统的引导程序后,CPU从实模式跳转到保护模式,可以寻址4G空间,并支持虚拟内存。这篇文章是以后学习虚拟机的基础。

  评论这张
 
阅读(70)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017