为什么计算机必须有 BIOS?

Dio*_*ogo 35 bios

BIOS软件被内置到PC,并在(“启动固件”)开机时是由PC第一代码运行。PC 启动时,BIOS 的第一项工作是开机自检,它对 CPU、RAM、显卡、键盘鼠标、硬盘驱动器、光驱等系统设备进行初始化和识别。其他硬件。然后 BIOS 定位保存在外围设备(称为“引导设备”)上的引导加载程序软件,例如硬盘或 CD/DVD,并加载和执行该软件,使其能够控制 PC。[2] 这个过程称为引导,或引导,是引导的简称。

哪些必要条件决定了计算机系统上必须安装 BIOS?

为什么操作系统实际上不能完成所有的 BIOS 工作?

Bre*_*ugh 42

BIOS 是存储在主板本身上的一段依赖硬件的代码。每个不同的主板都需要为其编写自定义 BIOS,因此不可能将通用BIOS/OS 一体化(尽管 BIOS 在技术上只是存储代码,因此理论上您可以为一个特定的主板编写一个操作系统) . 正如您所提到的,BIOS 的目的是执行以下操作:

PC 启动时,BIOS 的第一项工作是开机自检,它对 CPU、RAM、显卡、键盘鼠标、硬盘驱动器、光驱等系统设备进行初始化和识别。其他硬件。

请注意,您仍然可以在没有任何外部存储的情况下启动计算机 - 这就是为什么 BIOS 是计算机的必要条件。换句话说,BIOS 提供了一个通用的软件接口,以允许存储的计算机程序与连接到主板的各种硬件设备进行通信。

例如,如果我有两个不同的主板和两个不同的 SATA 控制器,BIOS 允许我编写一段可以同时使用这两个控制器的代码,而我不知道主板实际上是如何向 SATA 设备发送命令的。我只需要告诉计算机“从这个 SATA 设备读取扇区 X”,BIOS 负责将这些命令实际发送到硬件。

它实际从中获取“读取扇区 X”信息的地方是包含在 BIOS 中的存储程序,该程序通常指示计算机从存储在公共位置的引导加载程序开始读取。这些公共位置由各种软件和硬件开发人员商定,并且通常提供给公众以允许系统之间的更多兼容性。

一旦建立了基本级别的接口(同样是通过软件的逻辑接口),操作系统本身就会与您的各种硬件设备建立一个通用接口(通常通过使用“设备驱动程序”),然后操作系统就可以控制硬件。


最后需要注意的是,BIOS还用于对计算机硬件配置进行修改,并将其存储在板载EEPROM中(以便您的计算机下次启动时记住这些更改)。但是,正如我之前所说,一旦操作系统加载完毕,它就可以完全控制计算机。

这允许主板制造商开发软件,允许您从操作系统内进行这些更改,而不是必须重新启动进入 BIOS。同样,这非常依赖于硬件和软件,但表明所有计算机接口都是相对的。BIOS 顾名思义——一个基本的输入/输出系统,允许一个更高级的程序(“操作系统”)的通用软件接口来控制机器。

  • BIOS/OS 一体化是**并非**不可能的。我不知道为什么这里的每个人都一直在说这个。将每个部分放在单独的设备/存储上并不意味着它们不是同一逻辑实体的一部分。IBM PC 之前的计算机是一体机,即 BIOS 是由开发 OS 内核的同一个制造和开发的。事实上,操作系统更新有时包括 BIOS 更新。 (13认同)
  • @Oliver 实际上,对于 ACPI,BIOS 功能在操作系统启动后*常规* 使用。 (3认同)
  • 当您启动计算机时,BIOS 作为机器代码在处理器上运行。你可以这样想,但在某种意义上它并没有真正“关闭”——它只是切换到运行操作系统。当您启动计算机时,BIOS 会告诉计算机开始执行存储在 X 位置的机器代码。用更常见的术语来说,BIOS 只是初始化您的硬件,并指示计算机从何处继续运行代码。 (2认同)

Tam*_*man 7

您的操作系统在您的硬盘上,如果您打开计算机,它不会神奇地从该硬盘开始读取。BIOS 从硬盘加载引导加载程序,并进行一些测试并允许您配置 BIOS 的某些设置。

您的操作系统不能这样做,因为它在硬盘上而不是在您的 ROM 中。

因此,您需要一个 BIOS 或类似(但不同)的技术,如 EFI...

制造商可以将部分OS放在ROM上(负责加载OS的boot loader);然而,这并不广泛适用,无论如何都有可用的 BIOS 或 EFI。

  • “BIOS 独立于操作系统,也就是说,BIOS 可以是操作系统的一部分。” 嗯?矛盾是很矛盾的,哈哈。 (6认同)
  • 游戏机是计算机,Atari、Amiga 和旧 Mac 也是如此,所以这绝对是相关的。@Breakthrough:这并不矛盾。这意味着 BIOS 与操作系统无关,因此可以是(或不是)它的一部分。 (2认同)

m0s*_*it0 6

没有真正的逻辑原因。这更多是遗产和历史的问题。

  1. 没有必要要求计算机必须安装 BIOS。它是 IBM PC 的遗产。虽然事实证明这是个好主意

  2. 让操作系统这样做并不会真正改变任何东西,因为它仍然会像 BIOS 那样做一些事情。当然,操作系统需要在 ROM 中,而不是在 I/O 设备上。当操作系统构建者决定使他的操作系统 BIOS 与其他操作系统不兼容时,垄断问题可能会出现这个问题。将 BIOS 制造商与操作系统分开可以提高软件运行的自由度。

  • 他说的是“电脑”,而不是个人电脑。是的,它适用。事实上,在 IBM PC(Atari、Amiga……BIOS 是操作系统的一部分)之前就是这种方式。 (3认同)
  • 愚蠢的我,我曾经为没有 BIOS 或操作系统的嵌入式计算机编写软件,只有应用程序代码。或者我们不是在谈论_所有_计算机,只是大多数人想到的那些? (3认同)
  • 不适用于大规模?看看在 PC 出现之前有多少 Ataris、Amigas 和 Mac。 (3认同)
  • iPhone 是一台电脑,我不相信它有 BIOS。甚至在数字时代之前......计算机是一种可编程机器,它可以对给定的输入执行操作并输出相同的结果,对吗?提花织机是一台计算机,它当然没有 BIOS(它甚至没有操作系统)。 (2认同)

Chr*_*isF 5

启动操作系统需要一些东西。如果操作系统可以放入一些非易失性内存中,那么它可以直接启动,但是对于功能齐全的操作系统,例如 Windows、OSX 或 Linux,这是不可能的。

所需要的是一个小型轻量级“操作系统”,它可以在开机时加载,它执行诸如内存和磁盘访问之类的基本操作,然后加载操作系统。虽然这可能是操作系统本身的一部分而不是一个单独的实体,但您可能希望先启动另一个进程还有其他原因:

  1. 更新 - 如果操作系统是这样修复的,那么如果需要任何安全补丁,更新它就会变得困难。这是可以做到的 - 固件更新一直发生在路由器等设备上,但这些设备安装了相对简单的操作系统。
  2. 灵活性 - 计算机是通用机器,相同的硬件可以运行多个不同的操作系统。拥有然后从磁盘加载操作系统的 BIOS 意味着您可以选择运行哪个 - 您甚至可以同时安装多个。

该过程称为引导