王朝知道
分享
 
 
 

熟悉电脑启动顺序的来看下.

王朝知道·作者佚名  2012-04-18  
宽屏版  字体: |||超大  
 
分类: 电脑/网络
 
问题描述:

我想知道电脑从启动机器到进如操作系统是经过那些步骤的.最好具体点.

参考答案:

首先让我们来了解一些基本概念。第一个是大家非常熟悉的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设置中自行决定使用简单耗时少或者详细耗时多的测试方式。

第六步: 内存测试通过之后,系统bios将开始检测系统中安装的一些标准硬件设备,包括硬盘、cd-rom、串口、并口、软驱等设备,另外绝大多数较新版本的系统bios在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

第七步: 标准设备检测完毕后,系统bios内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统bios都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、dma通道和i/o端口等资源。

第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统bios会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

第九步: 接下来系统bios将更新escd(extended system configuration data,扩展系统配置数据)。escd是系统bios用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在cmos(一小块特殊的ram,由主板上的电池来供电)之中。通常escd数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“update escd… success”这样的信息,不过,某些主板的系统bios在保存escd数据时使用了与windows 9x不相同的数据格式,于是windows 9x在它自己的启动过程中会把escd数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统bios也会把escd的数据格式改回来,如此循环,将会导致在每次启动机器时,系统bios都要更新一遍escd,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

第十步: escd更新完毕后,系统bios的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从c盘启动为例,系统bios将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行io.sys,这是dos和windows 9x最基本的系统文件。windows 9x的io.sys首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,windows将继续进行dos部分和gui(图形用户界面)部分的引导和初始化工作。

如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(dos和windows的基本引导代码就是分区引导记录)。 上面介绍的便是计算机在打开电源开关(或按reset键)进行冷启动时所要完成的各种初始化工作,如果我们在dos下按ctrl+alt+del组合键(或从windows中选择重新启动计算机)来进行热启动,那么post过程将被跳过去,直接从第三步开始,另外第五步的检测cpu和内存测试也不会再进行。我们可以看到,无论是冷启动还是热启动,系统bios都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有