EMS/XMS記憶體配置模式

 

  EMS 是 Expanded Memory System 的簡稱,注意的是 EMS 縮寫的『S』和XMS 的『S』並非代表同一個英文字,但意義相差不遠;另一種說法以 EMS 代表 Expanded Memory Specification。有時我們也以 EMS 直接代表擴充記憶體。

   擴充記憶體是由以生產 Lotus 1-2-3 試算表軟體聞名於世的 Lotus 公司、製造電腦 CPU 的 Intel 公司和全球最大的 Microsoft 軟體公司共同制定的一個工業標準,最早它是設計於 PC 主機板上,最多可加至 8 MB 的記憶體,在同一時間內我們只能利用 MS-DOS 可定址的 1024 KB 當中,開啟一個 64 KB 的頁框 (page frame),利用這個類似『視窗』的空間,來存取整個 EMS 的記憶體,後來的版本允許這個記憶體管理程式以軟體來模擬,使得我們不再需要購買一塊擴充記憶體卡,便可以使用支援 EMS 的應用程式。它利用 bank switching 的技巧使得應用程式得以靠 64 KB 的頁框來取用達數 MB 的記憶體。因為 EMS 是由上面三家軟體公司制定的一個標準,所以這個標準又稱為 LIM EMS,擴充記憶體也可以用磁碟空間來模擬,但是如此一來程式執行的效率將會降低許多。

 
  XMS 為 eXtended Memory Specification 的縮寫,它是在 1988 年由Microsoft 公司、Lotus Development 公司、Intel 公司和 AST Research 公司共同開會制定出來的規格,其中制定了延伸記憶體的定義、應用程式取用延伸記憶體的中斷呼叫,這個標準沿用至今,已成為解決 PC 記憶體不足的一大利器。
 

在以下這個範例中,示範了安裝DOS的虛擬記憶體,但是不採用EMS的記憶體配置模式

device=c:\dos\emm386.exe noems

而以下這個範例則表示安裝DOS的虛擬記憶體,且採用1024K的EMS

device=c:\dos\emm386.exe ram=1024