热门问题
时间线
聊天
视角

DOS API

来自维基百科,自由的百科全书

Remove ads

DOS API最初是86-DOS中的應用程式介面(API),並也被MS-DOS/PC-DOS及其他DOS相容作業系統使用。大多數對DOS API的呼叫是使用中斷21h(INT英語INT (x86 instruction) 21h)。在呼叫INT 21h時,在AH 暫存器中帶有子函數號,其他暫存器中帶有其他參數,從而呼叫各個DOS服務。DOS服務包括鍵盤輸入、視頻輸入、磁碟檔案訪問、執行程式、主記憶體分配及其他事務。在1980年代後期,圍繞DOS保護模式介面英語DOS Protected Mode Interface(DPMI)的DOS擴充器允許程式在16位元或32位元的保護模式下執行,並仍可訪問DOS API。

DOS API的歷史

在86-DOS和MS-DOS 1.0中的原始DOS API在設計上與CP/M相容。檔案訪問使用檔案控制塊英語file control block(FCB)。在MS-DOS 2.0中的DOS API大大擴充了數個Unix概念,包括使用檔案描述子分層目錄和裝置I/O控制的檔案訪問。[1]DOS 3.1中添加了網絡重新導向器英語network redirector的支援。MS-DOS 3.31中,INT 25h/26h函數被增強以支援大於32MB的硬碟。MS-DOS 5添加了使用高端主記憶體塊英語upper memory blocks(UMB)的支援。在MS-DOS 5之後,連續、獨立發布的DOS沒有改變DOS API。

DOS API與Windows

Windows 9x,DOS通常作為引導載入程式載入受保護模式的作業系統和圖形外殼。DOS通常從一個DOS虛擬機器英語virtual DOS machine(VDM)訪問,但也可以不載入Windows而直接啟動到真實模式的MS-DOS 7.0。DOS API已增強國際化和長檔名支援,儘管長檔名支援僅在VDM中可用。隨着Windows 95 OSR2,DOS被更新到7.1,添加了FAT32及對其DOS API的支援。Windows 98Windows Me也實現了MS-DOS 7.1 API,儘管Windows ME本身自稱為MS-DOS 8.0。

Windows NT及基於它的系統(例如Windows XPWindows Vista)不是基於MS-DOS,但也可使用一個虛擬機器——NTVDM英語NTVDM處理DOS API。NTVDM將DOS程式在虛擬8086模式Intel 80386及更高處理器上可在保護模式下進行真實模式的仿真)模式下執行。NTVDM支援DOS 5.0 API。面向LinuxDOSEMU英語DOSEMU使用類似的方法。

Remove ads

DOS使用的中斷向量

更多資訊 中斷向量, 描述 ...

DOS INT 21h服務

更多資訊 AH, 描述 ...
Remove ads

支援MS-DOS API的作業系統

支援MS-DOS API的程式

  • Concurrent CP/M-86英語Concurrent CP/M-86(僅3.1)的PCMODE英語PCMODE – 基於CP/M-86的Digital Research作業系統,使用可選的PC DOS模擬器
  • Concurrent DOS英語Concurrent DOS – 內建PC DOS模擬器的Digital Research CDOS家族
  • DOS Plus英語DOS Plus – Concurrent PC DOS 4.1–5.0的一個簡化的單使用者變種
  • 多使用者DOS英語Multiuser DOS – Digital Research/Novell MDOS家族,包含Datapac System Manager英語Datapac System ManagerIMS REAL/32英語IMS REAL/32等。
  • 用於Windows NTNTVDM.EXE英語NTVDM
  • 用於LinuxDOSEMU英語DOSEMU
  • DOSBox
Remove ads

參見

參考資料

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads