该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 从硬盘加载引导加载程序,并进行一些测试并允许您配置 BIOS 的某些设置。
您的操作系统不能这样做,因为它在硬盘上而不是在您的 ROM 中。
因此,您需要一个 BIOS 或类似(但不同)的技术,如 EFI...
制造商可以将部分OS放在ROM上(负责加载OS的boot loader);然而,这并不广泛适用,无论如何都有可用的 BIOS 或 EFI。
没有真正的逻辑原因。这更多是遗产和历史的问题。
没有必要要求计算机必须安装 BIOS。它是 IBM PC 的遗产。虽然事实证明这是个好主意
让操作系统这样做并不会真正改变任何东西,因为它仍然会像 BIOS 那样做一些事情。当然,操作系统需要在 ROM 中,而不是在 I/O 设备上。当操作系统构建者决定使他的操作系统 BIOS 与其他操作系统不兼容时,垄断问题可能会出现这个问题。将 BIOS 制造商与操作系统分开可以提高软件运行的自由度。
启动操作系统需要一些东西。如果操作系统可以放入一些非易失性内存中,那么它可以直接启动,但是对于功能齐全的操作系统,例如 Windows、OSX 或 Linux,这是不可能的。
所需要的是一个小型轻量级“操作系统”,它可以在开机时加载,它执行诸如内存和磁盘访问之类的基本操作,然后加载操作系统。虽然这可能是操作系统本身的一部分而不是一个单独的实体,但您可能希望先启动另一个进程还有其他原因:
该过程称为引导。