API del sistema operativo MS-DOS
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 utilizando 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 del teclado, la salida de video, el acceso a archivos de disco, la ejecución de programas, la asignación de memoria y varias otras actividades. A fines de la década de 1980, los extensores de DOS junto con la Interfaz de modo protegido de DOS (DPMI) permiten que los programas se ejecuten en modo protegido de 16 bits o 32 bits y aún tengan 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 usando bloques de control de archivos (FCB). La API de DOS se amplió en gran medida en MS-DOS 2.0 con varios conceptos de Unix , incluido el acceso a archivos usando identificadores de archivos , directorios jerárquicos y control de E/S de dispositivos. [1] En DOS 3.1, se agregó soporte para redirector 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 agregó soporte para usar bloques de memoria superior (UMB). Después de MS-DOS 5, la API de DOS no se modificó 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 shell gráfico. Se accedía a DOS habitualmente desde una máquina virtual DOS (VDM), pero también era posible arrancar directamente en modo real MS-DOS 7.0 sin cargar Windows. La API de DOS se amplió con un soporte de internacionalización mejorado y soporte para nombres de archivo largos , aunque el soporte para nombres de archivo largos solo estaba disponible en una VDM. Con Windows 95 OSR2, DOS se actualizó a 7.1, que agregó soporte para FAT32 , y se agregaron funciones a la API de DOS para admitir esto. Windows 98 y Windows ME también implementan la API de MS-DOS 7.1, aunque Windows ME se informa a sí mismo 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 manejar la API de DOS. NTVDM funciona ejecutando un programa DOS en modo 8086 virtual (una emulación del modo real dentro del modo protegido disponible en procesadores 80386 y superiores). NTVDM admite la API de DOS 5.0. DOSEMU para Linux utiliza un enfoque similar.
Vectores de interrupción utilizados por DOS
La siguiente es la lista de vectores de interrupción utilizados por los programas para invocar las funciones de la API de DOS.
Servicios DOS INT 21h
La siguiente es 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
Sistemas operativos con capa de emulación DOS
- CP/M-86 concurrente (solo 3.1) con PCMODE : sistema operativo basado en CP/M-86 de Digital Research con emulador PC DOS opcional
- DOS concurrente : familia CDOS de Digital Research con emulador de DOS para PC 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 IBM que utiliza un MS-DOS 5.0 con licencia completa 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
- ^ Ray Duncan (1988). Programación avanzada en MS-DOS: Guía de Microsoft para programadores en lenguaje ensamblador y C. Microsoft Press. ISBN 0914845772.
Lectura adicional
- 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) Technical Reference Encyclopedia . 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.). Microsoft Reference Library. Vol. 1 (edición original retirada). Redmond, Washington, EE. UU.: Microsoft Press . ISBN. 0-914845-69-1. LCCN 86-8640. OCLC 635600205.(xvii+1053 páginas; 29 cm) (NB: Esta edición original contiene diagramas de flujo del funcionamiento interno del sistema. Fue retirada por Microsoft antes de su distribución masiva en 1986 porque contenía muchos errores factuales, así como información clasificada que no debería haber sido publicada. Sobrevivieron pocas copias impresas. Fue reemplazada por una edición completamente reelaborada en 1988. [1])
- Español 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 ; Pérez, 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 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 reelaborada). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 1-55615-049-0. LCCN 87-21452. OCLC 16581341.(xix+1570 páginas; 26 cm) (NB: Esta edición fue publicada en 1988 después de una extensa reelaboración de la primera edición retirada de 1986 por un equipo diferente de autores. [2])
- Norton, Peter ; Wilton, Richard (1987). La nueva guía del programador Peter Norton para IBM PC y PS/2 . Microsoft Press. ISBN 1-55615-131-4.
- Ray Duncan (1988). Programación avanzada en MS-DOS: Guía de Microsoft para programadores en lenguaje ensamblador y C. Microsoft Press. ISBN 0914845772.
- Hogan, Thom (1991). Manual de consulta para PC del programador . Microsoft Press. ISBN 155615321X.
- Referencia del programador de MS-DOS: 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 desde el 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 MS-DOS
- Interrupciones de MS-DOS