延伸記憶體
维基百科,自由的百科全书
延伸記憶體(eXtended Memory),指的是超過1MB以上的記憶體空間, 在配備Intel 80286或以上的CPU的IBM PC上。它是在1988年,由Microsoft、Lotus Development公司、Intel和AST Research共同開會制定出來的規格,他們共同制定了延伸記憶體的定義、應用程式取用延伸記憶體的中斷呼叫,這個標準在MS-DOS的個人電腦時代,成為解決PC記憶體不足的一種方法。
一般來說, 在Intel 80286以上的PC,超過640KB部分的RAM,通常都會對映到超過1MB以上的部分,使得在保謢模式下的程式可以存取它們。但即使沒有這種對映,還是有可能可以存取1MB以上的RAM。
延伸記憶體在真實模式只能透過EMS, UBM, XMS, HMA等方式來存取,只有在保護模式下執行的程式才可以直接存取到延伸記憶體。例如:Microsoft Windows,透過Global Descriptor Table, 與多個Local Descriptor Table可以存取這些記憶體, 被稱為保護模式是因為被local descriptor的節區(segment)不能被使用其他LDT的程式存取。被global descriptor指派的記憶體節區有更嚴格的限制,當破壞時會引發hardware trap, (通常是General Protection Fault)這使得在保護模式下執行的程式不會互相干擾。
保護模式下的作業系統(如Windows)也可以執行真實模式的程式,並提供延伸記憶體給他們。 DOS Protected Mode Interface是微軟所提供,在多工環境下使MS-DOS程式可以存取延伸記憶體的方法。