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 – Familia CDOS de Digital Research con emulador de PC DOS integrado
- DOS Plus : una variante simplificada para un solo usuario de Concurrent PC DOS 4.1–5.0
- DOS multiusuario : familia MDOS de Digital Research/Novell, que incluye Datapac System Manager , IMS REAL/32 , etc.
- OS/2 (2.x y posteriores): sistema operativo de IBM que utiliza una licencia completa de MS-DOS 5.0 en una máquina virtual.
- Windows NT (todas las versiones excepto las ediciones de 64 bits y las ediciones ARM de 32 bits)
Otros emuladores
Véase también
Referencias
Lecturas adicionales
- 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). "Asesores técnicos". MS-DOS (versiones 1.0-3.2) Enciclopedia de referencia técnica . Por 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.). Biblioteca de referencia de Microsoft. Vol. 1 ( edición original retirada). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 0-914845-69-1LCCN 86-8640 . OCLC 635600205 . (xvii+1053 páginas; 29 cm) (Nota: Esta edición original contiene diagramas de flujo del funcionamiento interno del sistema. Microsoft la retiró antes de su distribución masiva en 1986 porque contenía muchos errores de hecho, así como información clasificada que no debería haberse publicado. Sobrevivieron pocas copias impresas. Fue reemplazada por una edición completamente revisada en 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