您的位置:首页 > 理论基础

时间的故事——浅谈计算机系统引导启动

2014-04-12 17:39 302 查看
      这两天有个朋友问我,阿丘,你说这个电脑啊,输入的都是电信号,咋都能输出这么多东西呢?他刚说完,我就懵了,就是啊,电脑都是输入的电信号,为啥能出来这么多东西呢?仔细想想,也许他想了解的是计算机系统的引导启动的这个过程,今天就把我的一些思考和大家分享一下,看看自己能用多通俗的语句描述这个过程。

     简单的来说,计算机系统的引导过程,可以形容为,计算机将控制权交给操作系统(可以理解为用户)的一个过程,那么需要经过什么样的关键时间点呢?

     (1)、加电

       首先,计算机需要给予合适的电源才能正常工作,我们就需要给计算机系统加电,也就是我们按电脑电源键这个过程。我们知道,系统的运行内存(RAM)断电后数据就会丢失,所以计算机不会用RAM来保存自己的基本工作指令的,而是通过另外的方法,将操作系统文件加载到RAM中,然后再由操作系统接管对整个硬件系统的控制。

      (2)、启动引导程序

       这时候,CPU从内存的地址FFFFOH开始执行指令,这个地址其实就是计算机主板上BIOS的地址范围。

      (3)、开机自检

       当系统在执行BIOS指令前,需要进行POST(Power-On Self Test),从英语单词中我们可以知道,这时候计算机是在上电的情况下进行自检,POST的主要任务,是检测系统中的关键设备是否存在或是否正常工作,注意,这时候显卡还没有初始化,这时的POST主要对系统的致命性错误进行检测(比如没有插内存条),如果没有检测到内存,或者是内存有错误,这个时候系统就会蜂鸣报警。

      自检通过后,系统会在BIOS中寻找显卡的初始化指令,并进行初始化,这时候屏幕上回显示显卡版本号、硬件型号、显存等信息,紧接着系统会在BIOS中寻找其他硬件的初始化指令,并进行初始化操作。

      查找完所有的硬件设备后,这时候会显示出BIOS的基本信息,然后显示CPU型号,时钟频率,对内存进行检查,并显示检测进度。

       内存测试通过后,检测硬盘,光驱等系统内的其他硬件。

       这几个执行完之后,BIOS根据CMOS更新ESCD,ESCD就是个桥梁,用于BISO和操作系统交换硬件配置的一个桥梁。  

      (4)、加载操作系统

        POST执行后,BIOS执行最后一步操作,根据用户设置的BOOT启动顺序,检测光驱、U盘、硬盘里面是否有系统文件。首先查找IO.sys和MSDOS.sys两个文件,如果这两个文件都没有找到,那么提示没有操作系统或者操作系统不存在,这时,微处理器也会同时尝试加载Command.com 如果加载失败,会提示Bad
or missing command interpreter,并且这时候你的所有操作命令都不执行,这个Command.com是对命令的一个解释。

     (5)检查配置文件并个性定制操作系统运行环境

       在引导初期,计算机硬件通过检查CMOS信息对硬件进行初始化,但是不同的操作系统需要更多不同配置的文件来创建个性化运行环境,比如说,设置硬盘缓冲区大小,启动一些汉字环境之类的操作,使得硬件系统能够更个性化的支持我们的操作系统。

      (6) 等待接受命令和数据

       以上的过程完成后,操作系统就已经成功加载了,这个时候,硬件系统已将计算机的控制权交给了操作系统,以DOS系统为例,如果这时候系统加载完成,那么就会在屏幕上出现命令符提示,等待用户输入命令或者是数据。

       至此,计算机系统的引导过程就结束了,这些过程是计算机在冷启动情况下(按下电源键)的一个过程,如果你在DOS系统中使用了Ctrl+Alt+Delete组合命令的时候,POST过程将被跳过。

       啊哈,这就是计算机系统的一个引导启动过程,总结一下,其实就是加电—寻指令—自检—加载系统—等待,而正是有了这个过程,我们才能正常的使用计算机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  硬件 引导启动