我们每天使用计算机必须要经过的一个步骤就是启动了,但是,你是否知道计算机到底是怎样启动的呢?或许,你会认为这并不重要,是的,对于我们一般人而言,它确实不重要,事实上,我们更关心它启动得有多快,但是,这却实在是一个很“基本”的问题,每天都在用计算机,却不知道它是怎样启动的,似乎总感觉有些别扭(当然了,多数人都不知道的话也就没什么好别扭的了)。下面就为大家介绍一下我们使用的计算机到底是怎样启动起来的,由于这个问题比较大,我将它分为了两部分来介绍,这样可能比较好接受一些。这次只介绍前半部分(即和操作系统无关的部分)。另外,为方便大家理解,我特意制作了相关的流程图,建议大家对照着看。

如果你愿意了解一下,希望你能通过下面的介绍弄懂这个问题,如果你没什么兴趣,也没关系,毕竟,它是个比较边缘的东西,不太了解也行。

像大多数介绍此知识的文章一样,这里还是需要先介绍一下两个基本而重要的概念。

BIOS:即“Basic Input/Output System”(基本输入输出系统),它是一组被“固化”在计算机主板上的一块ROM中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统BIOS(主板BIOS).其它设备BIOS(例如IDE控制器BIOS、显卡BIOS等)其中系统BIOS占据了主导地位.计算机启动过程中各个BIOS的启动都是在它的控制下进行的.

内存地址:我曾在虚拟内存的介绍中提到过它,我们知道,内存空间的最基本单位是位,8位视为一个字节,即我们常用的单位B,内存中的每一个字节都占有一个地址(地址是为了让CPU识别这些空间,是按照16进制表示的),而最早的8086处理器只能识别1MB(2的20次方B)的空间,这1MB内存中低端(即最后面)的640KB就被称为基本内存,而剩下的内存(所有的)则是扩展内存。这640KB的空间分别由显存和各BIOS所得。

现在正式开始介绍计算机的启动过程(从打开电源到操作系统启动之前)

1、当电源开关按下时,电源开始向主板和其他设备供电,此时电压并不稳定,于是,当主板认为电压并没有达到CMOS中记录的CPU的主频所要求的电压时,就会向CPU发出RESET信号(即复位,不让CPU进一步运行),不过仅一瞬间不稳定的电压就能达到符合要求的稳定值,此时复位信号撤销,CPU马上从基本内存的BIOS段读取一条跳转指令,跳转到BIOS的真正启动代码处,如此,系统BIOS启动,此后的过程都由系统BIOS控制。

