【问题标题】:How good can an operating system be in Real Mode?一个操作系统在实模式下能有多好?
【发布时间】:2026-02-16 21:00:02
【问题描述】:

x86 CPU 有实模式和虚模式,与保护模式相反。 BIOS 提供了访问硬件的基本驱动程序。操作系统可以使用这些驱动程序吗?

MS-DOS 确实是那种操作系统,但它也有内存限制问题。

*说操作系统必须也处于实模式才能使用 BIOS 驱动程序,因为 BIOS 是一个实模式程序。也有系统维护模式,但它是否连接到 BIOS 驱动程序?

基本思想是使用 BIOS 驱动程序来拥有一个极小的操作系统。这当然是一种爱好(拥有自己的小型操作系统只是一个令人兴奋的前景)。

任何人都可以解释这可能吗?是否也可以访问整个内存?

真实模式似乎因 CPU 不同而不同,也许最新的处理器为这种模式提供了更多功能。

大多数操作系统都是在保护模式下编写的,因为实模式不能进行多任务处理和分离权限。但对我来说,没有多任务也没有特权是可以的,我说的是爱好操作系统。重要的是重用 BIOS 驱动程序,因为编写驱动程序是操作系统开发中最困难的部分。

如果整个操作系统都是基于解释器的,则可以“模拟”多任务处理。

所以总结一下,请从磁盘、显卡、内存、CPU资源和整体上分析写x86 Real Mode OS的可能性。

【问题讨论】:

  • 恐怕这个问题在这里完全是题外话;除非您将其更改为包含您在编写操作系统时遇到的一个或多个特定问题。
  • 重点问题是可以在实模式下访问整个 RAM 并同时使用 BIOS 驱动程序。这些司机究竟能做什么,不能做什么。
  • 这是 25 年前利用Virtual 8086 mode 完成的。
  • 这种模式下能否使用bios中断调用读取文件并输出到屏幕?

标签: assembly operating-system driver cpu hobby-os


【解决方案1】:

您已经知道 DOS 在实模式下工作。甚至还有用于 DOS 的 GUI shell。

但这里的实模式只是出于兼容性目的,它确实错过了几乎所有现代计算机的功能。尽管如此,还是有人成功地制作了实模式操作系统——例如MikeOS

另一方面,在保护模式下工作并不那么复杂。有许多爱好操作系统成功地使用了保护模式。检查例如 Kolibri OSDexOS

看一些截图:

迈克操作系统:

KolibriOS:

DexOS:

【讨论】:

    【解决方案2】:

    过去,有个别应用程序使用“DOS 扩展程序”。这些扩展器将允许应用程序在受保护模式下运行,从而获得对那里所有资源的访问权(主要用于内存,因为您已经可以在实模式下进行 32 位处理)。您没有理由不能在您的操作系统中使用相同的概念。在保护模式下运行内核并返回到实模式以访问 BIOS。当然,它会对性能产生影响,但我们发现它对于某些问题的某个子集来说是值得的。 :-)

    【讨论】:

      最近更新 更多