DOS ( / dɒs / , / dɔːs / ) es una familia de sistemas operativos basados en disco para computadoras compatibles con IBM PC . [ 1 ] La familia DOS consiste principalmente en IBM PC DOS y una versión renombrada, MS-DOS de Microsoft , ambos introducidos en 1981. Los sistemas compatibles posteriores de otros fabricantes incluyen DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993) y FreeDOS (1994). MS-DOS dominó el mercado de compatibilidad con IBM PC entre 1981 y 1995.
Aunque el nombre se ha llegado a identificar específicamente con esta familia particular de sistemas operativos, DOS es un acrónimo independiente de la plataforma para disk operating system (sistema operativo de disco) , [2] cuyo uso es anterior al IBM PC. Docenas de otros sistemas operativos también utilizan el acrónimo, comenzando con el mainframe DOS/360 de 1966. Otros incluyen Apple DOS , Apple ProDOS , Atari DOS , Commodore DOS , TRSDOS y AmigaDOS .
IBM PC DOS (y el MS-DOS , que se vende por separado ) y su predecesor, 86-DOS , se ejecutaban en procesadores Intel 8086 de 16 bits . Fue desarrollado para ser similar al CP/M de Digital Research (el sistema operativo de disco dominante para microcomputadoras Intel 8080 y Zilog Z80 de 8 bits ) con el fin de simplificar la migración de aplicaciones CP/M a MS-DOS.
Cuando IBM presentó el IBM PC , construido con el microprocesador Intel 8088 , necesitaban un sistema operativo. El presidente John Opel tuvo una conversación con su compañera Mary Maxwell Gates , miembro del Comité Ejecutivo Nacional de United Way , quien recomendó a Opel a su hijo Bill Gates para que la ayudara con una versión compatible con el 8088 de CP/M. [3] IBM fue entonces enviada a Digital Research y se programó una reunión. Sin embargo, las negociaciones iniciales para el uso de CP/M fracasaron: Digital Research quería vender CP/M a cambio de regalías, mientras que IBM quería una licencia única y cambiar el nombre a "PC DOS". El fundador de Digital Research, Gary Kildall , se negó e IBM se retiró. [4] [5]
IBM se puso de nuevo en contacto con Bill Gates, quien, a su vez, se puso en contacto con Seattle Computer Products . Allí, el programador Tim Paterson había desarrollado una variante del CP/M-80 , pensada como un producto interno para probar la nueva tarjeta CPU Intel 8086 de 16 bits de SCP para el bus S-100 . El sistema se llamó inicialmente QDOS (Quick and Dirty Operating System), antes de comercializarse como 86-DOS . Microsoft compró el 86-DOS, supuestamente por 50.000 dólares estadounidenses. Esto se convirtió en Microsoft Disk Operating System, MS-DOS, introducido en 1981. En el plazo de un año, Microsoft licenció MS-DOS a más de 70 empresas, [6] que suministraron el sistema operativo para su propio hardware, a veces bajo sus propios nombres. Más tarde, Microsoft exigió el uso del nombre MS-DOS, con la excepción de la variante IBM. IBM continuó desarrollando su versión, PC DOS , para el IBM PC. Digital Research se enteró de que IBM estaba vendiendo un sistema operativo similar a CP/M (bajo el mismo nombre que IBM insistió en que se usara para CP/M) y amenazó con emprender acciones legales. IBM respondió ofreciendo un acuerdo: daría a los consumidores de PC la opción de elegir entre PC DOS o CP/M-86 , la versión 8086 de Kildall. En comparación, CP/M costaba 200 dólares más que PC DOS y las ventas fueron bajas. CP/M se desvaneció y MS-DOS y PC DOS se convirtieron en el sistema operativo comercializado para PC y PC compatibles. [4]
Microsoft vendió originalmente MS-DOS sólo a fabricantes de equipos originales (OEM). Una de las principales razones de esto fue que no todos los primeros PC eran 100% compatibles con IBM PC . DOS estaba estructurado de tal manera que había una separación entre el código del controlador de dispositivo específico del sistema ( IO.SYS ) y el núcleo DOS ( MSDOS.SYS ). Microsoft proporcionó un kit de adaptación OEM (OAK) que permitía a los OEM personalizar el código del controlador de dispositivo para su sistema particular. A principios de la década de 1990, la mayoría de los PC se adhirieron a los estándares de IBM PC, por lo que Microsoft comenzó a vender una versión minorista de MS-DOS, comenzando con MS-DOS 5.0.
A mediados de los años 1980, Microsoft desarrolló una versión multitarea de DOS . [7] [8] Esta versión de DOS se conoce generalmente como "MS-DOS 4 europeo" porque fue desarrollada para ICL y licenciada a varias empresas europeas. Esta versión de DOS admite multitarea preventiva, memoria compartida, servicios de ayuda de dispositivos y ejecutables de formato New Executable ("NE"). Ninguna de estas características se utilizó en versiones posteriores de DOS, pero se utilizaron para formar la base del núcleo OS/2 1.0 . Esta versión de DOS es distinta de la ampliamente difundida PC DOS 4.0 que fue desarrollada por IBM y basada en DOS 3.3.
Digital Research intentó recuperar el mercado perdido con CP/M-86, inicialmente con Concurrent DOS , FlexOS y DOS Plus (ambos compatibles con MS-DOS y software CP/M-86), más tarde con Multiuser DOS (compatible con MS-DOS y software CP/M-86) y DR DOS (compatible con software MS-DOS). Digital Research fue comprada por Novell , y DR DOS se convirtió en PalmDOS y Novell DOS ; más tarde, fue parte de Caldera (bajo los nombres OpenDOS y DR-DOS 7.02 / 7.03 ), Lineo y DeviceLogics .
Gordon Letwin escribió en 1995 que "DOS era, cuando lo escribimos por primera vez, un producto desechable de una sola vez destinado a mantener a IBM feliz para que compraran nuestros lenguajes". [9] Microsoft esperaba que fuera una solución provisional antes de la introducción de Xenix . La compañía planeaba mejorar MS-DOS con el tiempo, por lo que sería casi indistinguible de Xenix de un solo usuario, o XEDOS , que también se ejecutaría en Motorola 68000 , Zilog Z-8000 y LSI-11 ; serían compatibles con Xenix, que BYTE en 1983 describió como "el MS-DOS multiusuario del futuro". [10] [11]
IBM, sin embargo, no quería reemplazar a DOS. [12] Después de que AT&T comenzó a vender Unix, Microsoft e IBM comenzaron a desarrollar OS/2 como una alternativa. [9] Las dos compañías tuvieron más tarde una serie de desacuerdos sobre dos sistemas operativos sucesores de DOS, OS/2 y Windows. [13] Como resultado, dividieron el desarrollo de sus sistemas DOS. [14] La última versión minorista de MS-DOS fue MS-DOS 6.22; después de esto, MS-DOS se convirtió en parte de Windows 95, 98 y Me. La última versión minorista de PC DOS fue PC DOS 2000 (también llamado PC DOS 7 revisión 1), aunque IBM desarrolló más tarde PC DOS 7.10 para OEM y uso interno.
El proyecto FreeDOS comenzó el 26 de junio de 1994, cuando Microsoft anunció que ya no vendería ni daría soporte a MS-DOS. Jim Hall publicó entonces un manifiesto en el que proponía el desarrollo de un sustituto de código abierto. En pocas semanas, otros programadores, entre ellos Pat Villani y Tim Norman, se unieron al proyecto. Se creó un núcleo, el intérprete de línea de comandos COMMAND.COM (shell) y utilidades básicas mediante la puesta en común de código que habían escrito o que habían encontrado disponible. Hubo varias distribuciones oficiales previas al lanzamiento de FreeDOS antes de que se lanzara la distribución FreeDOS 1.0 el 3 de septiembre de 2006. FreeDOS, que se encuentra disponible bajo la Licencia Pública General GNU (GPL), no requiere el pago de derechos de licencia ni regalías. [15] [16]
Las primeras versiones de Microsoft Windows se ejecutaban en MS-DOS. [17] A principios de la década de 1990, el shell gráfico de Windows se utilizó mucho en los nuevos sistemas DOS. En 1995, Windows 95 se incluyó como un sistema operativo independiente que no requería una licencia DOS separada. Windows 95 (y Windows 98 y ME, que lo siguieron) tomó el control como el núcleo del sistema operativo predeterminado , aunque el componente MS-DOS permaneció por compatibilidad. Con Windows 95 y 98, pero no ME, el componente MS-DOS se podía ejecutar sin iniciar Windows. [18] [19] [20] Como DOS ya no era necesario para usar Windows, la mayoría de los usuarios dejaron de usarlo directamente.
A partir de 2024 [actualizar], los sistemas compatibles disponibles son FreeDOS , ROM-DOS , PTS-DOS , RxDOS [21] y REAL/32 . Algunos fabricantes de computadoras, incluidos Dell y HP , venden computadoras con FreeDOS como sistema operativo OEM . [22] [23] [ necesita actualización ] Y algunos desarrolladores e ingenieros informáticos todavía lo usan porque está cerca del hardware. [ cita requerida ]
La estructura de DOS para acceder directamente al hardware permite su uso en dispositivos integrados . Las versiones finales de DR-DOS siguen estando orientadas a este mercado. [24] ROM-DOS se utiliza como sistema operativo para la Canon PowerShot Pro 70. [25]
En Linux , es posible ejecutar DOSEMU , una máquina virtual nativa de Linux para ejecutar programas DOS a una velocidad casi nativa. Hay varios otros emuladores para ejecutar DOS en varias versiones de Unix y Microsoft Windows , como DOSBox . [26] [27] DOSBox está diseñado para juegos heredados (por ejemplo, King's Quest , Doom ) en sistemas operativos modernos. [17] [26] DOSBox incluye su propia implementación de DOS que está fuertemente ligada al emulador y no puede ejecutarse en hardware real, pero también puede arrancar MS-DOS, FreeDOS u otros sistemas operativos DOS si es necesario.
Los sistemas operativos relacionados con MS-DOS e IBM PC DOS se asocian comúnmente con máquinas que usan CPU Intel x86 o compatibles , principalmente compatibles con IBM PC . Se produjeron versiones dependientes de la máquina de MS-DOS para muchas máquinas basadas en x86 no compatibles con IBM , con variaciones desde el reetiquetado de la distribución de Microsoft bajo el nombre del fabricante, hasta versiones diseñadas específicamente para funcionar con hardware no compatible con IBM PC. Siempre que los programas de aplicación usaran API de DOS en lugar de acceso directo al hardware, podían ejecutarse tanto en máquinas compatibles con IBM PC como en máquinas incompatibles. El núcleo FreeDOS original, DOS-C , se derivó de DOS/NT para la serie de CPU Motorola 68000 a principios de la década de 1990. Si bien estos sistemas se parecían vagamente a la arquitectura DOS, las aplicaciones no eran compatibles binariamente debido a los conjuntos de instrucciones incompatibles de estas CPU no x86. Sin embargo, las aplicaciones escritas en lenguajes de alto nivel se podían trasladar fácilmente.
DOS es un sistema operativo monousuario y monotarea con funciones básicas de núcleo que no son reentrantes : solo un programa a la vez puede usarlas, y el propio DOS no tiene funcionalidad que permita que se ejecute más de un programa a la vez. El núcleo del DOS proporciona varias funciones para los programas (una interfaz de programación de aplicaciones ), como entrada/salida de caracteres, administración de archivos, administración de memoria, carga y finalización de programas.
DOS ofrece la posibilidad de ejecutar scripts de shell a través de archivos por lotes (con la extensión de nombre de archivo .BAT
). Cada línea de un archivo por lotes se interpreta como un programa a ejecutar. Los archivos por lotes también pueden utilizar comandos internos, como GOTO y sentencias condicionales . [28]
El sistema operativo ofrece una interfaz de programación de aplicaciones que permite el desarrollo de aplicaciones basadas en caracteres, pero no el acceso a la mayoría del hardware , como tarjetas gráficas , impresoras o ratones . Esto requería que los programadores accedieran al hardware directamente, lo que generalmente resultaba en que cada aplicación tuviera su propio conjunto de controladores de dispositivos para cada periférico de hardware. Los fabricantes de hardware publicarían especificaciones para garantizar que los controladores de dispositivos para las aplicaciones más populares estuvieran disponibles. [29]
Los archivos del sistema DOS cargados por el sector de arranque deben ser contiguos y ser las dos primeras entradas del directorio . [34] Como tal, eliminar y agregar este archivo probablemente hará que el medio no pueda iniciarse. Sin embargo, es posible reemplazar el shell a voluntad, un método que se puede utilizar para iniciar la ejecución de aplicaciones dedicadas más rápido. Esta limitación no se aplica a ninguna versión de DR DOS, donde los archivos del sistema pueden ubicarse en cualquier parte del directorio raíz y no necesitan ser contiguos. Por lo tanto, los archivos del sistema se pueden copiar simplemente a un disco siempre que el sector de arranque ya sea compatible con DR DOS.
En PC DOS y DR DOS 5.0 y versiones posteriores, los archivos del sistema DOS se denominan IBMBIO.COM en lugar de IO.SYS e IBMDOS.COM en lugar de MSDOS.SYS . Las versiones anteriores de DR DOS utilizaban DRBIOS.SYS y DRBDOS.SYS en su lugar.
A partir de MS-DOS 7.0, los archivos binarios del sistema IO.SYS y MSDOS.SYS se combinaron en un único archivo IO.SYS, mientras que MSDOS.SYS se convirtió en un archivo de configuración similar a CONFIG.SYS y AUTOEXEC.BAT. Si la directiva MSDOS.SYS BootGUI está establecida en 0
, el proceso de arranque se detendrá con el procesador de comandos (normalmente COMMAND.COM) cargado, en lugar de ejecutar WIN.COM automáticamente.
DOS utiliza un sistema de archivos que admite nombres de archivo 8.3 : 8 caracteres para el nombre de archivo y 3 caracteres para la extensión. A partir de DOS, se admiten 2 directorios jerárquicos. Cada nombre de directorio también tiene formato 8.3, pero la longitud máxima de la ruta del directorio es de 64 caracteres debido a las tablas de estructura de directorio actual (CDS) internas que mantiene DOS. Incluyendo el nombre de la unidad, la longitud máxima de un nombre de archivo completo que admite DOS es de 80 caracteres utilizando el formato unidad:\ruta\nombredearchivo.ext seguido de un byte nulo.
DOS utiliza el sistema de archivos FAT ( File Allocation Table ). Originalmente, era FAT12 , que admitía hasta 4078 clústeres por unidad. DOS 3.0 agregó compatibilidad con FAT16 , que utilizaba entradas de asignación de 16 bits y admitía hasta 65518 clústeres por unidad. Compaq MS-DOS 3.31 agregó compatibilidad con FAT16B , que eliminó el límite de unidad de 32 MiB y podía admitir hasta 512 MiB. Finalmente, MS-DOS 7.1 (el componente DOS de Windows 9x) agregó compatibilidad con FAT32 , que utilizaba entradas de asignación de 32 bits y podía admitir discos duros de hasta 137 GiB y más.
A partir de DOS 3.1, se agregó soporte para redireccionamiento de archivos a DOS. Esto se utilizó inicialmente para admitir redes, pero luego se utilizó para admitir unidades de CD-ROM con MSCDEX . IBM PC DOS 4.0 también tenía soporte preliminar para sistemas de archivos instalables (IFS), pero no se utilizó y se eliminó en DOS 5.0. DOS también admitía dispositivos de bloque (dispositivos "unidad de disco") cargados desde CONFIG.SYS que se podían usar bajo el sistema de archivos DOS para admitir dispositivos de red.
En DOS, las unidades se identifican mediante letras que las identifican. La práctica estándar es reservar "A" y "B" para las unidades de disquete . En sistemas con una sola unidad de disquete, DOS asigna ambas letras a la unidad, lo que solicita al usuario que intercambie los discos a medida que los programas alternan el acceso entre ellos. Esto facilita la copia de un disquete a otro o la ejecución de un programa desde un disquete mientras se accede a sus datos en otro. Originalmente, a los discos duros se les asignaban las letras "C" y "D". DOS solo podía admitir una partición activa por unidad. A medida que se hizo disponible el soporte para más discos duros, esto se convirtió en la primera asignación de una letra de unidad a la partición primaria activa de cada unidad , luego en una segunda pasada por las unidades para asignar letras a las unidades lógicas en la partición extendida , luego en una tercera pasada para dar nombre a cualquier otra partición primaria no activa (cuando existían particiones adicionales y contenían un sistema de archivos compatible con DOS). Por último, DOS asigna letras para unidades de discos ópticos , discos RAM y otro hardware. Las asignaciones de letras generalmente ocurren en el orden en que se cargan los controladores, pero los controladores pueden indicarle a DOS que asigne una letra diferente; los controladores para unidades de red, por ejemplo, generalmente asignan letras más cercanas al final del alfabeto. [35]
Debido a que las aplicaciones DOS utilizan estas letras de unidad directamente (a diferencia del directorio /dev en sistemas tipo Unix ), pueden verse alteradas al agregar nuevo hardware que necesite una letra de unidad. Un ejemplo es la adición de un nuevo disco duro que tenga una partición primaria donde un disco duro preexistente contiene unidades lógicas en particiones extendidas; a la nueva unidad se le asignará una letra que se asignó previamente a una de las unidades lógicas de la partición extendida. Además, incluso al agregar un nuevo disco duro que solo tenga unidades lógicas en una partición extendida, se seguirían alterando las letras de los discos RAM y las unidades ópticas. Este problema persistió en las versiones 9x de Windows basadas en DOS de Microsoft hasta que fueron reemplazadas por versiones basadas en la línea NT, que conserva las letras de las unidades existentes hasta que el usuario las cambia. [35] Bajo DOS, este problema se puede solucionar definiendo una unidad SUBST e instalando el programa DOS en esta unidad lógica. La asignación de esta unidad se cambiaría entonces en un trabajo por lotes cada vez que se inicie la aplicación. En algunas versiones de Concurrent DOS , así como en Multiuser DOS , System Manager y REAL/32 , la letra de unidad reservada L: se asignará automáticamente a la unidad de carga correspondiente cada vez que se inicie una aplicación.
Existen nombres de dispositivos reservados en DOS que no se pueden usar como nombres de archivo independientemente de la extensión, ya que están ocupados por dispositivos de caracteres integrados. Estas restricciones también afectan a varias versiones de Windows, en algunos casos provocando fallas y vulnerabilidades de seguridad. [36]
Los nombres reservados son:
COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
(puertos de comunicación en serie)CON
, para consolaLPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, LPT8
, LPT9
(impresoras de línea)AUX
, para auxiliarPRN
, para impresora [37]NUL
, para dispositivos nulos ; agregado en 86-DOS 1.10 y PC DOS 1.0.En Windows 95 y Windows 98 , al escribir la ubicación del nombre reservado (como CON/CON, AUX/AUX o PRN/PRN) se bloquea el sistema operativo, para lo cual Microsoft ha proporcionado una solución de seguridad. En Windows XP , el nombre del archivo o carpeta que utiliza un nombre reservado vuelve silenciosamente a su nombre anterior, sin ninguna notificación o mensaje de error. En Windows Vista y versiones posteriores, al intentar utilizar un nombre reservado para un archivo o carpeta aparece un mensaje de error que dice "El nombre de dispositivo especificado no es válido".
Estos nombres (excepto NUL) han seguido siendo compatibles en todas las versiones de MS-DOS, PC DOS y DR-DOS desde entonces. [38] LST
también estaba disponible en algunas versiones OEM de MS-DOS 1.25, mientras que otras versiones OEM de MS-DOS 1.25 ya utilizaban LPT1
(primera impresora de línea ) y COM1
(primer dispositivo de comunicación en serie ) en su lugar, tal como se introdujo con PC DOS. Además de LPT1
y LPT2
además de COM1
, COM3
la versión OEM de Hewlett-Packard de MS-DOS 2.11 para HP Portable Plus también era compatible LST
como alias para LPT2
y 82164A
como alias para COM2
; [39] [40] también era compatible PLT
con trazadores . [39] [40] De lo contrario, COM2
, LPT2
, LPT3
y el dispositivo de reloj CLOCK$
(aún nombrado CLOCK
en algunas ediciones de MS-DOS 2.11 [41] [39] [40] ) se introdujeron con DOS 2.0, y COM3
y COM4
se añadieron con DOS 3.3. [38] Solo el MS-DOS 4 multitarea admitía KEYBD$
y SCREEN$
. DR DOS 5.0 y superiores y Multiuser DOS admiten un $IDLE$
dispositivo para la detección dinámica de inactividad con el fin de ahorrar energía y mejorar la multitarea. LPT4
es un controlador integrado opcional para una impresora de cuarta línea compatible con algunas versiones de DR-DOS desde 7.02. CONFIG$
constituye el administrador PnP de modo real en MS-DOS 7.0–8.0.
AUX
Por lo general, los valores predeterminados son , COM1
y ( ), [38] pero estos valores predeterminados se pueden cambiar en algunas versiones de DOS para apuntar a otros dispositivos seriales o paralelos. [39] [40] [42] El dispositivo (presente solo en algunas versiones OEM de HP de MS-DOS) también era reconfigurable. [39] [40]PRN
LPT1
LST
PLT
Los nombres de archivo que terminan con dos puntos ( : ) indican convencionalmente los nombres de los dispositivos, pero los dos puntos no forman parte del nombre de los controladores de dispositivos integrados. En algunos casos no es necesario escribir los dos puntos, por ejemplo:NUL:
ECHO Esto no logra nada > NUL
Aún es posible crear archivos o directorios utilizando estos nombres de dispositivo reservados, por ejemplo, mediante la edición directa de las estructuras de datos de directorio en los sectores del disco. Este tipo de denominación, como comenzar el nombre de un archivo con un espacio, a veces ha sido utilizada por virus o programas de piratería para ocultar archivos a los usuarios que no saben cómo acceder a estas ubicaciones.
El DOS fue diseñado para el procesador Intel 8088, que sólo puede acceder directamente a un máximo de 1 MiB de RAM. [43] Tanto IBM como Microsoft eligieron 640 kibibytes (KiB) como la cantidad máxima de memoria disponible para los programas y reservaron los 384 KiB restantes para la memoria de vídeo, la memoria de sólo lectura de los adaptadores en algunos periféricos de vídeo y red, y el BIOS del sistema. En 1985, algunas aplicaciones DOS ya estaban alcanzando el límite de memoria, mientras que gran parte de la reservada estaba sin utilizar, dependiendo de las especificaciones de la máquina. [44]
Se desarrollaron especificaciones para permitir el acceso a memoria adicional. La primera fue la Especificación de Memoria Expandida (EMS), diseñada para permitir el acceso a la memoria de una tarjeta adicional a través de un marco de página de 64 KiB en el área de memoria superior reservada. [45] Los sistemas 80386 y posteriores podían usar un administrador de memoria en modo 8086 virtual (V86) como EMM386 para crear memoria expandida a partir de memoria extendida sin la necesidad de una tarjeta adicional. [46] La segunda especificación fue la Especificación de Memoria Extendida (XMS) para sistemas 80286 y posteriores. Esta proporcionó una forma de copiar datos hacia y desde la memoria extendida, acceso al área de memoria alta de 65.520 bytes [47] directamente sobre el primer megabyte de memoria y el área de bloque de memoria superior . Generalmente, el soporte XMS lo proporcionaba HIMEM.SYS o un administrador de memoria en modo V86 como QEMM o 386MAX que también admitía EMS. [48]
A partir de DOS 5, [49] DOS podía aprovechar directamente la HMA cargando su código de núcleo y los buffers de disco allí a través de la DOS=HIGH
declaración en CONFIG.SYS. DOS 5+ también permitía el uso de bloques de memoria superior disponibles a través de la DOS=UMB
declaración en CONFIG.SYS. [50]
La emulación DOS en OS/2 y Windows se ejecuta de forma muy similar a las aplicaciones nativas. Pueden acceder a todas las unidades y servicios, e incluso pueden utilizar los servicios del portapapeles del host. Debido a que los controladores de los sistemas de archivos y demás residen en el sistema host, la emulación DOS solo necesita proporcionar una capa de traducción de API DOS que convierte las llamadas DOS en llamadas del sistema OS/2 o Windows. La capa de traducción generalmente también convierte las llamadas BIOS y virtualiza los accesos a los puertos de E/S comunes que muchos programas DOS utilizan comúnmente.
En Windows 3.1 y 9x, la máquina virtual DOS la proporciona WINOLDAP. WinOldAp crea una máquina virtual basada en el archivo PIF del programa y en el estado del sistema cuando se cargó Windows. El modo gráfico DOS, tanto de caracteres como gráfico, se puede capturar y ejecutar en la ventana. Las aplicaciones DOS pueden utilizar el portapapeles de Windows accediendo a llamadas publicadas adicionales en WinOldAp, y se puede pegar texto a través de los gráficos de WinOldAp.
El DOS emulado en OS/2 y Windows NT se basa en DOS 5. Aunque existe una configuración predeterminada (config.sys y autoexec.bat), se pueden utilizar archivos alternativos en cada sesión. Es posible cargar controladores en estos archivos para acceder al sistema host, aunque normalmente son de terceros.
En OS/2 2.x y posteriores, la emulación de DOS la proporciona DOSKRNL. Se trata de un archivo que representa la combinación de IBMBIO.COM e IBMDOS.COM; las llamadas al sistema se pasan a los servicios de ventanas de OS/2. Los programas de DOS se ejecutan en su propio entorno; la mayor parte de las utilidades de DOS las proporcionan las aplicaciones DOS/OS2 enlazadas en el directorio \OS2. OS/2 puede ejecutar aplicaciones de Windows 3.1 utilizando una copia modificada de Windows (Win-OS/2). Las modificaciones permiten que los programas de Windows 3.1 se ejecuten sin problemas en el escritorio de OS/2, o se puede iniciar un escritorio WinOS/2, de forma similar a iniciar Windows desde DOS.
OS/2 permite el uso de "DOS desde la unidad A:" (VMDISK). Se trata de un DOS real, como MS-DOS 6.22 o PC DOS 5.00. Se crea un disquete de arranque del DOS, se añaden una serie de controladores de OS/2 y, a continuación, se crea una imagen especial. El DOS arrancado de esta manera tiene acceso total al sistema, pero proporciona sus propios controladores para el hardware. Se puede utilizar un disco de este tipo para acceder a unidades de CD-ROM para las que no hay ningún controlador de OS/2.
En todas las ediciones de 32 bits (IA-32) de la familia Windows NT desde 1993, la emulación de DOS se proporciona mediante una máquina DOS virtual (NTVDM). Las versiones de 64 bits (IA-64 y x86-64) de Windows no admiten NTVDM y no pueden ejecutar aplicaciones DOS de 16 bits directamente; se pueden utilizar emuladores de terceros como DOSbox para ejecutar programas DOS en esas máquinas.
Los sistemas DOS utilizan una interfaz de línea de comandos . Un programa se inicia introduciendo su nombre de archivo en el símbolo del sistema. Los sistemas DOS incluyen programas de utilidad y proporcionan comandos internos que no corresponden a programas. [51]
En un intento de proporcionar un entorno más fácil de usar, numerosos fabricantes de software escribieron programas de gestión de archivos que proporcionaban a los usuarios interfaces WIMP . Microsoft Windows es un ejemplo notable, que finalmente resultó en que Microsoft Windows 9x se convirtiera en un cargador de programas autónomo y reemplazara a DOS como el cargador de programas compatible con PC más utilizado. Los programas de interfaz de usuario de texto incluyeron Norton Commander , DOS Navigator , Volkov Commander , Quarterdesk DESQview y Sidekick . Los programas de interfaz de usuario gráfica incluyeron GEM de Digital Research (originalmente escrito para CP/M) y GEOS .
Con el tiempo, los fabricantes de los principales sistemas DOS comenzaron a incluir sus propios administradores de entorno. MS-DOS/IBM DOS 4 incluía DOS Shell ; [52] DR DOS 5.0, lanzado al año siguiente, incluía ViewMAX , basado en GEM. [53]
Aunque DOS no es un sistema operativo multitarea, sí proporciona una función de terminación y permanencia residente (TSR) que permite que los programas permanezcan residentes en la memoria. Estos programas pueden conectarse al temporizador del sistema o a las interrupciones del teclado para permitirse ejecutar tareas en segundo plano o ser invocados en cualquier momento, interrumpiendo el programa que se está ejecutando actualmente e implementando de manera efectiva una forma simple de multitarea en una base específica del programa. El comando PRINT de DOS hace esto para implementar el spooling de impresión en segundo plano. Borland Sidekick , un administrador de información personal (PIM) emergente, también utiliza esta técnica.
Los programas que terminan y permanecen en el sistema también se utilizan para proporcionar funciones adicionales que no están disponibles de forma predeterminada. Programas como CED y DOSKEY proporcionan funciones de edición de línea de comandos que van más allá de las que ofrece COMMAND.COM. Programas como Microsoft CD-ROM Extensions (MSCDEX) proporcionan acceso a archivos en discos CD-ROM.
Algunos TSR pueden incluso realizar una forma rudimentaria de cambio de tareas. Por ejemplo, el programa shareware Back and Forth (1990) [54] tiene una tecla de acceso rápido para guardar el estado del programa que se está ejecutando en el disco, cargar otro programa y cambiar a él, lo que hace posible cambiar "de un lado a otro" entre programas (aunque lentamente, debido al acceso al disco requerido). Sin embargo, Back and Forth no podía habilitar el procesamiento en segundo plano ; para eso necesitaba DESQview (al menos en un 386 ).
{{cite web}}
: CS1 maint: URL no apta ( enlace )