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 entrada de teclado, salida de video, acceso a archivos de disco, ejecución de programas, asignación de memoria y varias 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 de DOS original en 86-DOS y MS-DOS 1.0 fue diseñada para ser funcionalmente compatible con CP/M . Se accedió a los archivos mediante bloques de control de archivos (FCB). La API de DOS se amplió enormemente en MS-DOS 2.0 con varios conceptos de Unix , incluido el acceso a archivos mediante identificadores de archivos , directorios jerárquicos y control de E/S de dispositivos. [1] En DOS 3.1, se agregó soporte de 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 el uso de bloques de memoria superior (UMB). Después de MS-DOS 5, la API de DOS no se modificó en las sucesivas versiones independientes de DOS.
La API de DOS y Windows
En Windows 9x , DOS cargó el sistema en modo protegido y el shell gráfico. Por lo general, se accedía a DOS desde una máquina DOS virtual (VDM), pero también era posible iniciar directamente en modo real MS-DOS 7.0 sin cargar Windows. La API de DOS se amplió con soporte de internacionalización mejorado y soporte para nombres de archivos largos , aunque el soporte para nombres de archivos largos solo estaba disponible en un VDM. Con Windows 95 OSR2, DOS se actualizó a 7.1, que agregó compatibilidad con 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 como MS-DOS 8.0.
Windows NT y los sistemas basados en él (por ejemplo, Windows XP y Windows Vista ) no están basados 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 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
La siguiente es la lista de vectores de interrupción utilizados por los programas para invocar las funciones API de DOS.
Servicios DOS INT 21h
La siguiente es la lista de funciones proporcionadas a través del vector de interrupción del software principal de la API de DOS.
Sistemas operativos con soporte nativo
Sistemas operativos con capa de emulación de DOS
- CP/M-86 simultáneo (solo 3.1) con PCMODE : sistema operativo basado en Digital Research CP/M-86 con emulador de 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 Digital Research/Novell MDOS que incluye Datapac System Manager , IMS REAL/32 , etc.
- OS/2 (2.x y posterior): sistema operativo IBM que utiliza 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
Ver también
Referencias
- ^ Ray Duncan (1988). Programación avanzada de MS-DOS: la guía de Microsoft para programadores en lenguaje ensamblador y C. Prensa de Microsoft. ISBN 0914845772.
Otras lecturas
- Allen, Pablo ; Puertas, Bill ; Rey, Adrián; Larson, Chris; Letwin, Gordon ; O'Rear, Bob ; Paterson, Tim ; Peters, Chris; Phillips, Bruce; Reynolds, Aarón ; Fabricante de alambiques, Betty; Zbikowski, Mark (1986). "Asesores técnicos". Enciclopedia de referencia técnica de MS-DOS (versiones 1.0-3.2) . Por Bornstein, Howard; Bredehoeft, Lawrence; Duncan, Ray; Morris, Carol; Rosa, David; Socha, John ; Tomlin, Jim; Vian, Kathleen; Wolverton, Van. Beley, Jim; Preppernau, Barry; Beason, Pam; Luis, Andrea; Rygmyr, David (eds.). Biblioteca de referencia de Microsoft. vol. 1 (edición original retirada). Redmond, Washington, Estados Unidos: 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 fácticos, así como información clasificada que debería no se ha publicado. Se conservaron pocas copias impresas. Fue reemplazada por una edición completamente reelaborada en 1988. [1])
- Zbikowski, Mark ; Allen, Pablo ; Ballmer, Steve ; Borman, Rubén; Borman, Rob; Mayordomo, Juan; Carroll, tirada; Chambelán, Marcos; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Raquel; Eckhardt, Kurt; Evans, Eric; Granjero, Rick; Puertas, Bill ; Geary, Michael; Grifo, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; Rey, Adrián; Koch, caña; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc ; McKinney, Bruce; Martín, Pascal; Mathers, Estelle; Mateos, Bob; Melín, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, cresta; Pai, Sunil; Paterson, Tim ; Pérez, Gary; Peters, Chris; Petzold, Carlos ; Pollock, Juan; Reynolds, Aarón ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Breve, Antonio; Slivka, Ben; Sonríe, Jon; Fabricante de alambiques, Betty; Stoddard, Juan; 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, Carlos ; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, furgoneta; Wong, William; Woodcock, JoAnne (edición completamente reelaborada). Redmond, Washington, Estados Unidos: Microsoft Press . ISBN 1-55615-049-0. LCCN 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 retirada de 1986 por parte de un equipo diferente de autores. [2])
- Norton, Pedro; Wilton, Richard (1987). La nueva guía del programador de Peter Norton para IBM PC y PS/2 . Prensa de Microsoft. ISBN 1-55615-131-4.
- Ray Duncan (1988). Programación avanzada de MS-DOS: la guía de Microsoft para programadores en lenguaje ensamblador y C. Prensa de Microsoft. ISBN 0914845772.
- Hogan, Thom (1991). El libro de consulta de PC del programador . Prensa de Microsoft. ISBN 155615321X.
- Referencia del programador de MS-DOS: la referencia técnica oficial de MS-DOS . Prensa de Microsoft. 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. Caldera Part No. 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 servicios MS-DOS
- Interrupciones de MS-DOS