启动计算机时会发生什么?


8

我试图了解打开计算机时会发生什么。计算机如何在启动时进行工作,进行各种初始化等。例如,引导加载程序是第一步吗?什么时候加载设备驱动程序?


2
观看一些诸如Debian之类的不同Linux发行版的启动-可能会让您了解发生了什么。

2
您是从“超级用户”的角度还是从“如果我要编写自己的操作系统,我需要处理什么”的角度?就目前而言,我认为这个问题太广泛了,无法得到一个好的答案。
SqlRyan 2010年

3
神奇的烟雾传到所有合适的地方,并为事物提供动力。;)
vivin 2010年

我将从“我想尽可能多地了解”的角度进行猜测。
RCIX

@RCIX:是的:) ..所有操作系统上的通用序列也很棒
name_masked 2010年

Answers:


7

在不同的操作系统之间,启动/引导顺序有所不同(尽管早期步骤通常很常见)。

同样,提供启动顺序的任何足够详细的描述也远远超出了SO答案的范围。我希望您参考以下链接


对于Windows,Russinovich等人的“ Windows Internals”提供了Windows启动顺序的非常详细的演练(当然还有许多其他内容)。

1
关于BIOS中的POST:我想知道第一台IBM PC的手册是否还在。它包含8086汇编程序中的BIOS的源代码,在阅读后您可以理解为什么启动过程如此缓慢。
ott--

@ ott--我确定周围仍然有副本。许多人都“沉迷”在那些旧的PC中,并且拥有类似的东西。(尽管我至少在一周前就把我扔了出去。)
Daniel R Hicks

4

首先,主板中的硬件会进行基本检查,以确保存在最少数量的组件,例如RAM,视频输出,硬盘驱动器,键盘,鼠标等。

这就是启动计算机时键盘闪烁的原因。然后,主板中嵌入的程序将找到硬盘驱动器的启动扇区,并在其中寻找操作系统。

如果找到它,则它将控制权交给操作系统,然后操作系统开始将自身加载到内存中,并执行诸如加载设备驱动程序之类的操作。

如果您对操作系统采取的步骤感兴趣,则可以在计算机启动时按F8键(此处为Windows),这将为您提供一些启动选项。我相信其中一个选项可以让您逐步了解操作系统在加载过程中正在做什么。

Windows附带了一个名为msconfig的实用程序,使您可以查看操作系统加载的所有内容。



1

总而言之,下面的事情发生了

  1. 打开电源按钮
  2. CPU引脚复位,寄存器设置为特定值。
  3. CPU跳转到BIOS地址(0xFFFF0)。
  4. BIOS运行POST(开机自检)和其他必要的检查。
  5. BIOS跳至MBR(主启动记录)。
  6. 主引导程序从MBR运行,并跳转到辅助引导程序。
  7. 辅助Bootloader加载操作系统。

资格:在标准PC上。“真实”计算机通常使用不同的顺序,通常涉及让“服务处理器”执行POST和初始加载。
Daniel R Hicks 2013年

实际的计算机,至少从80386以后才出现,也不会像步骤3那样启动。
JdeBP 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.