延伸记忆体

延伸记忆体eXtended Memory),指的是超过1MB以上的记忆体空间,在配备Intel 80286或以上的CPUIBM PC上。它是在1988年,由微软莲花研究英特尔AST研究共同开会制定出来的规格,他们共同制定了延伸记忆体的定义、应用程式取用延伸记忆体的中断呼叫,这个标准在MS-DOS的个人电脑时代,成为解决个人电脑记忆体不足的一种方法。

一般来说,在Intel 80286以上的个人电脑,超过640KB部分的RAM,通常都会对映到超过1MB以上的部分,使得在保护模式下的程式可以存取它们。但即使没有这种对映,还是有可能可以存取1MB以上的RAM。

延伸记忆体在真实模式只能透过EMS、UBM、XMS、HMA等方式来存取,只有在保护模式下执行的程式才可以直接存取到延伸记忆体。例如:Microsoft Windows,透过全域描述表(GDT)与多个局部描述表(LDT)可以存取这些记忆体,被称为保护模式是因为被局部描述的节区不能被使用其他LDT的程式存取。被全域描述指派的记忆体节区有更严格的限制,当破坏时会引发硬体异常(通常是General Protection Fault),这使得在保护模式下执行的程式不会互相干扰。

保护模式下的作业系统(如Windows)也可以执行真实模式程式,并提供延伸记忆体给他们。DOS保护模式介面是微软所提供,在多工环境下使MS-DOS程式可以存取延伸记忆体的方法。

参见