萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> 作業系統基礎知識

CONFIG.SYS 核心指令解析:device、devicehigh、HIMEM、EMM386 與 DOS 記憶體管理

DOS 環境下 CONFIG.SYS 控制裝置驅動程式載入與記憶體管理。理解 device、devicehigh、HIMEM.SYS、EMM386.EXE 的關係,能最大化釋放常規記憶體(低 640 KB),讓大型 DOS 程式順利執行。

指令對照表

指令功能典型範例
device=載入驅動程式至常規記憶體device=c:\dos\himem.sys
devicehigh=載入驅動程式至上層記憶體區(UMB)devicehigh=c:\cdrom\cdrom.sys

記憶體管理三雄

  1. HIMEM.SYS (XMS):管理擴充記憶體(1 MB 以上),讓程式存取 >640 KB 記憶體。
  2. EMM386.EXE (EMS):在擴充記憶體中模擬擴充記憶體規格(EMS),並提供 UMB 供 devicehigh/loadhigh 使用。
  3. DOS=HIGH,UMB:將 DOS 核心本身移至 HMA(High Memory Area,1 MB–1 MB+64 KB)與 UMB,釋放常規記憶體。

正確載入順序(關鍵)

device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
dos=high,umb
devicehigh=c:\cdrom\cdrom.sys
devicehigh=c:\dos\mouse.sys

原則:HIMEM → EMM386 → DOS=HIGH,UMB → devicehigh/loadhigh。EMM386 需依賴 HIMEM 提供的 XMS 服務。

參數細節

  • emm386.exe ram:提供 EMS + UMB;noems 僅提供 UMB(節省記憶體)。
  • dos=high,umb 可拆寫為兩行 dos=high dos=umb。
  • 未載入 EMM386 時 umb 參數無效。

實戰效果

執行 mem /c /p 觀察:常規記憶體可用應 > 600 KB,UMB 區塊被驅動程式佔用,大型 DOS 應用(如早期資料庫、編譯器)即可順利啟動。

現代應用場景

  • 舊式工控機、BIOS 更新磁碟、嵌入式 DOS 系統維護。
  • 虛擬機器(DOSBox、VirtualBox、VMware)模擬 DOS 環境時同樣適用。
copyright © 萬盛學電腦網 all rights reserved