stringtranslate.com

API-интерфейс DOS

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

История API DOS

Первоначальный API DOS в 86-DOS и MS-DOS 1.0 был разработан для функциональной совместимости с CP/M . Доступ к файлам осуществлялся с помощью блоков управления файлами (FCB). API DOS был значительно расширен в MS-DOS 2.0 несколькими концепциями Unix , включая доступ к файлам с помощью дескрипторов файлов , иерархические каталоги и управление вводом-выводом устройств. [1] В DOS 3.1 была добавлена ​​поддержка сетевого редиректора . В MS-DOS 3.31 функции INT 25h/26h были улучшены для поддержки жестких дисков объемом более 32 МБ. В MS-DOS 5 была добавлена ​​поддержка использования верхних блоков памяти (UMB). После MS-DOS 5 API DOS оставался неизменным для последующих автономных выпусков DOS.

API DOS и Windows

В Windows 9x DOS загружала систему защищенного режима и графическую оболочку. Обычно доступ к DOS осуществлялся с виртуальной машины DOS (VDM), но также можно было напрямую загрузиться в реальный режим MS-DOS 7.0 без загрузки Windows. API DOS был расширен за счет улучшенной поддержки интернационализации и поддержки длинных имен файлов , хотя поддержка длинных имен файлов была доступна только в VDM. С Windows 95 OSR2 DOS был обновлен до 7.1, в которой была добавлена ​​поддержка FAT32 , а в API DOS были добавлены функции для ее поддержки. Windows 98 и Windows ME также реализуют API MS-DOS 7.1, хотя 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

Ниже приведен список векторов прерываний, используемых программами для вызова функций API DOS.

DOS INT круглосуточные услуги

Ниже приведен список функций, предоставляемых через первичный вектор программного прерывания API DOS.

Операционные системы с собственной поддержкой

Операционные системы с эмуляцией DOS

Другие эмуляторы

Смотрите также

Ссылки

  1. ^ Рэй Дункан (1988). Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers . Microsoft Press. ISBN 0914845772.

Дальнейшее чтение

Внешние ссылки