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

问题描述:

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

+7

为什么?你的Linux安装没有足够的崩溃对雅'? – paxdiablo 2009-05-06 13:02:30

+1

你究竟想达到什么目的?你所要求的并不是真的可行,但如果你提供更多的背景知识,有人可能会向你展示另一种实现你需要的方式。 – jalf 2009-05-06 17:00:05

你不知道。

内核在真实模式下根本无法正常工作,也不能(理智地)制作BIOS,因此无论如何您都无法做任何事情。

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

+1

我同意这是一个坏主意,但它在技术上是可行的... – 2010-12-01 18:02:25

ELKS Linux端口可以做实模式,但是它不在2.6附近。

如果您确实需要硬件上的实模式,您还可以查看FreeDOS

在引导/启动序列的开始阶段,内核从实模式切换到保护模式,并且没有返回。 有关更多详细信息,请参阅How Boot Loaders Work

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

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

主要的是禁用的CR0寄存器中的PE位之后,我们需要加载适当GDT,LDT,IDT。 只需按照此链接了解更多详情http://www.sudleyplace.com/pmtorm.html