热门问题
时间线
聊天
视角
DOS API
来自维基百科,自由的百科全书
Remove ads
DOS API最初是86-DOS中的應用程式介面(API),並也被MS-DOS/PC-DOS及其他DOS相容作業系統使用。大多數對DOS API的呼叫是使用中斷21h(INT 21h)。在呼叫INT 21h時,在AH 暫存器中帶有子函數號,其他暫存器中帶有其他參數,從而呼叫各個DOS服務。DOS服務包括鍵盤輸入、視頻輸入、磁碟檔案訪問、執行程式、主記憶體分配及其他事務。在1980年代後期,圍繞DOS保護模式介面(DPMI)的DOS擴充器允許程式在16位元或32位元的保護模式下執行,並仍可訪問DOS API。
![]() | 此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
DOS API的歷史
在86-DOS和MS-DOS 1.0中的原始DOS API在設計上與CP/M相容。檔案訪問使用檔案控制塊(FCB)。在MS-DOS 2.0中的DOS API大大擴充了數個Unix概念,包括使用檔案描述子、分層目錄和裝置I/O控制的檔案訪問。[1]DOS 3.1中添加了網絡重新導向器的支援。MS-DOS 3.31中,INT 25h/26h函數被增強以支援大於32MB的硬碟。MS-DOS 5添加了使用高端主記憶體塊(UMB)的支援。在MS-DOS 5之後,連續、獨立發布的DOS沒有改變DOS API。
DOS API與Windows
在Windows 9x,DOS通常作為引導載入程式載入受保護模式的作業系統和圖形外殼。DOS通常從一個DOS虛擬機器(VDM)訪問,但也可以不載入Windows而直接啟動到真實模式的MS-DOS 7.0。DOS API已增強國際化和長檔名支援,儘管長檔名支援僅在VDM中可用。隨着Windows 95 OSR2,DOS被更新到7.1,添加了FAT32及對其DOS API的支援。Windows 98和Windows Me也實現了MS-DOS 7.1 API,儘管Windows ME本身自稱為MS-DOS 8.0。
Windows NT及基於它的系統(例如Windows XP和Windows Vista)不是基於MS-DOS,但也可使用一個虛擬機器——NTVDM處理DOS API。NTVDM將DOS程式在虛擬8086模式(Intel 80386及更高處理器上可在保護模式下進行真實模式的仿真)模式下執行。NTVDM支援DOS 5.0 API。面向Linux的DOSEMU使用類似的方法。
Remove ads
DOS使用的中斷向量
DOS INT 21h服務
Remove ads
支援MS-DOS API的作業系統
- MS-DOS - 最廣泛的化身
- PC DOS - MS-DOS的IBM OEM版本
- DR-DOS - 數字研究DOS系列,包括DR-DOS、DR-DOS, DR-DOS等。 Template:Needfix
- PTS-DOS - PhysTechSoft和Paragon DOS克隆,包括S/DOS
- ROM-DOS - Datalight ROM DOS版本
- FreeDOS - 自由、開源的DOS克隆
- ReactOS(IA-32和X86-64版本)
- Windows 95 - 包含MS-DOS 7.0
- Windows 98 - 包含MS-DOS 7.1
- Windows 98 - 包含MS-DOS 7.1
- Windows Me - 包含MS-DOS 8.0
- Windows NT(64位元版本外的所有版本)
支援MS-DOS API的程式
- Concurrent CP/M-86(僅3.1)的PCMODE – 基於CP/M-86的Digital Research作業系統,使用可選的PC DOS模擬器
- Concurrent DOS – 內建PC DOS模擬器的Digital Research CDOS家族
- DOS Plus – Concurrent PC DOS 4.1–5.0的一個簡化的單使用者變種
- 多使用者DOS – Digital Research/Novell MDOS家族,包含Datapac System Manager、IMS REAL/32等。
- 用於Windows NT的NTVDM.EXE
- 用於Linux的DOSEMU
- DOSBox
Remove ads
參見
- BIOS中斷呼叫
- Ralf Brown's Interrupt List
- DOS作業系統的比較
- DOS/4GW
- DOS MZ可執行檔案
- COMMAND.COM
參考資料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads