Answers:
首先,BIOS是基本输入/输出系统,而不是技术上来说是操作系统...至于加载RAID等,在引导过程中发生的情况是计算机查询任何附加卡,询问它们是否要加载BIOS。RAID卡先生大喊“是的,我首先要做的事”,然后启动“ BIOS”(在这种情况下为OS),自己进行一些计算,然后将控制权交还给主BIOS(“嘿,我完成了,这里是您需要知道的所有信息,知道吗?”)。
一旦主BIOS重新获得控制,它就可以说“啊,我看到RAID先生有一个可引导的卷,如果可能,我将循环遍历,然后尝试其他技巧”。
因此,BIOS不是“技术上”的操作系统,而是为实际操作系统做准备的输入/输出系统。
的BIOS,逐字地“基本输入/输出系统”,是一组小程序硬编码到计算机主板(通常存储在一个EEPROM)。这些程序包括修改设置,写入文本以及从基本 I / O设备获取用户输入的能力(主板必须为高级VGA和USB鼠标/键盘设备模拟它们),最重要的是,它提供了查找和引导功能。任何受攻击的存储设备上存在的操作系统。
BIOS本身不是操作系统。BIOS是一个小程序,可以实际加载操作系统。尽管在某些操作系统中可以调用各种BIOS子系统,但这需要CPU切换回实模式,因为BIOS不提供虚拟内存支持,任务切换(因此不能运行程序) )或设备驱动程序支持(因此,无法直接访问Direct-Map可访问范围之外的硬件,也无法访问BIOS中断调用中未涵盖的任何内容)。
并不是说我也曾经说过BIOS很棒,但是至少每个人都知道BIOS只是一个引导程序,并且不会尝试做其他任何事情。
BIOS的绝对最大优点是它是如此 不便且显然过时,以至于您必须疯狂地对它进行认真的处理,不要对它成为任何其他宏伟框架的想法有所了解。而不是“仅加载操作系统并摆脱困境”。
最后,应该注意的是,BIOS 与UEFI(统一可扩展固件接口)明显不同,后者更接近于提供基本的操作系统接口(提供设备驱动程序和应用程序支持)。尽管UEFI远比BIOS更能被视为OS,但对于UEFI是否可被视为真正的操作系统仍存在疑问。
为了处理提出的许多评论和要点,我再次编辑了答案。
BIOS是操作系统吗?
好吧,如果将操作系统定义为允许用户与“计算机”的硬件进行交互的软件,那么从技术上和字面上看,它都是一个操作系统。
任务切换是否定义了操作系统的组成部分?
考虑到MS-DOS是一个有效的操作系统,并且直到不支持版本5任务切换,任务切换不会影响软件或操作系统。
内存虚拟化是否定义了操作系统的组成部分?
同样,以MS-DOS为例,尽管可以通过在加载过程中运行扩展程序来添加对内存虚拟化的支持,但是并不需要使用它们。因此,内存虚拟化也不是构成操作系统的先决条件。
如果存储在固件中,那么它是操作系统吗?
有人会认为路由器不使用操作系统。例如,似乎对于DD-WRT是否被视为操作系统存在争议。是否有在固件中存储操作系统的设备?现代电话,iPod等存储了复杂的操作系统,可以在固件中添加程序。因此,仅因为操作系统已加载到固件中,并不排除所讨论的软件被视为操作系统。
如果您无法添加程序,则它不是操作系统。
远离现代智能手机。看看便宜的一次性手机。它具有存储在固件中的操作系统,但是您不能添加程序。它按原样运行,并且仅具有所提供的功能。您可以像浏览其他任何操作系统一样浏览菜单,选择想要做的事情(玩游戏等),几年前有很多这样的菜单,它们没有添加任何其他软件的能力。
如果不是现代的,那不是操作系统吗?
创建和启动OS的历史点与它是否是操作系统无关。
因此,BIOS可能并不漂亮,并且可能无法为您提供出色的功能。但是,它仍然是一个操作系统。
什么是“操作系统”或不是操作系统是一个判断问题。可以说(我在1980年提出了争论),原始的PC / MS DOS并不是“操作系统”(尽管名称如此),因为它仅提供I / O服务(和原始命令分析器),而没有提供真正的系统管理工具。 。
OTOH,许多BIOS实现现在都包含某种程度的管理程序功能,该功能可以以相当复杂的方式管理系统资源。
关于BIOS如何在没有驱动程序的情况下从磁盘等中进行加载,按照惯例/标准,“可启动”设备包括一组操作,这些操作可以在不建立复杂的管理基础结构的情况下使用。在某些情况下,这仅是在相对固定的位置读取几个扇区的能力,但这就是大多数情况下所需要的。