DOS API - DOS API
![]() | Tento článek obsahuje seznam obecných Reference, ale zůstává z velké části neověřený, protože postrádá dostatečné odpovídající vložené citace.Květen 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
The DOS API je API který vznikl s 86-DOS a používá se v MS-DOS /PC DOS a další DOS -kompatibilní operační systémy. Většina volání DOS API je vyvolána pomocí softwarové přerušení 21h (INT 21h). Voláním INT 21h s číslem dílčí funkce v AH registr procesoru a další parametry v jiných registrech lze vyvolat různé služby DOS. Patří mezi ně manipulace se vstupem z klávesnice, video výstupem, přístupem k souborům na disku, prováděním programu, přidělením paměti a různými dalšími činnostmi. Na konci 80. let DOS extendery spolu s Rozhraní chráněného režimu DOS (DPMI) umožňují programům běžet v 16bitovém nebo 32bitovém chráněném režimu a stále mají přístup k DOS API.
Historie DOS API
Původní DOS API v 86-DOS a MS-DOS 1.0 bylo navrženo tak, aby bylo funkčně kompatibilní s CP / M. K souborům bylo přistupováno pomocí bloky pro ovládání souborů (FCB). Rozhraní DOS API bylo v systému MS-DOS 2.0 výrazně rozšířeno o několik konceptů Unixu, včetně přístupu k souborům pomocí úchyty pilníků, hierarchické adresáře a ovládání I / O zařízení.[1] V systému DOS 3.1 přesměrovač sítě byla přidána podpora. V systému MS-DOS 3.31 byly vylepšeny funkce INT 25h / 26h, aby podporovaly pevné disky větší než 32 MB. MS-DOS 5 přidána podpora pro používání bloky horní paměti (UMB). Po systému MS-DOS 5 se rozhraní DOS API nezměnilo pro postupná samostatná vydání systému DOS.
DOS API a Windows
v Windows 9x, DOS načetl systém chráněného režimu a grafický shell. DOS byl obvykle přístupný z virtuální stroj DOS (VDM), ale bylo také možné zavést přímo do reálného režimu MS-DOS 7.0 bez načtení systému Windows. DOS API bylo rozšířeno o vylepšenou podporu internacionalizace a dlouhý název souboru podpora, ačkoli podpora dlouhých názvů souborů byla k dispozici pouze ve VDM. S Windows 95 OSR2, DOS byl aktualizován na 7.1, který byl přidán FAT32 podpora a do DOS API byly přidány funkce, které to podporují. Windows 98 a Windows ME také implementovat API MS-DOS 7.1, i když se Windows ME hlásí jako MS-DOS 8.0.
Windows NT a systémy na něm založené (např. Windows XP a Windows Vista ) nejsou založeny na systému MS-DOS, ale používají a virtuální stroj, NTVDM, pro zpracování DOS API. NTVDM funguje spuštěním programu DOS v systému Windows virtuální režim 8086 (emulace skutečný režim v rámci chráněný režim k dispozici na 80386 a vyšší procesory). NTVDM podporuje DOS 5.0 API. DOSEMU pro Linux používá podobný přístup.
Přerušovací vektory používané systémem DOS
Následuje seznam vektorů přerušení používaných programy k vyvolání funkcí DOS API.
Přerušit vektor | Popis | Verze | Poznámky |
---|---|---|---|
20h | Ukončit program | 1.0+ | Implementováno v jádře systému DOS |
21h | Hlavní DOS API | 1.0+ | Implementováno v jádře systému DOS |
22h | Adresa ukončení programu | 1.0+ | Zpáteční adresa ve volajícím programu |
23h | Adresa obslužné rutiny Control-C | 1.0+ | Výchozí obslužný program je v příkazovém prostředí (obvykle COMMAND.COM) |
24h | Adresa obslužné rutiny kritických chyb | 1.0+ | Výchozí obsluha je v příkazovém prostředí (obvykle COMMAND.COM) |
25h | Absolutní čtení disku | 1.0+ | Implementováno v jádru DOS, vylepšeno v DOS 3.31 o podporu až 2 GB oddílů |
26h | Absolutní zápis na disk | 1.0+ | Implementováno v jádru DOS, vylepšeno v DOS 3.31 o podporu až 2 GB oddílů |
27h | Ukončete a zůstaňte rezidentem | 1.0+ | Implementováno v COMMAND.COM v DOS 1.0, jádro DOS v DOS 2.0+ |
28h | Popisek při nečinnosti | 2.0+ | Volá se jádrem systému DOS při čekání na vstup |
29h | Rychlý výstup konzoly | 2.0+ | Implementováno integrovaným ovladačem zařízení konzoly nebo náhradním ovladačem, jako je ANSI.SYS |
2 Ah | Síť a kritická sekce | 3.0+ | Volá se jádrem systému DOS do rozhraní se síťovým softwarem |
2Bh | Nepoužitý | ||
2Ch | Nepoužitý | ||
2Dh | Nepoužitý | ||
2Eh | Znovu načtěte přechodně | 2.0+ | Implementováno v COMMAND.COM |
2Fh | Multiplex | 3.0+ | Implementováno v jádře DOS a různých programech (PRINT, MSCDEX, DOSKEY, APPEND atd.) V závislosti na čísle podfunkce |
Služby DOS INT 21h
Následuje seznam funkcí poskytovaných prostřednictvím vektoru přerušení primárního softwaru DOS API.
AH | Popis | Verze |
---|---|---|
00h | Ukončení programu | 1.0+ |
01h | Zadávání znaků | 1.0+ |
02h | Výstup znaků | 1.0+ |
03h | Pomocný vstup | 1.0+ |
04h | Pomocný výstup | 1.0+ |
05h | Tiskový výstup | 1.0+ |
06h | Přímé I / O konzoly | 1.0+ |
07h | Přímý vstup z konzoly bez ozvěny | 1.0+ |
08h | Vstup na konzoli bez ozvěny | 1.0+ |
09h | Zobrazit řetězec | 1.0+ |
0Ah | Vstup z klávesnice do vyrovnávací paměti | 1.0+ |
0Bh | Získejte stav vstupu | 1.0+ |
0Ch | Vypláchnout vstupní vyrovnávací paměť a vstup | 1.0+ |
0dh | Reset disku | 1.0+ |
0Eh | Nastavit výchozí jednotku | 1.0+ |
0Fh | Otevřít soubor | 1.0+ |
10h | Zavřít soubor | 1.0+ |
11h | Najít první soubor | 1.0+ |
12h | Najít další soubor | 1.0+ |
13h | Smazat soubor | 1.0+ |
14h | Sekvenční čtení | 1.0+ |
15h | Sekvenční zápis | 1.0+ |
16h | Vytvořte nebo zkraťte soubor | 1.0+ |
17h | Přejmenuj soubor | 1.0+ |
18h | Rezervováno | 1.0+ |
19h | Získejte výchozí disk | 1.0+ |
1 Ah | Nastavte adresu přenosu disku | 1.0+ |
1Bh | Získejte informace o přidělení pro výchozí jednotku | 1.0+ |
1Ch | Získejte informace o přidělení pro zadanou jednotku | 1.0+ |
1Dh | Rezervováno | 1.0+ |
1Eh | Rezervováno | 1.0+ |
1Fh | Získejte blok parametrů disku pro výchozí jednotku | 1.0+ |
20h | Rezervováno | 1.0+ |
21h | Náhodné čtení | 1.0+ |
22h | Náhodný zápis | 1.0+ |
23h | Získejte velikost souboru v záznamech | 1.0+ |
24h | Nastavit číslo náhodného záznamu | 1.0+ |
25h | Nastavit vektor přerušení | 1.0+ |
26h | Vytvořte PSP | 1.0+ |
27h | Čtení náhodného bloku | 1.0+ |
28h | Náhodný zápis bloku | 1.0+ |
29h | Analyzovat název souboru | 1.0+ |
2 Ah | Získejte datum | 1.0+ |
2Bh | Nastavit datum | 1.0+ |
2Ch | Získejte čas | 1.0+ |
2Dh | Nastavit čas | 1.0+ |
2Eh | Nastavit příznak ověření | 1.0+ |
2Fh | Získejte adresu pro přenos disku | 2.0+ |
30h | Získejte verzi systému DOS | 2.0+ |
31h | Ukončete a zůstaňte rezidentem | 2.0+ |
32h | Získejte blok parametrů disku pro zadanou jednotku | 2.0+ |
33h | Získejte nebo nastavte Ctrl-Break | 2.0+ |
34h | Získejte ukazatel příznaku InDOS | 2.0+ |
35h | Získejte vektor přerušení | 2.0+ |
36h | Získejte volné místo na disku | 2.0+ |
37h | Získat nebo nastavit přepínací znak | 2.0+ |
38h | Získejte nebo nastavte informace o zemi | 2.0+ |
39h | Vytvořte podadresář | 2.0+ |
3 Ah | Odeberte podadresář | 2.0+ |
3Bh | Změnit aktuální adresář | 2.0+ |
3Ch | Vytvořte nebo zkraťte soubor | 2.0+ |
3Dh | Otevřít soubor | 2.0+ |
3Eh | Zavřít soubor | 2.0+ |
3Fh | Přečíst soubor nebo zařízení | 2.0+ |
40h | Napište soubor nebo zařízení | 2.0+ |
41h | Smazat soubor | 2.0+ |
42h | Přesuňte ukazatel souboru | 2.0+ |
43h | Získejte nebo nastavte atributy souboru | 2.0+ |
44h | I / O ovládání zařízení | 2.0+ |
45h | Duplicitní popisovač | 2.0+ |
46h | Rukojeť přesměrování | 2.0+ |
47h | Získejte aktuální adresář | 2.0+ |
48h | Přidělit paměť | 2.0+ |
49h | Uvolněte paměť | 2.0+ |
4 Ah | Přerozdělte paměť | 2.0+ |
4Bh | Proveďte program | 2.0+ |
4Ch | Ukončete návratovým kódem | 2.0+ |
4Dh | Získejte návratový kód programu | 2.0+ |
4Eh | Najít první soubor | 2.0+ |
4Fh | Najít další soubor | 2.0+ |
50h | Nastavit aktuální PSP | 2.0+ |
51h | Získejte aktuální PSP | 2.0+ |
52h | Získejte interní ukazatele systému DOS (SYSVARS) | 2.0+ |
53h | Vytvořte blok parametrů disku | 2.0+ |
54h | Získejte ověřovací příznak | 2.0+ |
55h | Vytvořte program PSP | 2.0+ |
56h | Přejmenuj soubor | 2.0+ |
57h | Získejte nebo nastavte datum a čas souboru | 2.0+ |
58h | Získejte nebo nastavte strategii přidělování | 2.11+ |
59h | Získejte rozšířené informace o chybě | 3.0+ |
5 Ah | Vytvořte jedinečný soubor | 3.0+ |
5Bh | Vytvořit nový soubor | 3.0+ |
5Ch | Zamkněte nebo odemkněte soubor | 3.0+ |
5Dh | Funkce sdílení souborů | 3.0+ |
5Eh | Síťové funkce | 3.0+ |
5Fh | Funkce přesměrování v síti | 3.0+ |
60h | Kvalifikujte název souboru | 3.0+ |
61h | Rezervováno | 3.0+ |
62h | Získejte aktuální PSP | 3.0+ |
63h | Získejte ukazatel tabulky vedoucích bajtů DBCS | 3.0+ |
64h | Nastavit čekání na příznak externí události | 3.2+ |
65h | Získejte rozšířené informace o zemi | 3.3+ |
66h | Získejte nebo nastavte kódovou stránku | 3.3+ |
67h | Nastavit počet úchytů | 3.3+ |
68h | Potvrdit soubor | 3.3+ |
69h | Získejte nebo nastavte ID média | 4.0+ |
6 Ah | Potvrdit soubor | 4.0+ |
6Bh | Rezervováno | 4.0+ |
6Ch | Rozšířené otevření / vytvoření souboru | 4.0+ |
Operační systémy s nativní podporou
- MS-DOS - nejrozšířenější implementace
- PC DOS - IBM OEM verze systému MS-DOS
- OS / 2 1.x - Microsoft / IBM nástupce MS-DOS a PC DOS
- SISNE plus – Klonovat vytvořil Itautec a Scopus Tecnologia v Brazílie
- DR-DOS - Digital Research DOS family, including Novell DOS, PalmDOS, OpenDOS, atd.
- PTS-DOS - PhysTechSoft & Paragon DOS klon, včetně S / DOS
- ROM-DOS - Verze Datalight ROM DOS
- Integrovaný DOS – Obecný software verze
- FreeDOS - Zdarma, open source klon DOSu
- ReactOS (IA-32 a x86-64 verze)
- Windows 95 - obsahuje MS-DOS 7.0
- Windows 98 - obsahuje MS-DOS 7.1
- Windows 98 SE - obsahuje MS-DOS 7.1
- Windows ME - obsahuje MS-DOS 8.0
Operační systémy s emulační vrstvou DOS
- Souběžné CP / M-86 (Pouze 3.1) s PCMODE - OS Digital Research CP / M-86 s volitelným emulátorem PC DOS
- Souběžný DOS - Rodina Digital Research CDOS s integrovaným emulátorem PC DOS
- DOS Plus - ořezaná varianta Concurrent PC DOS 4.1–5.0 pro jednoho uživatele
- Multiuser DOS - Rodina Digital Research / Novell MDOS včetně Správce systému Datapac, IMS REAL / 32, atd.
- OS / 2 (2.x a novější) - operační systém IBM využívající plně licencovaný MS-DOS 5.0 v a virtuální stroj
- Windows NT (všechny verze kromě 64bitových vydání)
Ostatní emulátory
- NTVDM pro Windows NT
- DOSEMU pro Linux
- DOSBox
Viz také
- Přerušení hovoru BIOS
- Seznam přerušení Ralfa Browna (RBIL)
- Porovnání operačních systémů DOS
- Rozhraní chráněného režimu DOS (DPMI)
- DOS extender
- Spustitelný soubor DOS MZ
- COMMAND.COM
Reference
- ^ Ray Duncan (1988). Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers. Microsoft Press. ISBN 0914845772.
Další čtení
- Allen, Paul; Brány, Bille; Král, Adrian; Larson, Chris; Letwin, Gordone; O'Rear, Bobe; Paterson, Tim; Peters, Chris; Phillips, Bruce; Reynolds, Aarone; Stillmaker, Betty; Zbikowski, Mark (1986). "Techničtí poradci". MS-DOS (verze 1.0-3.2) Encyklopedie technických referencí. Bornstein, Howard; Bredehoeft, Lawrence; Duncan, Ray; Morris, Carol; Rose, David; Socha, Johne; Tomlin, Jim; Vian, Kathleen; Wolverton, Van. Beley, Jim; Preppernau, Barry; Beason, Pam; Lewis, Andrea; Rygmyr, David (eds.). Referenční knihovna Microsoft. 1 (Originál stažen, ed.). Redmond, Washington, USA: Microsoft Press. ISBN 0-914845-69-1. LCCN 86-8640. OCLC 635600205. (xvii + 1053 stránek; 29 cm) (Pozn. Toto původní vydání obsahuje vývojové diagramy vnitřního fungování systému. Společnost Microsoft jej před masovou distribucí v roce 1986 stáhla, protože obsahovala mnoho věcných chyb a některé utajované informace, které by dosud nebyly zveřejněny. Několik tištěných kopií přežilo. V roce 1988 bylo nahrazeno kompletně přepracovaným vydáním. [1] )
- Zbikowski, Mark; Allen, Paul; Ballmer, Steve; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmář, Rick; Brány, Bille; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W .; Kermaani, Kaamel; Král, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bobe; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim; Perez, Gary; Peters, Chris; Petzold, Charles; Pollock, John; Reynolds, Aarone; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Krátký, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Techničtí poradci". Encyklopedie systému MS-DOS: verze 1.0 až 3.2. Autor: Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A .; Hogan, Thom; Kyle, Jim; Letwin, Gordone; Petzold, Charles; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Kompletně přepracované vydání). Redmond, Washington, USA: Microsoft Press. ISBN 1-55615-049-0. LCCN 87-21452. OCLC 16581341. (xix + 1570 stran; 26 cm) (Pozn. Toto vydání vyšlo v roce 1988 po rozsáhlé přepracování staženého prvního vydání z roku 1986 jiným týmem autorů. [2] )
- The New Peter Norton Programmer's Guide to the IBM PC & PS / 2 Peter Norton a Richard Wilton, Microsoft Press, 1987 ISBN 1-55615-131-4.
- Ray Duncan (1988). Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers. Microsoft Press. ISBN 0914845772.
- Zdrojový program pro PC programátora Thom Hogan, Microsoft Press, 1991 ISBN 155615321X
- Microsoft MS-DOS Programmer's Reference - oficiální technický odkaz na MS-DOS, Microsoft Press, 1993 ISBN 1556155468
- Technická aktualizace IBM PC DOS 7
- OpenDOS Developer's Reference Series - OpenDOS Programmer's Guide - System and Programmer's Guide. Caldera, Inc. Srpen 1997. Caldera, díl č. 200-DOPG-003. Archivovány od originál dne 10. 10. 2017. Citováno 2012-06-28. (Vytištěno ve Velké Británii.)