2、系统BIOS启动后会进行加电自检POST(Power On Self Rest)。不过这个过程进行得很快,它主要是检测关键设备(如电源、CPU芯片、BIOS芯片、基本内存等电路是否存在以及供电情况是否良好。如果自检出现了问题,系统喇叭会发出警报声(根据警报声的长短和次数可以知道到底出现了什么问题)。

3、如果自检通过,系统BIOS会查找显卡BIOS,找到后会调用显卡BIOS的初始化代码,此时显示器就开始显示了(这就是为什么自检失败只能靠发声进行提醒了)。显卡BIOS会在屏幕上显示显卡的相关信息(不过现在的笔记本似乎并不显示这个)。

4、显卡检测成功后会进行其他设备的测试,通过后系统BIOS重新执行自己的代码,并显示自己的启动画面,将自己的相关信息显示在屏幕上,而后会进行内存测试(这些在现在的计算机上也看不到了),仅仅是短暂出现系统BIOS设置页面,此时就可以对系统BIOS进行需要的设置了,完成后会重新启动。

5、此后BIOS会检测系统的标准硬件(如硬盘、软驱(虽然现在很多计算机已没有软驱了)、串行和并行接口等),检测完成后会接着检测即插即用设备,如果有的话就为该设备分配中断、DMA通道和I/O端口等资源,到了这里,所有的设备都已经检测完成了,老机会进行一次清屏并显示一个系统配置表,如果和上次启动相比出现了硬件变动,BIOS还会更新ESCD,即“Extended System Configuration Data”(扩展系统配置数据),它是系统BIOS用来与操作系统交换硬件配置信息的数据,这些数据被存放在CMOS中。现在的机器则不再显示这些了。

6、当上面的所有步骤都顺利进行以后,BIOS将执行最后一项任务:按照用户指定的启动顺序进行启动(即我们经常需要用到的设置系统从哪里启动,一般默认是硬盘,如果需要安装系统,还会设置为光驱或USB设备),注意,这里是指的启动顺序,如果设置为从光驱启动,而光驱中又没有光盘的话,系统还是会接着从硬盘启动的。

至此,操作系统启动之前的所有启动步骤都完成了,如果从硬盘启动的话,接着就是操作系统的启动过程了,关于这一部分,不同的系统也是存在差别的,我们谨以xp和vista为例,由于内容较多,就下一次再介绍吧。

下面是上面的启动过程的流程图,对照此图理解上面的内容可能会更方便些:

引文来源  计算机启动过程图文详解(一)----计算机初始化启动过程_电脑资源分享博客_百度空间

计算机启动过程过程图,计算机启动过程图文详解(一)----计算机初始化启动过程...相关推荐

  1. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)

    全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解) 参考文章: (1)全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案 ...

  2. 【图文详解】SpringBoot项目启动报错:The bean ‘xxxServiceImpl‘ could not be injected as a ‘xxxServiceImpl‘ ...

    问题描述: 项目启动报错:The bean 'xxxServiceImpl' could not be injected as a 'cn.xxxx.service.xxxServiceImpl' b ...

  3. ultraiso制作u盘启动盘教程图文详解纯净-U盘启动教程

    制作u盘启动盘用软碟通ultraiso轻松制作纯净windows7 u盘装系统 网友们除了知道的u大师u盘启动盘制作工具,u启动,u深度,老毛桃,大白菜u盘启动盘制作工具外,还有量产,fbinstTo ...

  4. 计算机打印设置方法,针式打印机怎么设置【图文详解】

    针式打印机怎么设置图文教程: 步骤一:局域网打印共享设置 1.安装打印机及其驱动程序,并将打印机设置为局域网共享. 2.自定义打印纸张规格. 3.其他电脑连接打印机并设置为默认打印机.(开票电脑都需要 ...

  5. 计算机二级c语言考试真题及答案详解,全国计算机二级考试C语言复习题与答案解析...

    全国计算机二级考试C语言复习题与答案解析 想要顺利通过计算机二级C语言考试,平时需要多练习多选题.以下是百分网小编搜索整理的一份全国计算机二级考试C语言复习题与答案解析,供参考练习,希望对大家有所帮助 ...

  6. mswrd632,图文详解解决word无法启动转换器mswrd632的方法

    小编发现最近有小伙伴在打开word文档时出现提示"word无法启动转换器mswrd632",这有可能是因为当前使用的Office软件是精简版或者版本不兼容造成的,所以小编这就来将w ...

  7. 计算机网络管理的常用命令,网络管理常用命令图文详解.pdf

    网络工程师必备 – 网络管理常用命令图文详解 网络工程师必备 网络管理常用命令 图文详解 V1.0 V1.0 包含 ping.ipconfig.netstat.nbtstat.tracert. pat ...

  8. 缺氧游戏黑科技计算机,《缺氧》游戏内参数修改图文详解

    很多玩家都很喜欢缺氧这款游戏,有时候因为一些不可告人的秘密我们需要修改游戏中的内容来达到简化我们的生存难度,这样就需要修改游戏的脚本,所幸<缺氧 >对于这个问题很宽容,完全没有加密地图的生 ...

  9. 11 阶段总结一:详解OS的引导启动过程(含Bochs模拟软件的使用)

    阶段总结一:详解OS的引导启动过程 0 前文总结 1 BIOS的自述 2 MBR的面目 3 bochs模拟系统的基本使用 3.0 bochs的简介 3.1 *.bxrc配置文件选项解析(重点) 3.2 ...

  10. 七、Oracle11g R2服务端卸载图文详解过程

    Oracle11g R2服务端卸载图文详解过程 注:由于Oracle 11g R2服务端安装的时候已经包含了客户端,所以服务端的卸载方案跟客户端的一样,也就是说,客户端卸载按照以下步骤同样适用. 一. ...

最新文章

  1. AWS 中国宁夏和北京区正式上线 Amazon SageMaker,中国用户终于能用到新工具和功能!
  2. python程序员工作怎样-python程序员待遇如何
  3. [置顶]       Mybatis技术(二) MyBatis-Spring
  4. Nacos服务的注册,服务的调用,修改配置文件自动刷新和命名空间
  5. StringBuilder与String互转
  6. Redis学习笔记1-安装配置
  7. 【Qt】QBoxLayout类详解
  8. Springboot跨域 ajax jsonp请求
  9. 【Heritrix基础教程之1】在Eclipse中配置Heritrix
  10. erp开发模式_ERP的完整形式是什么?
  11. 爬虫第四篇:html解析之xpath
  12. oracle 学习日志 ----Oracle时间加减
  13. 【Win10】【Win2D】实现控件阴影效果
  14. thinkphp5.0 session驱动方式问题汇总
  15. Java中几种输出当前时间的代码
  16. 如何压缩ppt大小的方法不减画质?
  17. 分享一下自己收集到的真实用户的UA
  18. 安卓TV应用 Hello Word - 怎样新建一个Android TV 项目
  19. Secondary NameNode:简单的介绍和理解
  20. vue 嵌套表格组件_vue+element-ui实现嵌套表格导出

热门文章

  1. Angular2-路由重定向的办法
  2. laravel validate
  3. Xcode包管理工具Alcatraz
  4. 烽烟通讯2100万限售股将于3月7日疏通流畅上市
  5. 静态页面评论处理以及列表处理
  6. python commands执行不连续_python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。...
  7. 拓端tecdat|R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
  8. 拓端tecdat|拟合R语言中的多项式回归
  9. [1] 图像预处理----图像灰度化处理
  10. 单结晶体管的导电特性_室温制备自愈合、可注射PEDOT:PSS导电水凝胶