DOS擴展器

DOS擴展器是一個電腦軟體程式,令須保護模式環境的軟體能夠在實模式運行,即使其所處的作業系統只能在實模式下運作。

基本介紹

  • 中文名:DOS擴展器
  • 屬性:電腦軟體程式
  • 出現時間:1980年代
  • 學科:計算機
  • 領域:計算機
  • 使用晶片Intel 80386
介紹,DOS擴展器操作,誕生歷史,DOS擴展器舉例,著名DOS擴展的應用程式,

介紹

DOS擴展器是一個電腦軟體程式,令須保護模式環境的軟體能夠在實模式運行,即使其所處的作業系統只能在實模式下運作。
DOS擴展器起初在1980年代誕生,目的是要通過Intel 80286晶片(稍後擴展到Intel 80386)的指令,以應付MS-DOS及其它同類型作業系統的記憶體限制。

DOS擴展器操作

DOS可見記憶體
實模式
640K
DOSDOS
DOS擴展器,是“擴展的”DOS程式,保護模式程式可藉之透明地使用底層的MS-DOS套用接口。這很重要:因為許多由DOS所提供的函式接口 須為“16位的段:16位的偏移”形式來指向頭640k記憶體中的某一塊記憶體;然而,保護模式以《全局描述符號表》描述各段的特徵,用段暫存器(現稱“選擇子”)指向《表》項,此舉與實模式不兼容。晶片須切換回實模式(或虛擬86模式)以回響某個非保護模式的請求。
除了要“建起環境、載入程式來執行”之外,DOS擴展器還須提供(其它)轉換層,這包括維護它自己在1MB實模式中的所申請的記憶體緩衝器,這些快取用於在底層實模式作業系統與保護模式程式之間傳輸數據。因為在實模式/虛擬86模式與保護模式之間切換甚為耗時,所以擴展器會複製許多實模式操作功能函式到它自己的保護模式環境內,以此減少切換次數。例如DOS在作業系統與用戶級別軟體之間的廣泛地以中斷來通訊,DOS擴展器則因而攔截許多公用硬體(例如實時時鐘、鍵盤)與軟體(例如DOS自己、滑鼠套用接口)的中斷。許多擴展器更處理公用中斷函式,例如常規視頻BIOS中斷函式。
DOS擴展器在本質上就是小型作業系統,提供了許多作業系統自己的底層功能。

誕生歷史

可考證得DOS擴展器是由Phar Lap所創建,但主推者卻是Tenberry軟體公司(以前的 Rational 系統)的386DOS/4GW擴展器,它帶來了保護模式DOS程式。後來更有Watcom_c在C、C++與Fortran在386晶片級別上的編譯器,很快就無處不在地呈現在PC應用程式、遊戲(例如id Software的成名軟體毀滅戰士)里了。
開始只是商務程式之類的記憶體老饕需要DOS擴展器,後來PC遊戲則把DOS擴展器的需求公諸天下。結果DOS擴展器的開發就成功了,兩個新軟體接口被創建出來,以照顧許多潛在衝突,這些衝突源於多種已存在的記憶體管理方法,現統一到只給客戶程式提供唯一的接口。
第一個接口是虛擬控制程式接口(Virtual Control Program Interface,縮寫作VCPI),旋為DOS保護模式接口(DOS Protected Mode Interface,縮寫作DPMI)所代,後者在Windows 3.0 開發中誕生。它提供了套用接口,以擴展的程式與實模式軟體銜接、分配記憶體、處理中斷服務,更讓擴展器自己創建了保護模式切換、允許多個保護模式程式的同時共存。

DOS擴展器舉例

  • Tenberry 軟體公司的DOS/4G、DOS/4GW與DOS/16M。
  • Phar Lap286|DOS擴展器、386|DOS擴展器。
  • Al Williams在《Dr. Dobb's Journal》內付梓的PROT,是32位DOS擴展器,在另兩冊書亦有。該擴展器可在仿真模式運行DOS與調用BIOS的優點,不用真的切換到實模式。
  • Ergo(以前是 Eclipse, formerly A. I. Architects)OS/286、OS/386 擴展,與 DPM16、DPM32 服務。
  • Microsoft Windows在1990年前所有(64位版本除外)版本的Windows,都包括都包括 DPMI服務與 DOS擴展器。
  • HX DOS Extender提供的Win32有限支持。
  • DosWin32提供的Win32有限支持。
  • Charles W. Sandman的CWSDPMI,是DPMI伺服器,使用32位保護模式DOS的DJGPP程式。
  • 舊(pre-v2)版本的GO32使用DJGPPFree Pascal
  • Salford 軟體的DBOS,是32位保護模式DOS擴展器,主用於其FTN77(Fortran編譯器)。
  • Narech K模仿DOS/4GW的DOS/32。

著名DOS擴展的應用程式

  • Adobe Acrobat Reader 1.0(用了早期商務版本 DOS/4GW)
  • AutoCAD11(PharLap 386)
  • Lotus 1-2-3發行版的第3版(Rational系統DOS/16M)
  • 甲骨文公司商務版本軟體
  • IBM公司的Interleaf
  • 1980年代的BBS軟體包《Major BBS》,用了Phar Lap的DOS擴展器。
  • Quarterdeck Office Systems Quarterdeck的DESQview、DESQview/X 多任務軟體
  • 1990年代早期中期的無數DOS遊戲,多用DOS/4GW,包括:
  • id Software毀滅戰士及其續集,又如雷神之錘 (遊戲)(用DJGPP寫的)
  • Looking Glass Studios的網路奇兵,
  • Parallax Software的黑暗侵襲
  • Crack dot com的Abuse
  • 暴雪娛樂的魔獸爭霸: 獸人與人類、魔獸爭霸II:黑暗之門
  • Midway的真人快打系列
  • 西木工作室的命令與征服紅色警戒1
  • DMA Design(現稱Rockstar North)的俠盜獵車手,後期遊戲版本移植進了Windows以兼容新型電腦。
  • NovaLogic的科曼奇:全球挑戰用了特殊的非實模式記憶體管理器,須80386晶片支持,與其他記憶體管理器、虛擬DOS機器不兼容,須在CONFIG.SYS內配置複雜的DOS啟動選單。後期版本包含了一個DOS擴展器,以解上述難題。
Windows 9x自稱為“作業系統”系列,但實為高級的更靈活擴展了MS-DOS代碼的Window

相關詞條

熱門詞條

聯絡我們