user-0 提问: BIOS可以算是一个操作系统吗？中断向量表是指向驱动程序的函数指针的数组吗？

回复:
user: user-1
content: 引用 16 楼 六道佩恩 的回复:[quote=引用 14 楼 赵4老师的回复:]至少我知道是否开启CPU虚拟化支持是需要在BIOS中设置的。 请问离开bios的windows还会有中断吗？也就是pc的中断是否都依赖bios？[/quote] BIOS中有中断处理程序，但是并不是所有的中断处理程序都在BIOS中。 在DOS模式下，程序可以设置中断处理程序。在Windows系统上，驱动程序内部也可以设置中断处理程序。

user: user-0
content: 引用 14 楼 赵4老师的回复:至少我知道是否开启CPU虚拟化支持是需要在BIOS中设置的。 请问离开bios的windows还会有中断吗？也就是pc的中断是否都依赖bios？

user: user-0
content: 请问离开bios的windows还会有中断吗？也就是pc的中断是否都依赖bios？

user: user-0
content: 引用 1 楼 northwesternwind的回复:BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数如果地址，可以认为是数组。驱动程序中可以有中断处理函数，但是终端处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。 我之前问过一次，答者说windows并不通过bios控制硬件

user: user-0
content: 引用 2 楼 northwesternwind的回复:错别字太多了，修改一下： BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数入口地址，可以认为是数组。驱动程序中可以有中断处理函数，但是中断处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。 [quote=引用 1 楼 northwesternwind 的回复:] BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数如果地址，可以认为是数组。驱动程序中可以有中断处理函数，但是终端处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。[/quote] 这些入口地址可以算函数指针吗？感觉差别只是参数存取的位置不同

user: user-1
content: 引用 10 楼 六道佩恩 的回复:我之前问过一次，答者说windows并不通过bios控制硬件 不知道之前的回答的原委，但是我觉得windows完全脱离bios是不可能的。比如看看微软的这个帖子： https://docs.microsoft.com/zh-cn/windows-hardware/drivers/kernel/acpi-bios 从另一个角度证明windows的行为是受到bios的影响。所以说windows很少依赖bios的话我同意, 如果说 完全不使用的话我认为不是这样。 另外，函数指针是c语言概念，入口地址是汇编语言/机器语言的概念。本质上函数指针就是汇编代码的入口地址。

user: user-2
content: 至少我知道是否开启CPU虚拟化支持是需要在BIOS中设置的。

user: user-0
content: 引用 11 楼 northwesternwind的回复:[quote=引用 10 楼 六道佩恩 的回复:] 我之前问过一次，答者说windows并不通过bios控制硬件 不知道之前的回答的原委，但是我觉得windows完全脱离bios是不可能的。比如看看微软的这个帖子： https://docs.microsoft.com/zh-cn/windows-hardware/drivers/kernel/acpi-bios 从另一个角度证明windows的行为是受到bios的影响。所以说windows很少依赖bios的话我同意, 如果说 完全不使用的话我认为不是这样。 另外，函数指针是c语言概念，入口地址是汇编语言/机器语言的概念。本质上函数指针就是汇编代码的入口地址。 [/quote] 那你知道有哪些操作是基于BIOS实现的吗？比如鼠标和键盘？控制台的字符输出和输入不知道是不是，屏幕显色不知道是不是，目前所知道中断例程的屏幕显色只有16位色，不知道是资料没更新还是确实没通过中断例程。还有就是不知道串口通信有没有借助中断例程。

user: user-0
content: 那你知道有哪些操作是基于BIOS实现的吗？比如鼠标和键盘？控制台的字符输出和输入不知道是不是，屏幕显色不知道是不是，目前所知道中断例程的屏幕显色只有16位色，不知道是资料没更新还是确实没通过中断例程。还有就是不知道串口通信有没有借助中断例程。

user: user-2
content: BIOS可以看作是操作系统。

user: user-3
content: BIOS百科解释说明

user: user-1
content: 错别字太多了，修改一下： BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数入口地址，可以认为是数组。驱动程序中可以有中断处理函数，但是中断处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。 引用 1 楼 northwesternwind 的回复:BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数如果地址，可以认为是数组。驱动程序中可以有中断处理函数，但是终端处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。

user: user-1
content: BIOS不是操作系统。操作系统会利用BIOS来操作硬件。所以BIOS可以认为是操作系统的一部分。 中断向量表是一些处理中断的函数如果地址，可以认为是数组。驱动程序中可以有中断处理函数，但是终端处理函数不一定属于某个驱动程序。它们不在一个层次上。概念上认为BIOS在驱动程序更底层的位置。 Windows感觉上很多东西都利用自己的驱动程序实现了. BIOS的中断例程完全不利用估计不可能。 例程：Routines. 可以认为是处理函数或者过程(function, procedure)。  这些是我自己的理解，估计八九不离十，但是不敢保证全对。

user: user-2
content: 引用 7 楼 早打大打打核战争 的回复:砍掉老赵，CSDN就不能称之为CSDN了~~~  然也！

user: user-4
content: 砍掉老赵，CSDN就不能称之为CSDN了~~~

user: user-2
content: 一个人，砍掉一条胳膊，还是一个人，砍掉……，再砍掉……，直到____，就已经不能称之为人了； 一个OS，砍掉作业管理，还是一个OS，砍掉……，再砍掉……，直到____，就已经不能称之为OS了。

user: user-4
content: UEFI固件肯定算是操作系统，其规模甚至超过win 3.x，达到数十MB，但是传统BIOS算不算操作系统还是可以争议的，因为它主要实现了基本的设备管理，还没有作业管理、文件管理之类的功能。