API del MS DOS


API del MS DOS

El API del MS DOS o MS-DOS API es un API usado originalmente en MS-DOS/PC-DOS, y más adelante por otros sistemas DOS. La mayoría de las llamadas al DOS API invocan la interrupción de software 21h (INT 21h). Llamando la INT 21h con un número de subfunción en el registro de procesador AH y otros parámetros en otros registros, se pueden invocar varios servicios del DOS. Los servicios del DOS incluyen la entrada por teclado, salida por pantalla, acceso a archivos de disco, ejecutar programas, la asignación de memoria, y otras cosas. Las subfunciones proporcionadas en el primer lanzamiento del MS-DOS en 1981 fueron fuertemente orientadas a la compatibilidad con el CP/M. Un importante mejora del DOS API (influenciada parcialmente por ciertos conceptos de Unix) fue realizada para el lanzamiento del MS-DOS 2.0 de 1983, agregando numerosas nuevas subfunciones para manejar la entrada/salida de archivos usando las "handles" (manejadores) abstractos y soporte para sub-directorios. En estas nuevas subfunciones, los strings son generalmente terminados por un byte NUL (ASCIIZ). En la versión MS-DOS 3.1 (lanzada en 1985), varias subfunciones fueron añadidas para manejar redes. En la versión MS-DOS 4, fueron introducidas llamadas para manejar la memoria expandida de acuerdo a la especificación de Lotus-Intel-Microsoft.

Hay varias implementaciones del DOS API, incluyendo PC-DOS, MS-DOS, DR-DOS, FreeDOS, PTS-DOS, y otros. El DOS API está basado en el BIOS, y las rutinas del DOS con frecuencia internamente accesan a llamadas de interrupción del BIOS

DOS extenders junto con DOS Protected Mode Interface (DPMI) extienden el DOS API al modo protegido de 16 bits o de 32 bits. El API del MS DOS es parcialmente dependiente en el código x86, por lo tanto el DOS no puede ser portado a otras arquitecturas de procesador.

Contenido

El API del MS DOS y Windows

Las versiones 1.0 a 3.1 de Microsoft Windows eran los shells gráficos que corrían en MS-DOS y confiaban en el API del MS DOS (aunque usando su propio API para los programas de Windows). Windows 9x también estaba basado en el DOS, pero utilizó una versión personalizada del MS-DOS, principalmente como cargador de arranque. No usaba mucho el API del MS DOS después de cargarse. Sin embargo, Windows 9x proporcionó el DOS API a los programas que corrían dentro de una ventana shell de comandos. Versiones anteriores de Windows 9x (al menos a través de la primera edición de Windows 98) también podían cargarse en una simple interface de línea de comandos "Modo DOS" sin el GUI y sin servicios de sistema de Windows, para correr programas puros de DOS. Las versiones del DOS de Windows 9x (numeradas 7.0 en adelante) incluyen varias nuevas subfunciones de servicio para manejar el nombres de archivo largos (LFNs). Estas subfunciones LFN del DOS no fueron incluidos en Windows NT, pero estaban en versiones posteriores como Windows XP.

Windows NT y los sistemas basados en él (ej. Windows XP y Windows Vista) no están basados en MS-DOS, pero usan una máquina virtual, NTVDM, para manejar el DOS API. NTVDM trabaja haciendo correr un programa del DOS en el Modo 8086 virtual (una emulación del Modo real dentro del modo protegido disponible en 80386 y procesadores más recientes). DOSEMU para Linux usa un acercamiento similar.

Servicios comunes del DOS

Algunas llamadas de funciones INT 21h básicas presentadas desde la versión 2.0 del DOS:

