电脑是怎么启动的?(转载翻译)
2014-09-19 19:34
357 查看
电脑是怎么启动的?
你是非曾经想过当你按下你电脑或者手提的电源键时,出现了Windows或者Linux标志
的屏幕后方到底发生了什么?从按下按键到出现登录画面的过程中,大概有上百的部件被初始化以及上前行的代码在启动过程中运行。但是,什么时候启动(Booting)呢?
我们将到机器里面看看到底发生了什么。那就让我们开始了吧。。。
什么是启动(booting)?
启动时一个加载然后开始运行操作系统的一系列过程或者操作,过程从你按下你的电源键开始。
什么是启动过程?
很多基础的启动过程文档都会让人感到困惑,因为他们经常会与linux或者windows等操作系统相关。但是我会竟可能的把他写的通用一点。
一盘启动过程由下面这些步骤组成:
按下电源键
重设CPU的引脚电平,把寄存器设为特定的初始值
CPU跳到加载了BIOS的内存区(0xFFFF0)
BIOS运行上电自检(POST - Power-On Self Test)和一些其他检测
主加载器(Primary Bootloader)冲MBR运行,然后跳转到第二加载器(Secondary Bootloader)
第二加载器加载操作系统
这些就是启动过程中所需要做的任务。现在我们来说说他们的细节。
当我们按下电源键,送出重置信号然后CPU的寄存器初始化为特定的初始值(译者注:送出重置信号指的是:通常有一个引脚只要在CPU通电以后,这个引脚检测到特定的电平,例如高电平,就会重置CPU)。最开始和最重要的是重置如下图所示的重置向量(例子使用的是4GB的RAM)。值得注意的是目前内存里面的值都是一些垃圾值(复位后的随机值),指令和数据所存放的地址是由你电脑的芯片组的内存地图(memory map)所决定的。内存地图把储存在ROM中的数据和指令映射到特定的内存地址。必须保证的是,这些重置向量地址里面的值必须存放“跳转到系统BIOS代码的地址”的指令,以便于接下来BIOS代码接手,继续启动系统。
BIOS - Basic Input Output System (基础输入输出系统)
正如我们之前看到上电后CPU重置以及把寄存器的值设置为初始值,那到底是哪一个内存地址存放了BIOS呢?一般来说EEPROM(电擦除只读存储器)这个硬件里面存放着BIOS。BIOS执行的任务有以下几类:
l POST-上电自检,是一个用来检测和测试基础硬件的最重要的程序。如果这一步中出现了错误,将会显示错误。
l 初始化硬件设备,然后让各个设备运行各自的BIOS(例如:有的显卡会有他们自己内置的显卡代码)
l 寻找主引导记录(MBR)然后读取他们
l 把启动扇区中的代码复制到RAM(内存)中然后把控制权移交给这段代码。
启动扇区
指的是一个硬盘中的其中一个扇区,它有512字节的大小。一个扇区会被被视为为启动扇区是因为它所在的位置和这个扇区负责进一步地启动系统。这个启动扇区一般被称为主引导记录(MBR - Master Boot Record)。主引导记录是一个位于硬盘第一个位置的扇区,拥有512字节(0号柱面,0号磁头,1号扇区)。当BIOS找到了启动扇区,他就会把这个扇区复制到RAM中,然后把运行权交给MBR中的代码。
在MBR中的头446个字节是主加载器,也被叫做PBL,主引导加载程序(primary bootloader)。
接下来的64字节是分区表,里面存折分区的记录。
MBR以0xAA55这两个字节结束(511byte为0x55,512byte为0xAA)。这两个数字就像是凭证一样,指明这是一个启动扇区。
原网站:http://www.engineersgarage.com/tutorials/how-computer-pc-boots-up?page=1
转载本文请保留以下网址:/article/5462215.html
如果发现文中有错误之处,请务必告诉我,谢谢大家。
你是非曾经想过当你按下你电脑或者手提的电源键时,出现了Windows或者Linux标志
的屏幕后方到底发生了什么?从按下按键到出现登录画面的过程中,大概有上百的部件被初始化以及上前行的代码在启动过程中运行。但是,什么时候启动(Booting)呢?
我们将到机器里面看看到底发生了什么。那就让我们开始了吧。。。
什么是启动(booting)?
启动时一个加载然后开始运行操作系统的一系列过程或者操作,过程从你按下你的电源键开始。
什么是启动过程?
很多基础的启动过程文档都会让人感到困惑,因为他们经常会与linux或者windows等操作系统相关。但是我会竟可能的把他写的通用一点。
一盘启动过程由下面这些步骤组成:
按下电源键
重设CPU的引脚电平,把寄存器设为特定的初始值
CPU跳到加载了BIOS的内存区(0xFFFF0)
BIOS运行上电自检(POST - Power-On Self Test)和一些其他检测
主加载器(Primary Bootloader)冲MBR运行,然后跳转到第二加载器(Secondary Bootloader)
第二加载器加载操作系统
这些就是启动过程中所需要做的任务。现在我们来说说他们的细节。
当我们按下电源键,送出重置信号然后CPU的寄存器初始化为特定的初始值(译者注:送出重置信号指的是:通常有一个引脚只要在CPU通电以后,这个引脚检测到特定的电平,例如高电平,就会重置CPU)。最开始和最重要的是重置如下图所示的重置向量(例子使用的是4GB的RAM)。值得注意的是目前内存里面的值都是一些垃圾值(复位后的随机值),指令和数据所存放的地址是由你电脑的芯片组的内存地图(memory map)所决定的。内存地图把储存在ROM中的数据和指令映射到特定的内存地址。必须保证的是,这些重置向量地址里面的值必须存放“跳转到系统BIOS代码的地址”的指令,以便于接下来BIOS代码接手,继续启动系统。
BIOS - Basic Input Output System (基础输入输出系统)
正如我们之前看到上电后CPU重置以及把寄存器的值设置为初始值,那到底是哪一个内存地址存放了BIOS呢?一般来说EEPROM(电擦除只读存储器)这个硬件里面存放着BIOS。BIOS执行的任务有以下几类:
l POST-上电自检,是一个用来检测和测试基础硬件的最重要的程序。如果这一步中出现了错误,将会显示错误。
l 初始化硬件设备,然后让各个设备运行各自的BIOS(例如:有的显卡会有他们自己内置的显卡代码)
l 寻找主引导记录(MBR)然后读取他们
l 把启动扇区中的代码复制到RAM(内存)中然后把控制权移交给这段代码。
启动扇区
指的是一个硬盘中的其中一个扇区,它有512字节的大小。一个扇区会被被视为为启动扇区是因为它所在的位置和这个扇区负责进一步地启动系统。这个启动扇区一般被称为主引导记录(MBR - Master Boot Record)。主引导记录是一个位于硬盘第一个位置的扇区,拥有512字节(0号柱面,0号磁头,1号扇区)。当BIOS找到了启动扇区,他就会把这个扇区复制到RAM中,然后把运行权交给MBR中的代码。
在MBR中的头446个字节是主加载器,也被叫做PBL,主引导加载程序(primary bootloader)。
接下来的64字节是分区表,里面存折分区的记录。
MBR以0xAA55这两个字节结束(511byte为0x55,512byte为0xAA)。这两个数字就像是凭证一样,指明这是一个启动扇区。
原网站:http://www.engineersgarage.com/tutorials/how-computer-pc-boots-up?page=1
转载本文请保留以下网址:/article/5462215.html
如果发现文中有错误之处,请务必告诉我,谢谢大家。
相关文章推荐
- (翻译)怎么在ASP.NET 2.0中使用Membership(转载)
- 【转载】电脑店超级U盘装系统-设置U盘启动
- 笔记本电脑无法进入u盘启动界面怎么办?
- 如果电脑 打开就是启动就是蓝屏怎么办?
- 电脑资源管理器被关闭怎么启动
- 在Windows下怎么用vm虚拟机安装mac苹果操作系统 如何启动mac 苹果电脑root用户账户
- 删除错了注册表,电脑不能启动怎么办,不想重装系统,只好恢复注册表
- 电脑移动后导致无法启动系统怎么办?
- 怎么使用启动U盘给电脑装系统呢?——————【Badboy】
- 电脑快速启动上的“返回桌面”的没了怎么办啊!!!
- 怎么启动tensorboard呢?之anaconda版(转载请声明)
- java程序怎么在一个电脑上只启动一次,只开一个进程
- 『电脑网络』 [操作系统]XP系统启动原理及故障原因分析(译文)(转载)
- 电脑启动提示信息速查手册(转载)
- 【jiasuba】电脑启动慢反应慢是怎么回事
- 预装win8/win10新款电脑怎么设置U盘启动
- 无盘网吧电脑的主板怎么设置才能用硬盘启动?
- 电脑安装了安卓x86系统怎么默认从Windows启动?
- 电脑无法启动Windows Time服务该怎么办?
- 电脑启动出现NTLDR is Missing怎么解决呢?