7

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

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

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

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

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

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

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

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

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

4

2 回答 2

8

如您所知,DOS 在实模式下工作。甚至还有用于 DOS 的 GUI shell。

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

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

看一些截图:

迈克操作系统: 迈克OS

KolibriOS: Kolibri 操作系统

德克斯操作系统: 德克斯操作系统

于 2013-11-06T08:00:39.030 回答
3

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

于 2013-11-06T14:53:45.187 回答