电脑开机启动原理是怎能样的?

电脑教程08

电脑开机启动原理是怎能样的?,第1张

这个原理可复杂了。下面我贴一个Windows XP的,估计你多半也看不懂。

强制关机则是给CPU一个强制的中断信号,释放内存中的所有东西,关闭电源,不会保存当前的任何东西。

一般来说,Windows XP的启动过程,主要包括以下几个步骤:电源开启自检过程->初始化启动过程->引导程序载入过程->检测和配置硬件过程->内核加载过程->用户登录过程->即插即用设备的检测过程。

一、电源开启自检过程

在打开计算机电源时,首先开始电源启动自检过程。在BIOS中包含一些基本的指令,能够帮助计算机在没有安装任何操作系统的情况下进行基本的启动。电源启动自检过程首先会从BIOS中载入必要的指令,然后进行如下一系列的自检操作:

进行硬件的初始化检查,例如检查内存的容量等。

验证用于启动操作系统的设备是否正常,例如,检查硬盘是否存在等。

从CMOS中读取系统配置信息。

在完成了电源启动的自检之后,每个带有固件的硬件设备,如显卡和磁盘控制器,都会根据需要完成内部的自检操作。

二、初始化启动过程

在完成了电源启动自检过程之后,存储在CMOS中的设置,例如磁盘的引导顺序等,能够决定由哪些设备来引导计算机。例如,可以设置磁盘的引导顺序为首先通过A盘引导,其次才通过C盘引导,则系统会首先尝试用A盘引导系统,如果A盘存在并可引导,则通过A盘引导。如果A盘不存在,则通过C盘引导系统。如果A盘存在,但不是引导盘,则系统地提示系统不可引导。

一般来说通常会使用硬盘引导。在进行硬盘引导时,启动过程通常按照如下的步骤进行:

系统首先检测打开电源的硬盘。

若该硬盘是启动盘,BIOS就将主引导记录(Main Boot Record――MBR)中的引导代码载入内存。

接着,BIOS会将启动过程的运行交给MBR来进行。

计算机搜索MBR中的分区表,找出活动分区(Active Partition)。

计算机将活动分区的第一个扇区中的引导代码载入到内存。

引导代码检测当前使用的文件系统是否可用。

引导代码查找ntldr文件,找到之后启动它。

BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动。

注意:这里简单介绍一下MBR的概念。MBR位于启动磁盘的第一个扇区,其中主要包含引导代码(Boot Code)和分区表(Partition Table)数据。引导代码主要用于引导系统。而分区表则主要用于标识基本分区和扩展分区。

三、引导程序载入过程

本过程主要由ntldr 文件完成。Ntldr从引导分区载入启动文件,然后完成如下一些任务。

1、在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存模式

对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓的实模式(RealMode)。在实模式下CPU的某些特性不能完全发挥,这是因为它要保证同8位或16位的CPU(如8086、8088)相兼容。实模式下由于系统规格的限制,无法对大容量内存进行直接存取,而必须通过分段的方式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。

ntldr首先会将CPU切换到32位的模式,从而确保Windows XP的正常。在CPU的32位模式下,可以对大容量内存进行直接存取,而彻底抛弃了原先在8位或16位下分段存取内存的不便。这也是为什么32位模式称作Flat内存模式的原因。

2、启动文件系统

ntldr 中包含相应的代码,能够帮助Windows XP完成对NTFS或FAT格式的磁盘进行读写。从而能够读取、访问和复制文件。

3、读取boot.ini 文件

在这一步中,ntldr 会分析boot.ini文件,确定操作系统分区所在的位置。

对于单引导的系统来说,ntldr 会通过启动ntdetect.com来初始化硬件检测状态。

对于多引导系统来说,首先由用户在操作系统菜单中选择要启动的操作系统然后而由ntldr进行相应的操作。

如果用户选择启动ntdetect.com来初始化硬件检测状态。

如果选择启动旧式的微软操作系统,如MS-DOS、Windows 9x/ME,ntldr会将从bootsect.dos文件中读取MBR代码,然后将控制权交给bootsect.dos中的MBR。

4、根据需要提供启动菜单

在这一步,如果用户按下F8键,则会显示启动菜单,允许用户选择不同的启动方式,例如使用安全方式启动,或是使用最后一次正确的配置启动等。

5、检测硬件和硬件配置

在这一步中,ntldr 启动ntdetect.com文件进行基本的设备检查,然后将 boot.ini文件中的信息,以及注册表中的硬件和软件信息传递给ntoskrnl.exe 程序。

四、检测和配置硬件过程

在处理完boot.ini文件之后,ntldr会启动ntdetect.com程序。在基于X86的系统中,ntdetect.com会通过调用系统固件程序收集安装的硬件信息,然后由ntdetect.com将这些信息传递送回ntldr。Ntldr获取从ntdetect.com发来的信息后,将这些信息组织成为内部的断气结构形式,然后由ntldr 启动ntoskrnl.exe ,并将这些信息发送给它。

Ntdetect.com 会收集如下类型的硬件信息:

系统固件信息,例如时间和日期等

总线适配器的类型

显卡适配器的类型

键盘

通信端口

磁盘

软盘

输入设备,例如鼠标

并口

安装在ISA槽中的ISA设备

完成信息的检测之后,Windows XP会在屏幕上显示那个著名的Windows XP商标,并显示一个滚动的,告诉用户Windows 的启动进程。

