热门问题
时间线
聊天
视角

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 related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads