我想你只能有一个操作系统在中MBR公司. The混乱来自这样一个事实利洛很好,可以靴子倍数操作系统的。(为这篇短文道歉。)

2002年1月10日更新:盖塔指出O'Reilly的引用发生了变化。谢谢!
看一看http://linux.oreillynet.com/lpt/a/linux/excrpts/linux_kernel/how_computer_boots.html有关PC架构的更多信息,请访问Linux操作系统观点。它突出了与雨衣描述依据正在进行的.

2001年5月31日更新:查看网址://www。如何填充.com/operating-system2.htm(以及本文中的其他页面),了解该节点的基本内容,排序为:-)。

启动ing是计算机成为可操作的什么时候权力已应用。

有许多阶段。

首先,所有硬件必须重置为神志清醒州。这由低级硬件处理设计并且超出了本文的范围。

然后中央处理器必须给一些指令才能执行。通常称为“引导数据库“代码。这足以启动下一阶段。这个6502例如,处理器总是在相同的内存位置开始执行。只读存储器在这一点上地址空间提供初始CPU指令。我认为其他系统也遵循类似的机制。

在某些系统上(例如。ZX81型,BBC微型,橡子阿基米德),操作系统保存在ROM中,可以直接启动。然而,在PC上操作系统需要加载(从固定(硬盘)或可移动(磁带、软盘、CD-ROM等)媒体),引导程序代码必须访问这些外部设备。加载操作系统的代码是基本输入/输出系统(注意,即使在基于ROM的系统上分开在“类生物”之间和更高的操作系统层可以存在,允许加载其他操作系统。)

超越这一点概括s变得不那么有用了。然而,以下是合理的努力:

在PC上基本输入/输出系统从启动介质上的“已知位置”加载和执行代码,称为主引导记录。这也称为“第二阶段引导”,因为此区域不够大,无法容纳PC的完整操作系统。第二阶段引导比加载它的BIOS例程更复杂,例如,可以提供要加载的操作系统选择。

这个过程也发生在一些主机系统。例如,“BIOS”知道如何读取纸带(一个简单的串行输入设备)(可能已经从面板). 纸带上的例程足够通用,可以从磁盘加载操作系统。

我必须放弃什么兰西德泡菜已经说过,所有操作系统实际上都没有类似的喝倒采t过程。最值得注意的是,那些基于开放固件(斯巴达克,Macintosh电脑,PowerPC公司,等等)有一个完全不同的靴子程序。由于它是我唯一真正熟悉的,我将把Macintosh引导过程描述为例子.

当mac第一次通电时,它会执行岗位车载代码只读存储器。这是非操作系统特定的代码,它生成启动声音并进行一些基本诊断。如果它发现了阻止它启动的问题,它将显示伤心的mac偶像。旧的mac用来玩死亡的钟声,这是一个不愉快的声音,表示发生了不好的事情(通常是公共汽车或内存问题)。否则快乐麦克图标显示,引导过程继续。

此时,ROM中的开放固件代码被执行。开放固件是一种抽象的查找和配置方法硬件使用计算机,从而绕过了基本输入/输出系统。在对内存和总线类型进行一些初始检查后,Open Firmware将探索所有附加的装置s.对于每个设备,它将查找F代码(设备代码写在Forth中)。硬件的ROMS中可以同时包含BIOS代码和FCode,因此Open Firmware需要通过检查FCode来确定硬件是否可以与Open Firnware系统一起工作。一旦找到合适的设备第四Macintosh ROM中的插入器执行设备ROM上的代码。设备上的FCode将初始化设备,并使其驱动程序例程可用于操作系统.

一旦找到所有可用设备,Open Firmware将创建一个设备树,列出操作系统可用的所有设备。然后打开固件将加载bootinfo(引导信息)文件(我相信这是唯一的苹果,从现在开始,OF可以采取不同的方式不同的系统),其中包含系统描述、可用的不同操作系统,偶像苹果的技术文档说,我还没有找到太多关于这方面的细节电气与电子工程师协会了解更多信息…)。该文件是根据ROM和非易失性存储器设置。完成后,Open Firmware将执行bootinfo文件的脚本部分,该部分加载蹦床代码(我想它之所以命名是因为它将您“弹回”到操作系统……)Macintosh工具箱.

此时,脚本将控制权转移到Trampoline代码,该代码充当从Open Firmware到操作系统让我们不要过多地研究蹦床代码,因为它令人难以置信复杂的我甚至不声称理解它,但基本上它会动态创建一个可执行文件,在两个不同的代码部分。蹦床代码将从开放固件收集系统信息,然后加载MacOS工具箱(大部分MacOS美国石油学会)并将控制权转移给它,从而启动MacOS。

在这一点上,我可能应该提到婴儿车.PRAM用于存储以下信息Appletalk公司、打印机和视频设置。在过去,它还存储启动盘。然而,在New World mac上,这一操作不再执行,而是将启动设备作为变量存储在开放固件的NVRAM中。当Open Firmware查找MacOS操作系统工具箱ROM,它将首先检查此变量指定的设备。接下来将转到最后一次启动装置。如果这两个都失败了,它将尝试加载任何其他可引导文件体积它可以找到。如果找不到任何启动卷,它将显示一个带有问号在上面。

假设它找到了要启动的卷,并加载了工具箱ROM,则将加载操作系统。初始化过程将加载系统然后按字母顺序加载所有扩展和控制面板。最后查找程序开始允许用户与操作系统交互。

新世界ROM

在第一次修订后发布的新款MaciMac电脑,包含已知的新世界ROM传统的mac设计有一个相当大的ROM,除了开放固件和引导程序外,还包含大多数Macintosh电脑工具箱。这是因为早在1984年,ROM就很便宜,皇家音乐学院价格昂贵,而且磁盘空间小,因此将其保存在ROM中是一个好主意。新世界ROM mac改变了这一切工具箱到系统文件夹中的文件。我相信MacOS 8.6是第一个包含这个ROM文件的操作系统。这在一定程度上改变了Mac的引导方式,因为Trampoline代码现在必须加载一个文件初始化后备箱。然而,在大多数情况下,它对我所知道的实际引导过程几乎没有影响。

所以这是我目前的理解。信息是粗略地以及找出旧世界和新世界mac之间的差异靴子有点棘手。我仍在寻找资源来验证所有内容,我会在找到内容后更新此内容。我还试图找出其他操作系统在旧世界机器上的适用性Linux操作系统通过加载MacOS启动,此时系统扩展将终止MacOS并开始加载linux内核使用MacOS。在新世界的机器上,您可以直接引导到linux,但我不确定这一过程的哪一部分发生在。。。

登录登记在这里写点什么或联系作者。