查看: 2208|回复: 7
收起左侧

[求助] 电脑启动过程详解 (转帖也许有人用得着)出处:中国电脑教育报作者:郑陆军

[复制链接]
ollydbg 该用户已被删除
发表于 2009-2-13 16:39:33 | 显示全部楼层 |阅读模式
打开电源启动机器几乎是电脑爱好者每天必做的事情,面对萤幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,电脑在显示这些启动画面时都做了些什麽工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,电脑到底都干了些什麽事情。  
   首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬体打交道的底层代码,它为作业系统提供了控制硬体设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其他设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为电脑的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(唯读存储晶片)之中,即使在关机或掉电以后,这些代码也不会消失。  

   第二个基本概念是记忆体的位址,我们的机器中一般安装有32MB、64MB或128MB记忆体,这些记忆体的每一个位元组都被赋予了一个位址,以便CPU访问记忆体。32MB的地址范围用十六进位数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB记忆体非常特殊,因为最初的8086处理器能够访问的记忆体最大只有1MB,这1MB的低端640KB被称为基本记忆体,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。  

   好了,下面我们就来仔细看看电脑的启动过程吧。  

   第一步: 当我们按下电源开关时,电源就开始向主板和其他设备供电,此时电压还不太稳定,主板上的控制晶片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当晶片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下电脑面板上的Reset按钮来重启机器,那麽松开该按钮时晶片组就会撤去RESET信号),CPU马上就从位址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这裏的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。  

   第二步: 系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如记忆体和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到记忆体或者记忆体有问题(此时只会检查640K常规记忆体),那麽系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其他代码来进行更完整的硬体检测。  

   第三步: 接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM晶片的起始位址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在萤幕上显示出一些初始化资讯,介绍生产厂商、图形晶片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其他设备的BIOS程式,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。  

   第四步: 查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。  

   第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在萤幕上显示记忆体测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。
lima668
发表于 2009-2-13 19:28:02 | 显示全部楼层
不错 学习下
bbb一只蚂蚁
发表于 2009-2-13 19:40:37 | 显示全部楼层
看明白了一点,谢谢
Oday
发表于 2009-2-14 13:31:08 | 显示全部楼层
确实不错,写得够仔细的
hanjianfeng
发表于 2009-2-15 11:44:38 | 显示全部楼层
学习 了
ytslg157
发表于 2009-2-15 15:11:34 | 显示全部楼层
学习了
sunxin777
发表于 2009-2-15 22:16:26 | 显示全部楼层
学习了,谢谢楼主
cang_2009
发表于 2009-2-16 14:49:49 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 07:00 , Processed in 0.136988 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表