DOS API最初是86-DOS中的应用程序接口(API),并也被MS-DOS/PC-DOS及其他DOS兼容操作系统使用。大多数对DOS API的调用是使用中斷21h( 21h)。在调用INT 21h时,在AH 寄存器中带有子函数号,其他寄存器中带有其他参数,从而调用各个DOS服务。DOS服务包括键盘输入、视频输入、磁盘文件访问、执行程序、内存分配及其他事务。在1980年代后期,围绕(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控制的文件访问。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通常从一个(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,但也可使用一个虛擬機器——处理DOS API。NTVDM将DOS程序在虚拟8086模式(Intel 80386及更高处理器上可在保護模式下进行真實模式的仿真)模式下运行。NTVDM支持DOS 5.0 API。面向Linux的使用类似的方法。
DOS使用的中断向量
DOS INT 21h服务
支持MS-DOS API的操作系统
- MS-DOS - 最广泛的化身
- PC DOS - MS-DOS的IBM OEM版本
- DR-DOS - 数字研究DOS系列,包括DR-DOS、DR-DOS, DR-DOS等。
- - PhysTechSoft和Paragon 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的程序
- (仅3.1)的 – 基于CP/M-86的Digital Research操作系统,使用可选的PC DOS模拟器
- – 内置PC DOS模拟器的Digital Research CDOS家族
- – Concurrent PC DOS 4.1–5.0的一个简化的单用户变种
- – Digital Research/Novell MDOS家族,包含、等。
- 用于Windows NT的
- 用于Linux的
- DOSBox
参见
- BIOS中斷呼叫
*
*
*
- DOS MZ可执行文件
- COMMAND.COM
参考资料
- [http://www.cs.cmu.edu/~ralf/files.html The x86 Interrupt List] (a.k.a. RBIL, Ralf Brown's Interrupt List)
- [http://www.ctyme.com/intr/cat-010.htm ctyme.com - INT Calls by function]
- [https://web.archive.org/web/20020622163518/http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/toc.html 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
*
- 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.
- [https://web.archive.org/web/20060721115437/http://www.redbooks.ibm.com/redbooks/pdfs/gg244459.pdf 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 ([https://web.archive.org/web/20120625021802/http://www.drdos.net/documentation/sysprog/httoc.htm]).
评论 (0)