MS-DOS API — прикладний програмний інтерфейс, що походить від операційної системи та використовується у MS-DOS/PC DOS й інших DOS-сумісних операційних системах. Більшість викликів DOS API відбувається за допомогою (програмного переривання) 21h ( 21h). Викликом INT 21h з номером підфункції у AH регістрі процесора й іншими параметрами в інших регістрах звертаються до різних можливостей DOS (клавіатурний увід, відео вивід, файловий доступ до дисків, виконання програм, розподілення пам'яті та багато інших речей). У пізні 1980-і, разом з дозволяли програмі виконуватися навіть у 16-бітному або 32-бітному захищеному режимі та водночас мати доступ до DOS API.
Історія DOS API
Спочатку DOS API в 86-DOS і MS-DOS 1.0 було розроблено функціонально сумісним з (CP/M). Доступ до файлів використовував [en]. DOS API дуже розширилося у MS-DOS 2.0 з декількома Unix ідеями включаючи доступ до файлів за допомогою файлових дескрипторів, ієрархічні директорії та керування пристроями (вводу/виводу). У DOS 3.1 була додана підтримка . В 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, але використовували віртуальну машину, , для виконання DOS API. NTVDM працює, виконуючи DOS програми в віртуальному режимі емуляції 8086 (емуляція у захищеному режимі присутня в 80386 та вищих процесорах). NTVDM підтримує DOS 5.0 API. для Linux використовує подібні принципи.
Вектори переривань, що використовуються DOS
Вектор переривання | Опис | Версія | Примітка |
---|---|---|---|
20h | Закінчити програму | 1.0+ | Реалізоване в ядрі DOS |
21h | Головне DOS API | 1.0+ | Реалізоване в ядрі DOS |
22h | Program terminate address | 1.0+ | Return address in calling program |
23h | Адреса обробника Control-C | 1.0+ | Стандартний обробник в командній оболонці (зазвичай COMMAND.COM) |
24h | Адреса обробника критичної помилки | 1.0+ | Стандартний обробник в командній оболонці (зазвичай COMMAND.COM) |
25h | Абсолютне читання з диску | 1.0+ | Реалізоване в ядрі DOS, розширено в DOS 3.31 для підтримки розділів до 2 GB |
26h | Абсолютний запис на диск | 1.0+ | Реалізоване в ядрі DOS, розширено в DOS 3.31 для підтримки розділів до 2 GB |
27h | Заверишити програму та залишитись резидентом | 1.0+ | Реалізовано в COMMAND.COM у DOS 1.0, DOS ядрі в DOS 2.0+ |
28h | Idle callout | 2.0+ | Викликається ядром DOS під час очікування користувацького вводу |
29h | Швидкий вивід у консоль | 2.0+ | Реалізовується вбудованим драйвером консолі або заміщаючим драйвером наподобі ANSI.SYS |
2Ah | Мережа та критичні секції | 3.0+ | Викликається DOS ядром для взаємодії з мережевим ПЗ |
2Bh | Не використовується | ||
2Ch | Не використовується | ||
2Dh | Не використовується | ||
2Eh | Reload transient | 2.0+ | Реалізовано в COMMAND.COM |
2Fh | Multiplex | 3.0+ | Реалізовано у DOS ядрі та різних програмах (PRINT, MSCDEX, DOSKEY, APPEND, etc.) залежно від номера підфункції |
Операційні системи з підтримкою MS-DOS API
- MS-DOS — найбільш поширене втілення
- PC DOS — IBM OEM версія MS-DOS
- — родина Digital Research DOS, включно з , , , etc.
- PTS-DOS — PhysTechSoft & Paragon 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
- (3.1 лише) з — Digital Research CP/M-86-подібна OS з необов'язковим PC DOS емулятором
- — сімейство Digital Research CDOS з вбудованим PC DOS емулятором
- — урізаний однокристувацький варіант Concurrent PC DOS 4.1-5.0
- — сімейство Digital Research/Novell MDOS включно з Datapac , IMS , etc.
- для Windows NT
- для Linux
- DOSBox
Див. також
Посилання
- The x86 Interrupt List [ 22 травня 2016 у Wayback Machine.] (a.k.a. RBIL, Ralf Brown's Interrupt List)
- ctyme.com - INT Calls by function [ 3 листопада 2017 у Wayback Machine.]
- Microsoft MS-DOS Programmer's Reference - The Official Technical Reference to MS-DOS, Microsoft Press, 1993
- The MS-DOS Encyclopedia, Microsoft Press, 1988,
- Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers by Ray Duncan, Microsoft Press, 1988
- The Programmer's PC Sourcebook by Thom Hogan, Microsoft Press, 1991
- The New Peter Norton Programmer's Guide to the IBM PC & PS/2 by Peter Norton and Richard Wilton, Microsoft Press, 1987 .
- 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 ().
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
MS DOS API prikladnij programnij interfejs sho pohodit vid operacijnoyi sistemi ta vikoristovuyetsya u MS DOS PC DOS j inshih DOS sumisnih operacijnih sistemah Bilshist viklikiv DOS API vidbuvayetsya za dopomogoyu programnogo pererivannya 21h 21h Viklikom INT 21h z nomerom pidfunkciyi u AH registri procesora j inshimi parametrami v inshih registrah zvertayutsya do riznih mozhlivostej DOS klaviaturnij uvid video vivid fajlovij dostup do diskiv vikonannya program rozpodilennya pam yati ta bagato inshih rechej U pizni 1980 i razom z dozvolyali programi vikonuvatisya navit u 16 bitnomu abo 32 bitnomu zahishenomu rezhimi ta vodnochas mati dostup do DOS API Istoriya DOS APISpochatku DOS API v 86 DOS i MS DOS 1 0 bulo rozrobleno funkcionalno sumisnim z CP M Dostup do fajliv vikoristovuvav en DOS API duzhe rozshirilosya u MS DOS 2 0 z dekilkoma Unix ideyami vklyuchayuchi dostup do fajliv za dopomogoyu fajlovih deskriptoriv iyerarhichni direktoriyi ta keruvannya pristroyami vvodu vivodu U DOS 3 1 bula dodana pidtrimka V MS DOS 3 31 INT 25h 26h buli rozshireni funkciyami pidtrimki zhorstkih diskiv bilshih za 32 MB MS DOS 5 dodala pidtrimku verhnoyi pam yati UMA Pislya MS DOS 5 bulo zupineno zminu DOS API dlya samodostatnih versij DOS DOS API ta WindowsU Windows 9x DOS zazvichaj vikoristovuvavsya yak zavantazhuvach operacijnoyi sistemi zahishenogo rezhimu ta grafichnoyi obolonki Dostup do DOS buv z pid VDM ale takozh bula mozhlivist zavantazhitisya pryamo v realnij rezhim MS DOS 7 0 bez Windows DOS API bulo rozshirene bilshoyu pidtrimkoyu internacionalizaciyi ta dovgimi nazvami fajliv ale ostannya mozhlivist bula nayavna lishe v VDM Z Windows 95 OSR2 DOS bula onovlena do 7 1 do yakoyi dodalisya pidtrimka FAT32 ta dodani funkciyi DOS API dlya pidtrimki cogo Windows 98 ta Windows ME takozh mistyat MS DOS 7 1 DOS API v Windows ME viznachaye svoyu versiyu yak MS DOS 8 0 Windows NT ta zasnovani na nij sistemi napriklad Windows XP i Windows Vista ne spiralisya na MS DOS ale vikoristovuvali virtualnu mashinu dlya vikonannya DOS API NTVDM pracyuye vikonuyuchi DOS programi v virtualnomu rezhimi emulyaciyi 8086 emulyaciya u zahishenomu rezhimi prisutnya v 80386 ta vishih procesorah NTVDM pidtrimuye DOS 5 0 API dlya Linux vikoristovuye podibni principi Vektori pererivan sho vikoristovuyutsya DOSVektor pererivannya Opis Versiya Primitka 20h Zakinchiti programu 1 0 Realizovane v yadri DOS 21h Golovne DOS API 1 0 Realizovane v yadri DOS 22h Program terminate address 1 0 Return address in calling program 23h Adresa obrobnika Control C 1 0 Standartnij obrobnik v komandnij obolonci zazvichaj COMMAND COM 24h Adresa obrobnika kritichnoyi pomilki 1 0 Standartnij obrobnik v komandnij obolonci zazvichaj COMMAND COM 25h Absolyutne chitannya z disku 1 0 Realizovane v yadri DOS rozshireno v DOS 3 31 dlya pidtrimki rozdiliv do 2 GB 26h Absolyutnij zapis na disk 1 0 Realizovane v yadri DOS rozshireno v DOS 3 31 dlya pidtrimki rozdiliv do 2 GB 27h Zaverishiti programu ta zalishitis rezidentom 1 0 Realizovano v COMMAND COM u DOS 1 0 DOS yadri v DOS 2 0 28h Idle callout 2 0 Viklikayetsya yadrom DOS pid chas ochikuvannya koristuvackogo vvodu 29h Shvidkij vivid u konsol 2 0 Realizovuyetsya vbudovanim drajverom konsoli abo zamishayuchim drajverom napodobi ANSI SYS 2Ah Merezha ta kritichni sekciyi 3 0 Viklikayetsya DOS yadrom dlya vzayemodiyi z merezhevim PZ 2Bh Ne vikoristovuyetsya 2Ch Ne vikoristovuyetsya 2Dh Ne vikoristovuyetsya 2Eh Reload transient 2 0 Realizovano v COMMAND COM 2Fh Multiplex 3 0 Realizovano u DOS yadri ta riznih programah PRINT MSCDEX DOSKEY APPEND etc zalezhno vid nomera pidfunkciyiOperacijni sistemi z pidtrimkoyu MS DOS APIMS DOS najbilsh poshirene vtilennya PC DOS IBM OEM versiya MS DOS rodina Digital Research DOS vklyuchno z etc PTS DOS PhysTechSoft amp Paragon DOS klon vklyuchayuchi Datalight ROM DOS versiya FreeDOS vilnij iz vidkritimi dzherelnimi kodami klon DOS Windows 95 mistit MS DOS 7 0 Windows 98 vklyuchno z versiyeyu 98 SE mistit MS DOS 7 1 Windows ME mistit MS DOS 8 0 Windows NT vsi versiyi okrim 64 bitnih Programi z pidtrimkoyu MS DOS API 3 1 lishe z Digital Research CP M 86 podibna OS z neobov yazkovim PC DOS emulyatorom simejstvo Digital Research CDOS z vbudovanim PC DOS emulyatorom urizanij odnokristuvackij variant Concurrent PC DOS 4 1 5 0 simejstvo Digital Research Novell MDOS vklyuchno z Datapac IMS etc dlya Windows NT dlya Linux DOSBoxDiv takozhCOMMAND COMPosilannyaThe x86 Interrupt List 22 travnya 2016 u Wayback Machine a k a RBIL Ralf Brown s Interrupt List ctyme com INT Calls by function 3 listopada 2017 u Wayback Machine 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 amp PS 2 by Peter Norton and Richard Wilton Microsoft Press 1987 ISBN 1 55615 131 4 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