MS-DOS API — прикладний програмний інтерфейс, що походить від операційної системи 86-DOS та використовується у MS-DOS/PC DOS й інших DOS-сумісних операційних системах. Більшість викликів DOS API відбувається за допомогою програмного переривання 21h (INT 21h). Викликом INT 21h з номером підфункції у AH регістрі процесора й іншими параметрами в інших регістрах звертаються до різних можливостей DOS (клавіатурний увід, відео вивід, файловий доступ до дисків, виконання програм, розподілення пам'яті та багато інших речей). У пізні 1980-і, DOS розширювачі разом з DPMI дозволяли програмі виконуватися навіть у 16-бітному або 32-бітному захищеному режимі та водночас мати доступ до DOS API.

Історія DOS API Спочатку DOS API в 86-DOS і MS-DOS 1.0 було розроблено функціонально сумісним з CP/M. Доступ до файлів використовував . DOS API дуже розширилося у MS-DOS 2.0 з декількома Unix ідеями включаючи доступ до файлів за допомогою файлових дескрипторів, ієрархічні директорії та керування пристроями вводу/виводу. У DOS 3.1 була додана підтримка network redirector . В MS-DOS 3.31 INT 25h/26h були розширені функціями підтримки жорстких дисків більших за 32 MB. MS-DOS 5 додала підтримку верхньої пам'яті (UMA). Після MS-DOS 5 було зупинено зміну DOS API для самодостатніх версій DOS.

DOS API та Windows У Windows 9x, DOS зазвичай використовувався як завантажувач операційної системи захищеного режиму та графічної оболонки. Доступ до DOS був з-під (VDM) але також була можливість завантажитися прямо в реальний режим MS-DOS 7.0 без Windows. DOS API було розширене більшою підтримкою інтернаціоналізації та довгими назвами файлів, але остання можливість була наявна лише в VDM. З Windows 95 OSR2, DOS була оновлена до 7.1, до якої додалися підтримка FAT32 та додані функції DOS API для підтримки цього. Windows 98 та Windows ME також містять MS-DOS 7.1 DOS API в Windows ME визначає свою версію як MS-DOS 8.0.

Windows NT та засновані на ній системи (наприклад Windows XP і Windows Vista) не спиралися на MS-DOS, але використовували віртуальну машину, NTVDM, для виконання DOS API. NTVDM працює, виконуючи DOS програми в віртуальному режимі емуляції 8086 (емуляція реального режиму у захищеному режимі присутня в 80386 та вищих процесорах). NTVDM підтримує DOS 5.0 API. DOSEMU для Linux використовує подібні принципи.

Вектори переривань, що використовуються DOS Вектор перериванняОписВерсіяПриміткаЗакінчити програму1.0+Реалізоване в ядрі DOSГоловне DOS API1.0+Реалізоване в ядрі DOSProgram terminate address1.0+Return address in calling programАдреса обробника Control-C1.0+Стандартний обробник в командній оболонці (зазвичай COMMAND.COM)Адреса обробника критичної помилки1.0+Стандартний обробник в командній оболонці (зазвичай COMMAND.COM)Абсолютне читання з диску1.0+Реалізоване в ядрі DOS, розширено в DOS 3.31 для підтримки розділів до 2 GBАбсолютний запис на диск1.0+Реалізоване в ядрі DOS, розширено в DOS 3.31 для підтримки розділів до 2 GBЗаверишити програму та залишитись резидентом1.0+Реалізовано в COMMAND.COM у DOS 1.0, DOS ядрі в DOS 2.0+Idle callout2.0+Викликається ядром DOS під час очікування користувацького вводуШвидкий вивід у консоль2.0+Реалізовується вбудованим драйвером консолі або заміщаючим драйвером наподобі ANSI.SYSМережа та критичні секції3.0+Викликається DOS ядром для взаємодії з мережевим ПЗНе використовуєтьсяНе використовуєтьсяНе використовуєтьсяReload transient2.0+Реалізовано в COMMAND.COMMultiplex3.0+Реалізовано у DOS ядрі та різних програмах (PRINT, MSCDEX, DOSKEY, APPEND, etc.) залежно від номера підфункції

Операційні системи з підтримкою MS-DOS API MS-DOS — найбільш поширене втілення PC DOS — IBM OEM версія MS-DOS DR-DOS — родина Digital Research DOS, включно з Novell DOS, PalmDOS, OpenDOS, etc. PTS-DOS — PhysTechSoft & Paragon DOS клон, включаючи S/DOS ROM-DOS — Datalight ROM DOS версія FreeDOS — вільний, із відкритими джерельними кодами клон DOS Windows 95 — містить MS-DOS 7.0 Windows 98 (включно з версією 98 SE) — містить MS-DOS 7.1 Windows ME — містить MS-DOS 8.0 Windows NT (всі версії, окрім 64-бітних)

Програми з підтримкою MS-DOS API Concurrent CP/M-86 (3.1 лише) з PCMODE — Digital Research CP/M-86-подібна OS з необов'язковим PC DOS емулятором Concurrent DOS — сімейство Digital Research CDOS з вбудованим PC DOS емулятором DOS Plus — урізаний однокристувацький варіант Concurrent PC DOS 4.1-5.0 Multiuser DOS — сімейство Digital Research/Novell MDOS включно з Datapac System Manager, IMS REAL/32, etc. NTVDM.EXE для Windows NT DOSEMU для Linux DOSBox

Див. також Виклики BIOS переривань Порівняння операційних систем сімейства DOS DOS/4GW COMMAND.COM

Посилання 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 Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers by Ray Duncan, Microsoft Press, 1988 ISBN 1556151578 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 ().