热门问题
时间线
聊天
视角

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