Windows 是通过BIOS在x86 CPU上引发软件中断的唯一方法吗?
实际上,我的印象是,这有点过时,现代操作系统(Windows、Linux)直接调用CPU 编辑:Windows 是通过BIOS在x86 CPU上引发软件中断的唯一方法吗?,windows,interrupt-handling,Windows,Interrupt Handling,实际上,我的印象是,这有点过时,现代操作系统(Windows、Linux)直接调用CPU 编辑: 我在维基百科的文章上读到了 例如,使用BIOS中断0x10[…]将字符打印到屏幕上 不,现代应用程序不使用也不能使用BIOS中断(因为它们必须从16位模式调用) 软件中断用于系统调用,系统调用允许应用程序将控制权传递给操作系统,以执行应用程序不允许执行的操作(如文件访问)(如写入视频内存或访问硬件)。否。它们仍然使用int调用。但这与“bios”无关。除了初始启动,现代操作系统不使用bios。bio
我在维基百科的文章上读到了 例如,使用BIOS中断0x10[…]将字符打印到屏幕上
不,现代应用程序不使用也不能使用BIOS中断(因为它们必须从16位模式调用)
软件中断用于系统调用,系统调用允许应用程序将控制权传递给操作系统,以执行应用程序不允许执行的操作(如文件访问)(如写入视频内存或访问硬件)。否。它们仍然使用
int
调用。但这与“bios”无关。除了初始启动,现代操作系统不使用bios。bios是一个realmode 16位恐龙,现在完全受保护模式UFI接管,它终于走上了其他恐龙的道路。在任何情况下,无论操作系统如何,都不应该说“通过bios引发软件中断”。在DOS和其他基于BIOS的操作系统中,情况正好相反:通过软件中断调用BIOS。如果这里有一个有意义的问题,它太隐蔽了,我无法推断;也许你可以澄清一下?编辑以帮助澄清我的意思。那篇文章和我说的一样:软件中断是你调用BIOS的方式。您引用的句子后面的示例代码引发软件中断0x10,以调用BIOS“将字符打印到屏幕”功能。@HarryJohnston这不意味着,如果您想使用中断将字符打印到屏幕上,您必须使用BIOS,因此中断是通过BIOS引发的。