DOS API

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。 在86-DOS和MS-DOS 1.0中的原始DOS API在设计上与CP/M兼容。文件访问使用文件控制块（英语：file control block）（FCB）。在MS-DOS 2.0中的DOS API大大扩展了数个Unix概念，包括使用文件描述符、分层目录和设备I/O控制的文件访问。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。 在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 98和Windows Me也实现了MS-DOS 7.1 API，尽管Windows ME本身自称为MS-DOS 8.0。 Windows NT及基于它的系统（例如Windows XP和Windows Vista）不是基于MS-DOS，但也可使用一个虛擬機器——NTVDM（英语：NTVDM）处理DOS API。NTVDM将DOS程序在虚拟8086模式（Intel 80386及更高处理器上可在保護模式下进行真實模式的仿真）模式下运行。NTVDM支持DOS 5.0 API。面向Linux的DOSEMU（英语：DOSEMU）使用类似的方法。 MS-DOS - 最广泛的化身 PC DOS - MS-DOS的IBM OEM版本 DR-DOS - 数字研究DOS系列，包括DR-DOS、DR-DOS, DR-DOS等。 Template:Needfix PTS-DOS（英语：PTS-DOS） - PhysTechSoft和Paragon DOS克隆，包括S/DOS（英语：S/DOS） ROM-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位版本外的所有版本） 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 Manager）、IMS REAL/32（英语：IMS REAL/32）等。 用于Windows NT的NTVDM.EXE（英语：NTVDM） 用于Linux的DOSEMU（英语：DOSEMU） DOSBox BIOS中斷呼叫 Ralf Brown's Interrupt List（英语：Ralf Brown's Interrupt List） DOS操作系统的比较（英语：Comparison of DOS operating systems） DOS/4GW（英语：DOS/4GW） DOS MZ可执行文件 COMMAND.COM Ray Duncan. Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers. Microsoft Press. 1988. ISBN 0914845772.  The x86 Interrupt List（页面存档备份，存于互联网档案馆） (a.k.a. RBIL, Ralf Brown's Interrupt List) ctyme.com - INT Calls by function（页面存档备份，存于互联网档案馆） wustl.edu - Description of MS-DOS services Microsoft MS-DOS Programmer's Reference - The Official Technical Reference to MS-DOS, Microsoft Press, 1993 ISBN 1556155468 The MS-DOS Encyclopedia, Microsoft Press, 1988, ISBN 1556151748 Ray Duncan. Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers. Microsoft Press. 1988. ISBN 0914845772.  The Programmer's PC Sourcebook by Thom Hogan, Microsoft Press, 1991 ISBN 155615321X The New Peter Norton Programmer's Guide to the IBM PC & PS/2 by Peter Norton and Richard Wilton, Microsoft Press, 1987 ISBN 1-55615-131-4. IBM PC DOS 7 Technical Update Caldera, Inc. (1997). OpenDOS Developer's Reference Series — OpenDOS Programmer's Guide — System and Programmer's Guide. Printed in the UK, August 1997. Caldera Part No. 200-DOPG-003 ([1]).