内核在开机/启动序列的非常开始阶段从实模式切换到保护模式,且无法回头。 详细信息请参见《启动引导程序的工作原理》。如果您有一些需要实模式的程序,可以使用v86 模式。目前正在进行一些工作以在64位模式下添加对此的支持,详情请参见这里和这个项目。
我们可以通过编写内核代码的一部分,从保护模式切换到实模式。关键是在禁用cr0寄存器上的PE位后,我们需要加载适当的GDT、LDT和IDT。请访问http://www.sudleyplace.com/pmtorm.html了解更多细节。