五、内核加载过程

在此过程中,ntldr实施下列一些功能。

1、将内核(ntoskrnl.exe)和硬件抽象层(hal.dll)载入到内存

2、加载控制集信息

在这一过程中,ntldr从注册表中的HKEY_LOCAL­_MACHINE\SYSTEM位置加载相应的控制集(Control Set)信息,并确定在启动过程中要加载的设备驱动。

3、加载设备驱动程序和服务

在这一步中,系统会在BIOS的帮助下开始加载设备驱动程序,以及服务。

4、启动会话管理器

完成上面的过程之后,内核会启动会话管理器(Session Manager),这是一个名为smss.exe 的程序,其作用表现如下:

(1)创建系统环境变量

(2)创建虚拟内存页面文件

六、用户登录过程

在这一过程中,Windows 子系统会启动winlogon.exe,这是一个系统服务,用于提供对Windows 用户的登录和注销的支持。Winlogon.exe 可以完成如下一些工作:

启动服务子系统(services.exe),也称服务控制管理器(Service Control Manager, SCM)。

启动本地安全授权(Local Security Authority , LSA)过程(lsass.exe)。

在开始登录提示的时候,对Crtl+Alt+Del组合键进行分析处理。

一个图形化的识别和认证组件收集用户的帐号和密码,然后将这些信息安全地传送给LSA以进行认证处理。如果用户提供的信息是正确的,能够通过认证,就允许用户对系统进行访问。

要注意的是,如果您的计算机中,只有Administrator这一个用户,那么在欢迎屏幕中就会显示Administrator 用户项。如果您的计算机中不仅有Administrator用户,还有别的可以交互登录的用户,那么欢迎屏幕中就只显示出Administrator之外的用户,而不显示Administrator用户。

如果用户希望以Administrator用户登录,该怎么办呢?实际很简单,直接在欢迎屏幕中按下两次Crtl+Alt+Del组合键,即可打开标准的登录窗口,可以再输入Administrator 的用户名和密码,以便用最高管理员的身份登录。

七、即插即用设备的检测过程

对即插即用设备的检测,实际上是和登录过程异步进行的。由系统固件、硬件、设备驱动和系统特性决定了Windows XP如何对新设备进行检测和枚举。当即插即用组件正常工作后,Windows XP会对新设备进行检测,为它们分配系统资源,并在尽量不要用户提供选择的情况下,为新设备安装一个合适版本的驱动程序。

至此,Windows XP已成功启动。

第一步:当我们按下电源开关时,电源就开始向主板和其他设备供电,此时电压还不稳定,主板和控制芯片组会向CPU发出并保持一个RESET信号,让CPU初始化。当电源开始稳定供电后,芯片组便撤去RESET信号(如果是手动按下计算机面板上的RESET按钮还重启机器,那么松开该按钮时芯片组就会撤去RESET信号),cpu马上从地址FFFFOH处开始执行指令,这个地址在系统BIOS的地址范围内,无论是AWARD BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

第二步:系统BIOS的启动代码首先要做的事情就是进行POST(Power-OnSelfTest,加电后自检),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(ExtendedSystemConfigurationData,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到"UpdateESCD...Success"这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows9x不相同的数据格式,于是Windows9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

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

计算机开机原理

开机原理:插上ATX 电源后,有一个静态5V电压送到南桥,为南桥里面的ATX 开机电路提

供工作条件(ATX 电源的开机电路是集成南桥里面的),南桥里面的ATX 开机电路将开始

工作,会送一个电压给晶体,晶体起振工作,产生振荡,发出波形。同时ATX 开机电路会

送出一个开机电压到主板的开机针帽的一个脚,针帽的另一个脚接地。当打开开机开关时,

开机针帽的两个脚接通,而使南桥送出开机电压对地短路,拉低南桥送出的开机电压,而使

南桥里的开机电路导通,拉低静态5V电压,使其变为0 电位。使电源开始工作,从而达到

开机目的。(ATX 电源里还有一个稳压部分,它需要静态5V变为0 电位才能工作)。

1、待机”电源管理模式

待机模式主要用于节电,该功能使你可不需重新启动计算机就可返回工作状态。待机模式可关闭监视器和硬盘、风扇之类设备,使整个系统处于低能耗状态。在你重新使用计算机时,它会迅速退出待机模式,而且桌面(包括打开的文档和程序)精确恢复到进入等待时的状态。

如要解除等待状态并重新使用计算机,可移动一下鼠标或按键盘上的任意键,或快速按一下计算机上的电源按钮即可。

待机模式不在硬盘上存储未保存的信息,这些信息仅仅只存储在计算机内存中。如果期间突然断电,这些信息将丢失。因此,在将计算机置于待机模式前应该保存文件。如果你希望在离开计算机时自动保存所做的工作,可使用休眠模式而非待机模式。但是,休眠模式将关闭计算机。

2.“休眠” 电源管理模式

在使用休眠模式时,可以关掉计算机,并确信在回来时所有工作(包括没来得及保存或关闭的程序和文档)都会完全精确地还原到离开时的状态。内存中的内容会保存在磁盘上,监视器和硬盘会关闭,同时也节省了电能,降低了计算机的损耗。一般来说,使计算机解除休眠状态所需的时间要比解除等待状态所需的时间要长,但休眠状态消耗的电能更少。