Subfunción
(hex)
Servicio Parámetros Retorno
AH = 00 DOS 1+
Termina programa
Nunca[1]
AH = 01 DOS 1+
Lee caracteres desde STDIN
AL=Caracter leído[2]
AH = 02 DOS 1+
Escribe caracter a STDOUT
DL=Caracter [3]
AH = 09 DOS 1+
Escribe caracter a STDOUT
DS:DX=Puntero a un string terminado en '$' [4]
AH = 3C DOS 2+
Crea o trunca un archivo
CX=Atributos del archivo ; DS:DX->nombre de archivo ASCIZ CF=1 si hubo error ; AX=código de error ; {{{1}}}[5]
AH = 3D DOS 2+
Abre archivo existente
AL=Modos de acceso e intercambio ; DS:DX->Archivo ASCIZ ; {{{1}}} CF=1 si hubo error ; AX=código de error ; AX=handle de archivo[6]
AH = 3F DOS 2+
Lee desde un archivo o dispositivo
BX=handle de archivo ; {{{1}}} ; DS:DX->datos CF=1 si hubo error ; AX=código de error o bytes leídos[7]
AH = 40 DOS 2+
Escribe a archivo o dispositivo
BX=handle de archivo ; CX=bytes a escribir ; DS:DX->datos CF=1 si hubo error ; AX=código de error o bytes escritos[8]
AH = 3E DOS 2+
Cierra archivo
BX=handle de archivo CF=1 si hubo error ; AX=código de error[9]
AH = 42 DOS 2+
Ajusta la posición en el archivo
AL=origen de la movida, 0-inicio, 1-actual, 2-final ; BX=handle de archivo ; CX:DX=(con signo) desplazamiento CF=1 si hubo error ; AX=código de error ; DX:AX=posición desde el principio[10]

Sistemas operativos que soportan el API del MS DOS

Programas con soporte para el API del MS DOS

Referencias

  1. «Int 21/AH=00h». 090912 ctyme.com
  2. «Int 21/AH=01h». 090912 ctyme.com
  3. «Int 21/AH=02h». 090912 ctyme.com
  4. «Int 21/AH=09h». 090912 ctyme.com
  5. «Int 21/AH=3Ch, Creat». 090911 ctyme.com
  6. «Int 21/AH=3Dh, Open». 090911 ctyme.com
  7. «Int 21/AH=3Fh, Read». 090911 ctyme.com
  8. «Int 21/AH=40h, Write». 090911 ctyme.com
  9. «Int 21/AH=3Eh, Close». 090911 ctyme.com
  10. «Int 21/AH=42h, Lseek». 090911 ctyme.com

Véase también

  • MS DOS
  • IBM PC DOS
  • Llamadas de interrupción del BIOS
  • DOS/4GW
  • DOS MZ ejecutable

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • IBM PC DOS — PC DOS (IBM DOS) Parte de la familia DOS Captura de pantalla del PC DOS 1.10. Desarrollador …   Wikipedia Español

  • MS-DOS — Parte de la familia DOS Desarrollador Microsoft …   Wikipedia Español

  • Google SOAP Search API — Este artículo está huérfano, pues pocos o ningún artículo enlazan aquí. Por favor, introduce enlaces hacia esta página desde otros artículos relacionados …   Wikipedia Español

  • Historia del Mac OS — Archivo:MacOS original logo.svg Apple comercializó su sistema operativo como Mac OS , comenzando en 1997. El 24 de enero de 1984, Apple Computer Inc. (ahora Apple Inc.) introdujo la computadora personal Macintosh, con el modelo Macintosh 128K, el …   Wikipedia Español

  • Partidos inscritos en el Registro de Partidos Políticos del Ministerio del Interior de España — Anexo:Partidos inscritos en el Registro de Partidos Políticos del Ministerio del Interior de España Saltar a navegación, búsqueda Se muestran a continuación los partidos políticos inscritos en en el Registro de Partidos Políticos del Ministerio… …   Wikipedia Español

  • Tailandia del Nordeste — Isan es la región noreste de Tailandia Coordenadas: 16°N 103°E …   Wikipedia Español

  • Nevado del Huila — Nevado del Nevado del Huila …   Wikipedia Español

  • Gestión del color — Dentro de los sistemas de imagen digital, la Gestión del color es la conversión controlada entre las representaciones del color de varios dispositivos, como escáneres, monitores, pantallas de TV, filmadoras, impresoras offset y medios similares.… …   Wikipedia Español

  • Región natural Sur del Orinoco — Saltar a navegación, búsqueda La Región natural Sur del Orinoco, comúnmente referida como Guayana, es una de las regiones naturales en la que habitualmente se divide a Venezuela, aunque la misma comprende dos sistemas claramente diferentes,… …   Wikipedia Español

  • FreeDOS — Arranque de FreeDOS …   Wikipedia Español