4

我们如何在 Linux 2.6 中从保护模式转换到实模式?

4

5 回答 5

10

你不。

内核在实模式下根本无法运行,也无法(明智地)进行 bios 调用,因此您无论如何都无法做任何事情。

您可能会查看 DosEMU 如何使用 v86 模式来运行您的“实模式”代码,但仅此而已。

于 2009-05-06T14:48:28.063 回答
2

如果你真的需要硬件上的实模式,你也可以看看FreeDOS 。

于 2009-05-06T16:55:49.660 回答
2

内核在引导/启动序列的一开始就从实模式切换到保护模式,并且没有回头路。有关更多详细信息,请参阅引导加载程序的工作原理。

如果你有一些程序需要实模式,有v86 模式。正在进行一些 工作以在 64 位模式下添加对此的支持。

于 2009-05-06T22:13:16.480 回答
1

ELKS Linux 端口可以做实模式,但离 2.6 还差得很远。

于 2009-05-06T13:40:33.390 回答
1

我们可以通过编写一些代码行作为内核的一部分,从保护模式切换到实模式。

主要是在 cr0 寄存器上禁用PE 位后,我们需要加载相应的GDT、LDT、IDT。只需点击此链接了解更多详情http://www.sudleyplace.com/pmtorm.html

于 2012-05-10T10:28:00.373 回答