La API de DOS es una API que se originó con 86-DOS y se utiliza en MS-DOS / PC DOS y otros sistemas operativos compatibles con DOS . La mayoría de las llamadas a la API de DOS se invocan mediante la interrupción de software 21h ( INT 21h). Al llamar a INT 21h con un número de subfunción en el registro del procesador AH y otros parámetros en otros registros, se pueden invocar varios servicios de DOS. Estos incluyen el manejo de la entrada de teclado, la salida de video, el acceso a archivos de disco, la ejecución de programas, la asignación de memoria y otras actividades. A finales de la década de 1980, los extensores de DOS , junto con la Interfaz de Modo Protegido de DOS (DPMI), permitieron que los programas se ejecutaran en modo protegido de 16 o 32 bits y aún tuvieran acceso a la API de DOS.
Historia de la API de DOS
La API original de DOS en 86-DOS y MS-DOS 1.0 fue diseñada para ser funcionalmente compatible con CP/M . Se accedía a los archivos mediante bloques de control de archivos (FCB). La API de DOS se amplió considerablemente en MS-DOS 2.0 con varios conceptos de Unix , incluyendo el acceso a archivos mediante identificadores de archivo , directorios jerárquicos y control de E/S de dispositivos. [ 1 ] En DOS 3.1, se añadió soporte para redireccionadores de red . En MS-DOS 3.31, las funciones INT 25h/26h se mejoraron para admitir discos duros de más de 32 MB. MS-DOS 5 añadió soporte para el uso de bloques de memoria superior (UMB). Después de MS-DOS 5, la API de DOS permaneció sin cambios para las sucesivas versiones independientes de DOS.
La API de DOS y Windows
En Windows 9x , DOS cargaba el sistema en modo protegido y el intérprete gráfico. Normalmente se accedía a DOS desde una máquina virtual DOS (VDM), pero también era posible arrancar directamente en el modo real MS-DOS 7.0 sin cargar Windows. La API de DOS se amplió con soporte mejorado para la internacionalización y la compatibilidad con nombres de archivo largos , aunque esta última solo estaba disponible en una VDM. Con Windows 95 OSR2, DOS se actualizó a la versión 7.1, que añadió compatibilidad con FAT32 , y se agregaron funciones a la API de DOS para admitirla. Windows 98 y Windows Me también implementan la API de MS-DOS 7.1, aunque Windows Me se identifica como MS-DOS 8.0.
Windows NT y los sistemas basados en él (por ejemplo, Windows XP y Windows Vista ) no se basan en MS-DOS, sino que utilizan una máquina virtual , NTVDM , para gestionar la API de DOS. NTVDM funciona ejecutando un programa de DOS en modo virtual 8086 (una emulación del modo real dentro del modo protegido disponible en procesadores 80386 y superiores). NTVDM es compatible con la API de DOS 5.0. DOSEMU para Linux utiliza un enfoque similar.
Vectores de interrupción utilizados por DOS
A continuación se muestra la lista de vectores de interrupción utilizados por los programas para invocar las funciones de la API de DOS.
Servicios DOS INT 21h
A continuación se muestra la lista de funciones proporcionadas a través del vector de interrupción de software principal de la API de DOS.
Sistemas operativos con soporte nativo
- MS-DOS : la implementación más extendida.
- PC DOS – Versión OEM de IBM de MS-DOS
- OS/2 1.x – Sucesor de Microsoft/IBM de MS-DOS y PC DOS
- SISNE plus – Clon creado por Itautec y Scopus Tecnologia en Brasil
- DR-DOS: familia DOS de Digital Research, que incluye Novell DOS , PalmDOS , OpenDOS , etc.
- PTS-DOS : clon de PhysTechSoft y Paragon DOS, incluido S/DOS
- ROM-DOS – Versión DOS de la ROM de Datalight
- DOS integrado – Versión de software general
- FreeDOS – Clon de DOS gratuito y de código abierto
- ReactOS ( versiones IA-32 y x86-64 )
- Windows 95 – contiene MS-DOS 7.0
- Windows 98 – contiene MS-DOS 7.1
- Windows 98 SE : contiene MS-DOS 7.1
- Windows ME – contiene MS-DOS 8.0
Sistemas operativos con capa de emulación de DOS
- CP/M-86 concurrente (solo 3.1) con PCMODE : sistema operativo basado en CP/M-86 de Digital Research con emulador de PC DOS opcional.
- Concurrent DOS – Digital Research CDOS family with built-in PC DOS emulator
- DOS Plus – a stripped-down single-user variant of Concurrent PC DOS 4.1–5.0
- Multiuser DOS – Digital Research/Novell MDOS family including Datapac System Manager, IMS REAL/32, etc.
- OS/2 (2.x and later) – IBM operating system using a fully-licensed MS-DOS 5.0 in a virtual machine
- Windows NT (all versions except 64-bit editions and 32-bit ARM editions)
Other emulators
See also
References
Further reading
- Allen, Paul; Gates, Bill; King, Adrian; Larson, Chris; Letwin, Gordon; O'Rear, Bob; Paterson, Tim; Peters, Chris; Phillips, Bruce; Reynolds, Aaron; Stillmaker, Betty; Zbikowski, Mark (1986). "Technical advisors". MS-DOS (Versions 1.0-3.2) Technical Reference Encyclopedia. By Bornstein, Howard; Bredehoeft, Lawrence; Duncan, Ray; Morris, Carol; Rose, David; Socha, John; Tomlin, Jim; Vian, Kathleen; Wolverton, Van. Beley, Jim; Preppernau, Barry; Beason, Pam; Lewis, Andrea; Rygmyr, David (eds.). Microsoft Reference Library. Vol. 1 (Original withdrawn ed.). Redmond, Washington, USA: Microsoft Press. ISBN 0-914845-69-1. LCCN 86-8640. OCLC 635600205. (xvii+1053 pages; 29 cm) (NB. This original edition contains flowcharts of the internal workings of the system. It was withdrawn by Microsoft before mass-distribution in 1986 because it contained many factual errors as well as some classified information which should not have been published. Few printed copies survived. It was replaced by a completely reworked edition in 1988. )
- 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; Farmer, Rick; Gates, Bill ; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, 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, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Perez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Asesores técnicos". La enciclopedia de MS-DOS: versiones 1.0 a 3.2 . Por Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon ; Petzold, Charles ; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Edición completamente revisada ). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 1-55615-049-0LCCN 87-21452 . OCLC 16581341 . (xix+1570 páginas; 26 cm) (NB. Esta edición se publicó en 1988 después de una extensa revisión de la primera edición de 1986, que fue retirada, por un equipo diferente de autores.)
- Norton, Peter ; Wilton, Richard (1987). La nueva guía del programador de Peter Norton para IBM PC y PS/2 . Microsoft Press. ISBN 1-55615-131-4.
- Ray Duncan (1988). Programación avanzada en MS-DOS: La guía de Microsoft para programadores de lenguaje ensamblador y C. Microsoft Press. ISBN 0914845772.
- Hogan, Thom (1991). The Programmer's PC Sourcebook . Microsoft Press. ISBN 155615321X.
- MS-DOS Programmer's Reference - La referencia técnica oficial de MS-DOS . Microsoft Press. 1993. ISBN 1556155468.
- Actualización técnica de IBM PC DOS 7
- Serie de referencia para desarrolladores de OpenDOS — Guía del programador de OpenDOS — Guía del sistema y del programador . Caldera, Inc. Agosto de 1997. Número de pieza de Caldera: 200-DOPG-003. Archivado del original el 7 de octubre de 2017. Consultado el 28 de junio de 2012 .(Impreso en el Reino Unido.)
Enlaces externos
- La lista de interrupciones x86 (también conocida como RBIL, lista de interrupciones de Ralf Brown )
- ctyme.com - Llamadas INT por función
- wustl.edu - Descripción de los servicios de MS-DOS
- Interrupciones de MS-DOS archivadas el 13/10/2011 en Wayback Machine.
- Tecnología DOS
- API del sistema operativo
- Arquitectura X86
- Interrumpe