延伸記憶體

延伸記憶體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程式可以存取延伸記憶體的方法。

參見