Articulo de referencia

DOS

La pantalla de arranque y la interfaz de línea de comandos de MS-DOS 6 , con un ejemplo de su estructura de directorios. La pantalla de arranque y la interfaz de línea de comand...

La pantalla de arranque y la interfaz de línea de comandos de MS-DOS 6 , con un ejemplo de su estructura de directorios.
La pantalla de arranque y la interfaz de línea de comandos de FreeDOS , que muestran información de la versión y un ejemplo de su estructura de directorios.

DOS ( / d ɒ s / , / d ɔː s / ) es una familia de sistemas operativos basados ​​en disco para computadoras compatibles con IBM PC . [ 1 ] Consta principalmente de IBM PC DOS y una versión renombrada, MS-DOS de Microsoft , ambos introducidos en 1981. Posteriormente, aparecieron sistemas compatibles de otros fabricantes como DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993) y FreeDOS (1994). MS-DOS dominó el mercado de computadoras compatibles con IBM PC entre 1981 y 1995.

Aunque el nombre se ha llegado a identificar específicamente con MS-DOS y sistemas operativos compatibles, DOS es un acrónimo independiente de la plataforma para sistema operativo de disco , [ 2 ] cuyo uso es anterior al IBM PC. Decenas 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 .

Historia

Orígenes

Apple CP/M de Digital Research en una tarjeta SoftCard Z-80 para Apple II

IBM PC DOS (y el MS-DOS , que se vendía por separado ) y su predecesor, 86-DOS , funcionaban en procesadores Intel 8086 de 16 bits . Fue desarrollado para ser similar a CP/M de Digital Research —el sistema operativo de disco dominante para los microordenadores Intel 8080 y Zilog Z80 de 8 bits— con el fin de simplificar la adaptación de las aplicaciones de CP/M a MS-DOS.

El ordenador personal IBM (IBM 5150 PC)

Cuando IBM presentó la IBM PC , construida con el microprocesador Intel 8088 , necesitaban un sistema operativo. El presidente John Opel conversó con su colega del Comité Ejecutivo de la Junta Nacional de United Way, Mary Maxwell Gates , quien lo remitió a su hijo Bill Gates para que lo ayudara con una compilación de CP/M compatible con el 8088. [ 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 deseaba vender CP/M con regalías, mientras que IBM buscaba 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 ]

Una sesión simulada de SCP 86-DOS

IBM volvió a contactar con Bill Gates. Gates, a su vez, contactó con Seattle Computer Products . Allí, el programador Tim Paterson había desarrollado una variante de CP/M-80 , concebida 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 denominó inicialmente QDOS (Quick and Dirty Operating System), antes de su lanzamiento comercial como 86-DOS . Microsoft adquirió 86-DOS, supuestamente por 50 000 dólares estadounidenses . Este se convirtió en el Sistema Operativo de Disco de Microsoft, MS-DOS, presentado en 1981. En un año, Microsoft concedió licencias de MS-DOS a más de 70 empresas, [ 6 ] que suministraron el sistema operativo para su propio hardware, a veces bajo sus propios nombres, como Z-DOS de Zenith Data Systems . [ 7 ] Posteriormente, Microsoft exigió el uso del nombre MS-DOS, con la excepción de la variante de 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 (con el mismo nombre que IBM había impuesto 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. Comparando ambos sistemas, CP/M costaba 200 dólares estadounidenses más que PC DOS, y las ventas fueron bajas. CP/M cayó en desuso, y MS-DOS y PC DOS se convirtieron en los sistemas operativos comercializados para PC y compatibles con PC. [ 4 ]   

Originalmente, Microsoft vendía MS-DOS solo a fabricantes de equipos originales (OEM). La razón principal era que no todos los primeros PC eran 100% compatibles con IBM PC . DOS estaba estructurado de tal manera que existía una separación entre el código del controlador de dispositivo específico del sistema ( IO.SYS ) y el núcleo de 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 adherían a los estándares de IBM PC, por lo que Microsoft comenzó a vender una versión comercial de MS-DOS, comenzando con MS-DOS 5.0.

A mediados de la década de 1980, Microsoft desarrolló una versión multitarea de DOS . [ 8 ] [ 9 ] 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 auxiliares de dispositivos y ejecutables en formato New Executable ("NE"). Ninguna de estas características se utilizó en versiones posteriores de DOS, pero sí sirvieron de base para el núcleo OS/2 1.0 . Esta versión de DOS es distinta de la versión PC  DOS 4.0, ampliamente distribuida, que fue desarrollada por IBM y se basó en DOS 3.3.

Digital Research CP/M-86 para el ordenador personal IBM, versión 1.0

Digital Research intentó recuperar el mercado perdido con CP/M-86, inicialmente con Concurrent DOS , FlexOS y DOS Plus (ambos compatibles con software MS-DOS y CP/M-86), y posteriormente con Multiuser DOS (compatible con software MS-DOS y CP/M-86) y DR DOS (compatible con software MS-DOS). Digital Research fue adquirida por Novell , y DR  DOS se convirtió en PalmDOS y Novell DOS ; más tarde, formó 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 un solo uso destinado a mantener contenta a IBM para que compraran nuestros lenguajes". [ 10 ] 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, de modo 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 describió en 1983 como "el MS-DOS multiusuario del futuro". [ 11 ] [ 12 ]

OS/2 1.0 presentaba una interfaz en modo texto similar a la de MS-DOS.

IBM, sin embargo, no quería reemplazar a DOS. [ 13 ] Después de que AT&T comenzara a vender Unix, Microsoft e IBM comenzaron a desarrollar OS/2 como alternativa. [ 10 ] Posteriormente, las dos compañías tuvieron una serie de desacuerdos sobre dos sistemas operativos sucesores de DOS, OS/2 y Windows. [ 14 ] Como resultado, dividieron el desarrollo de sus sistemas DOS. [ 15 ] La última versión comercial de MS-DOS fue MS-DOS 6.22; después de esto, MS-DOS pasó a formar parte de Windows 95, 98 y Me. La última versión comercial de PC  DOS fue PC  DOS 2000 (también llamada PC  DOS 7 revisión 1), aunque IBM desarrolló posteriormente PC  DOS 7.10 para fabricantes de equipos originales y uso interno.

El proyecto FreeDOS comenzó el 26 de junio de 1994, cuando Microsoft anunció que dejaría de vender y dar 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, como 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 recopilación de código que habían escrito o encontrado disponible. Hubo varias distribuciones oficiales de FreeDOS previas al lanzamiento de la versión 1.0 el 3 de septiembre de 2006. FreeDOS, disponible bajo la Licencia Pública General de GNU (GPL), no requiere el pago de tasas de licencia ni regalías. [ 16 ] [ 17 ]

Rechazar

Las primeras versiones de Windows se ejecutaban en MS-DOS. [ 18 ] A principios de la década de 1990, el shell gráfico de Windows se utilizaba mucho en los sistemas nuevos. En 1995, Windows 95 se incluyó como un sistema operativo independiente que no requería una licencia de DOS por separado. Windows 95 (y Windows 98 y ME, que le siguieron) se convirtieron en el núcleo del sistema operativo predeterminado , aunque el componente MS-DOS se mantuvo por compatibilidad. Con Windows 95 y 98, pero no con ME, el componente MS-DOS podía ejecutarse sin iniciar Windows. [ 19 ] [ 20 ] [ 21 ] Al no ser necesario DOS para usar Windows, la mayoría de los usuarios dejaron de usarlo directamente.

uso continuado

DOSBox

A partir de 2026Los sistemas compatibles disponibles son FreeDOS , ROM-DOS , PTS-DOS , RxDOS [ 22 ] y REAL/32 . Algunos fabricantes de computadoras, incluidos Dell y HP , venden computadoras con FreeDOS como sistema operativo OEM , [ 23 ] [ 24 ]y algunos desarrolladores e ingenieros informáticos todavía lo utilizan porque está cerca del hardware.

Sistemas embebidos

La estructura de DOS para acceder directamente al hardware permite su uso en dispositivos integrados . Las versiones finales de DR-DOS siguen estando dirigidas a este mercado. [ 25 ] ROM-DOS se utilizó como sistema operativo para la Canon PowerShot Pro 70. [ 26 ]

Emulación

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 . [ 27 ] [ 28 ] DOSBox está diseñado para juegos clásicos (por ejemplo, King's Quest , Doom ) en sistemas operativos modernos. [ 18 ] [ 27 ] 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.

Diseño

MS-DOS y  los sistemas operativos relacionados con IBM PC DOS se asocian comúnmente con máquinas que utilizan procesadores Intel x86 o compatibles , principalmente compatibles con IBM PC . Se produjeron versiones de MS-DOS específicas para muchas máquinas basadas en x86 no compatibles con IBM, con variaciones que iban desde el cambio de nombre 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 utilizaran las API de DOS en lugar del acceso directo al hardware, podían ejecutarse tanto en máquinas compatibles como incompatibles con IBM PC. El núcleo original de FreeDOS , DOS-C , se derivó de DOS/NT para la serie de procesadores Motorola 68000 a principios de la década de 1990. Si bien estos sistemas se parecían vagamente a la arquitectura de DOS, las aplicaciones no eran compatibles a nivel binario debido a los conjuntos de instrucciones incompatibles de estos procesadores no x86. Sin embargo, las aplicaciones escritas en lenguajes de alto nivel podían portarse fácilmente.

DOS es un sistema operativo monousuario y monotarea con funciones básicas del núcleo que no son reentrantes : solo un programa a la vez puede utilizarlas, y DOS en sí mismo no tiene funcionalidad para permitir que se ejecuten varios programas simultáneamente. El núcleo de DOS proporciona diversas funciones para los programas (una interfaz de programación de aplicaciones ), como entrada/salida de caracteres, gestión de archivos, gestión de memoria, carga y finalización de programas.

DOS permite la ejecución de scripts de shell mediante archivos por lotes (con la extensión de archivo .bat.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 . [ 29 ]

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 parte del hardware , como tarjetas gráficas , impresoras o ratones . Esto obligaba a los programadores a acceder directamente al hardware, lo que generalmente resultaba en que cada aplicación tuviera su propio conjunto de controladores de dispositivo para cada periférico. Los fabricantes de hardware publicaban especificaciones para garantizar la disponibilidad de controladores de dispositivo para las aplicaciones más populares. [ 30 ]

Secuencia de arranque

  • El cargador de arranque en ordenadores compatibles con PC, el registro de arranque maestro , se encuentra a partir del sector de arranque , el primer sector de la primera pista ( pista cero ) del disco de arranque. La BIOS ROM carga este sector en la memoria en la dirección 0000h : 7C00h y, normalmente, comprueba la firma " 55h AAh " en el desplazamiento +1FEh . Si el sector no se considera válido, la BIOS ROM intentará con el siguiente disco físico de la fila; de lo contrario, saltará a la dirección de carga con ciertos registros configurados.
  • Si el sector de arranque cargado resulta ser un Registro de Arranque Maestro (MBR), como se encuentra en medios particionados, se reubicará en 0000h : 0600h en la memoria, [ 31 ] de lo contrario, este paso se omite. El código MBR escaneará la tabla de particiones, que se encuentra dentro de este sector, en busca de una partición activa (los MBR modernos comprueban si el bit 7 está establecido en el desplazamiento +1BEh+10h*n , mientras que los MBR antiguos simplemente comprueban un valor de 80h ) y, si se encuentra, carga el primer sector de la partición correspondiente, que contiene el Registro de Arranque de Volumen (VBR) de ese volumen, en la memoria en 0000h : 7C00h de manera similar a como lo habría cargado la propia ROM BIOS. El MBR luego pasará la ejecución a la porción cargada con ciertos registros configurados.
  • El contenido del sector cargado a las 0000h : 7C00h constituye ahora un VBR. Los VBR son específicos del sistema operativo y no se pueden intercambiar entre diferentes versiones de DOS en general, ya que el comportamiento exacto difiere entre las distintas versiones de DOS. En versiones muy antiguas de DOS, como DOS 1.x, el VBR cargaba todo el archivo IO.SYS/IBMBIO.COM en la memoria a las 0000h : 0600h . [ 32 ] Para que esto funcionara, estos sectores debían almacenarse en orden consecutivo en el disco mediante el comando SYS. En versiones posteriores, localizaba y almacenaba el contenido de las dos primeras entradas en el directorio raíz a las 0000h : 0500h y, si coincidían con los archivos de arranque correctos registrados en el VBR, este cargaba los tres primeros sectores consecutivos del archivo IO.SYS/IBMBIO.COM en la memoria a las 0070h : 0000h . El VBR también debe encargarse de preservar el contenido de la Tabla de Parámetros del Disco (DPT). Finalmente, transfiere el control a la parte cargada saltando a su punto de entrada con ciertos registros configurados (con diferencias considerables entre las distintas versiones de DOS).
  • En versiones posteriores de DOS, donde el VBR solo ha cargado los primeros 3 sectores del archivo IO.SYS/IBMBIO.COM en la memoria, la porción cargada contiene otro cargador de arranque, que luego carga el resto en la memoria, utilizando la información del directorio raíz almacenada en 0000h : 0500h . En la mayoría de las versiones, el contenido del archivo aún debe almacenarse en orden consecutivo en el disco. En versiones anteriores de DOS, que todavía se cargaban en su totalidad, este paso se omite.
  • El código de inicialización del sistema DOS inicializa sus controladores de dispositivo integrados y, a continuación, carga en memoria el núcleo de DOS, ubicado en MSDOS.SYS en los sistemas MS-DOS. En Windows 9x, el código de inicialización del sistema DOS, los controladores de dispositivo integrados y el núcleo de DOS se combinan en un único archivo IO.SYS, mientras que MSDOS.SYS se utiliza como archivo de configuración de texto.
  • A continuación, se lee el archivo CONFIG.SYS para analizar los parámetros de configuración. La variable SHELL especifica la ubicación del intérprete de comandos , que por defecto es COMMAND.COM .
  • El intérprete de comandos se carga y se ejecuta.
  • El archivo por lotes de inicio AUTOEXEC.BAT es ejecutado por el intérprete de comandos. [ 33 ] [ 34 ]

Los archivos del sistema DOS cargados por el sector de arranque deben ser contiguos y ser las dos primeras entradas del directorio . [ 35 ] Por lo tanto, eliminar y agregar este archivo probablemente hará que el medio no arranque. Sin embargo, es posible reemplazar el intérprete de comandos a voluntad, un método que puede usarse para iniciar la ejecución de aplicaciones específicas más rápidamente. Esta limitación no se aplica a ninguna versión de DR  DOS, donde los archivos del sistema pueden ubicarse en cualquier lugar del directorio raíz y no necesitan ser contiguos. Por lo tanto, los archivos del sistema pueden simplemente copiarse 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.

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 BootGUI de MSDOS.SYS está configurada 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.

Sistema de archivos

DOS utiliza un sistema de archivos que admite nombres de archivo 8.3 : 8 caracteres para el nombre y 3 para la extensión. A partir de DOS 2, se admiten directorios jerárquicos. Cada nombre de directorio también tiene formato 8.3, pero la longitud máxima de la ruta es de 64 caracteres debido a las tablas internas de la estructura de directorio actual (CDS) 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\nombrearchivo.ext seguido de un byte nulo.

DOS utiliza el sistema de archivos Tabla de asignación de archivos (FAT). Originalmente era FAT12 , que admitía hasta 4078 clústeres por unidad. DOS 3.0 añadió 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 añadió compatibilidad con FAT16B , que eliminó el límite de 32 MiB para unidades y podía admitir hasta 512  MiB. Finalmente, MS-DOS 7.1 (el componente DOS de Windows 9x) añadió compatibilidad con FAT32 , que utilizaba entradas de asignación de 32 bits y podía admitir discos duros de hasta 137 GB (127 GiB) y más .

A partir de DOS 3.1, se añadió compatibilidad con redireccionadores de archivos. Inicialmente, esta función se utilizó para admitir redes, pero posteriormente se empleó para admitir unidades de CD-ROM con MSCDEX . IBM PC  DOS 4.0 también incluía compatibilidad preliminar con sistemas de archivos instalables (IFS), pero esta función no se utilizó y se eliminó en DOS 5.0. DOS también admitía dispositivos de bloques (dispositivos de "unidad de disco") cargados desde CONFIG.SYS, que podían utilizarse en el sistema de archivos de DOS para admitir dispositivos de red.

Esquema de nombres de la unidad

En DOS, las unidades se identifican mediante letras. La práctica habitual es reservar las letras "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 obliga al usuario a intercambiar discos cuando los programas acceden alternativamente a ellos. Esto facilita la copia de disquete a disquete 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 admitía una partición activa por unidad. A medida que se fue ampliando la compatibilidad con más discos duros, se empezó a asignar una letra de unidad a la partición primaria activa de cada disco , luego se realizaba una segunda pasada por las unidades para asignar letras a las unidades lógicas en la partición extendida , y finalmente una tercera pasada para dar nombre a cualquier otra partición primaria no activa (cuando existían dichas particiones adicionales y contenían un sistema de archivos compatible con DOS). Por último, DOS asigna letras a las unidades de disco óptico , discos RAM y otros componentes de hardware. La asignación de letras suele ocurrir en el orden en que se cargan los controladores, pero estos pueden indicarle a DOS que asigne una letra diferente; los controladores para unidades de red, por ejemplo, suelen asignar letras más cercanas al final del alfabeto. [ 36 ]

Debido a que las aplicaciones de DOS utilizan estas letras de unidad directamente (a diferencia del directorio /dev en sistemas tipo Unix ), pueden verse afectadas al agregar nuevo hardware que necesite una letra de unidad. Un ejemplo es la adición de un nuevo disco duro con una partición primaria donde un disco duro preexistente contiene unidades lógicas en particiones extendidas; al nuevo disco se le asignará una letra que previamente estaba asignada a una de las unidades lógicas de la partición extendida. Además, incluso agregar un nuevo disco duro con solo unidades lógicas en una partición extendida seguiría afectando 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. [ 36 ] En 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.

Nombres de dispositivos reservados

Mensaje de error al intentar usar un nombre reservado al nombrar o renombrar un archivo o carpeta.

En DOS existen nombres de dispositivos reservados que no pueden utilizarse como nombres de archivo, independientemente de su extensión, ya que están ocupados por dispositivos de caracteres integrados. Estas restricciones también afectan a varias versiones de Windows, provocando en algunos casos fallos del sistema y vulnerabilidades de seguridad. [ 37 ]

Los nombres reservados son:

En Windows 95 y Windows 98 , escribir la ubicación del nombre reservado (como CON/CON, AUX/AUX o PRN/PRN) provoca un fallo en el sistema operativo, para el 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 notificación ni mensaje de error. En Windows Vista y versiones posteriores, intentar usar un nombre reservado para un archivo o carpeta genera un mensaje de error que indica "El nombre de dispositivo especificado no es válido". [ 41 ]

Estos nombres (excepto NUL) han seguido siendo compatibles en todas las versiones de MS-DOS, PC  DOS y DR-DOS desde entonces. [ 42 ]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 usaban LPT1(primera impresora de línea ) y COM1(primer dispositivo de comunicación serial ) en su lugar, como se introdujo con PC  DOS . Además de LPT1y LPT2así como COM1de , la versión OEM de MS-DOS 2.11COM3 de Hewlett-Packard para HP Portable Plus también admitía como alias para y como alias para ; [ 43 ] [ 44 ] también admitía para trazadores . [ 43 ] [ 44 ] Por otra parte, , , y el dispositivo de reloj (todavía nombrado en algunos números de MS-DOS 2.11 [ 45 ] [ 43 ] [ 44 ] ) se introdujeron con DOS 2.0, y y se agregaron con DOS 3.3. [ 42 ] Solo la multitarea MS-DOS 4 admitía y . DR DOS 5.0 y superior y Multiuser DOS admiten un dispositivo para detección dinámica de inactividad para ahorrar energía y mejorar la multitarea. es un controlador integrado opcional para una impresora de cuarta línea compatible con algunas versiones de DR-DOS desde 7.02. constituye el administrador PnP de modo real en MS-DOS 7.0–8.0.LSTLPT282164ACOM2PLTCOM2LPT2LPT3CLOCK$CLOCKCOM3COM4KEYBD$SCREEN$$IDLE$LPT4CONFIG$

AUXPor lo general, los valores predeterminados son , COM1y ( ), [ 42 ] pero estos valores predeterminados se pueden cambiar en algunas versiones de DOS para que apunten a otros dispositivos serie o paralelo. [ 43 ] [ 44 ] [ 46 ] El dispositivo (presente solo en algunas versiones OEM de HP de MS-DOS) también era reconfigurable. [ 43 ] [ 44 ]PRNLPT1LSTPLT

Los nombres de archivo terminan con dos puntos ( :) , como se indica convencionalmente para los nombres de dispositivos, pero los dos puntos no forman parte del nombre de los controladores de dispositivo integrados. En algunos casos, no es necesario escribir los dos puntos, por ejemplo:NUL:

ECHO Esto no logra nada > NUL 

Todavía 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 los directorios en los sectores del disco. Este tipo de nomenclatura, como comenzar un nombre de archivo con un espacio, ha sido utilizada en ocasiones por virus o programas de piratería informática para ocultar archivos a usuarios que desconocen cómo acceder a estas ubicaciones.

Gestión de la memoria

DOS fue diseñado para el procesador Intel 8088, que solo puede acceder directamente a un máximo de 1  MiB de RAM. [ 47 ] 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 solo lectura de los adaptadores en algunos periféricos de vídeo y red, y la BIOS del sistema. Para 1985, algunas aplicaciones de DOS ya estaban alcanzando el límite de memoria, mientras que gran parte de la reservada permanecía sin usar, dependiendo de las especificaciones de la máquina. [ 48 ]

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 en una tarjeta de expansión a través de un  marco de página de 64 KiB en el área de memoria superior reservada. [ 49 ] Los sistemas 80386 y posteriores podían usar un administrador de memoria en modo virtual 8086 (V86), como EMM386, para crear memoria expandida a partir de memoria extendida sin necesidad de una tarjeta de expansión. [ 50 ] La segunda especificación fue la Especificación de Memoria Extendida (XMS) para sistemas 80286 y posteriores. Esta proporcionaba una forma de copiar datos hacia y desde la memoria extendida, acceso al área de memoria alta de 65 520 bytes [ 51 ] directamente encima del primer megabyte de memoria y el área de bloque de memoria superior . Generalmente, el soporte para XMS lo proporcionaba HIMEM.SYS o un administrador de memoria en modo V86, como QEMM o 386MAX , que también era compatible con EMS. [ 52 ]

A partir de DOS 5, [ 53 ] DOS podía aprovechar directamente la HMA cargando allí su código del núcleo y los búferes de disco mediante la DOS=HIGHinstrucción en CONFIG.SYS. DOS 5+ también permitía el uso de los bloques de memoria superior disponibles mediante la DOS=UMBinstrucción en CONFIG.SYS. [ 54 ]

DOS en OS/2 y Windows

La emulación de DOS en OS/2 y Windows funciona de forma muy similar a las aplicaciones nativas. Pueden acceder a todas las unidades y servicios, e incluso utilizar el portapapeles del sistema anfitrión. Dado que los controladores de los sistemas de archivos y demás residen en el sistema anfitrión, la emulación de DOS solo necesita proporcionar una capa de traducción de la API de DOS que convierta las llamadas de DOS en llamadas al sistema de OS/2 o Windows. Esta capa de traducción también suele convertir las llamadas a la BIOS y virtualizar los accesos a los puertos de E/S comunes que utilizan muchos programas de DOS.

En Windows 3.1 y 9x, la máquina virtual de DOS la proporciona WINOLDAP. WinOldAp crea una máquina virtual a partir del archivo PIF del programa y del estado del sistema al cargar Windows. El modo gráfico de DOS, tanto de caracteres como de gráficos, se puede capturar y ejecutar en la ventana. Las aplicaciones de DOS pueden usar el portapapeles de Windows accediendo a llamadas adicionales publicadas en WinOldAp, y se puede pegar texto a través de los gráficos de WinOldAp.

El sistema operativo DOS emulado en OS/2 y Windows NT se basa en DOS 5. Si bien existe una configuración predeterminada (config.sys y autoexec.bat), se pueden usar archivos alternativos en cada sesión. Es posible cargar controladores en estos archivos para acceder al sistema anfitrión, aunque generalmente son de terceros.

En OS/2 2.x y versiones posteriores, la emulación de DOS la proporciona DOSKRNL. Este archivo representa la combinación de IBMBIO.COM e IBMDOS.COM, y las llamadas al sistema se transmiten a los servicios de ventanas de OS/2. Los programas de DOS se ejecutan en su propio entorno; la mayoría de las utilidades de DOS las proporcionan las aplicaciones vinculadas a DOS/OS2 en el directorio \OS2. OS/2 puede ejecutar aplicaciones de Windows 3.1 mediante una copia modificada de Windows (Win-OS/2). Estas modificaciones permiten que los programas de Windows 3.1 se ejecuten sin problemas en el escritorio de OS/2, o bien se puede iniciar un escritorio WinOS/2, de forma similar a como se inicia 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 de DOS, se le añaden varios controladores de OS/2 y, a continuación, se crea una imagen especial. El DOS arrancado de esta forma tiene acceso completo al sistema, pero proporciona sus propios controladores para el hardware. Se puede usar dicho disquete para acceder a unidades de CD-ROM para las que no existe un 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 virtual DOS (NTVDM). Las versiones de 64 bits (IA-64 y x86-64) de Windows no son compatibles con NTVDM y no pueden ejecutar aplicaciones DOS de 16 bits directamente; se pueden usar emuladores de terceros, como DOSBox, para ejecutar programas DOS en esas máquinas.

Interfaz de usuario

Los sistemas DOS utilizan una interfaz de línea de comandos . Un programa se inicia introduciendo su nombre de archivo en el indicador de comandos. Los sistemas DOS incluyen programas de utilidad y proporcionan comandos internos que no corresponden a programas. [ 55 ]

En un intento por proporcionar un entorno más amigable para el usuario, numerosos fabricantes de software escribieron programas de administración de archivos que proporcionaban a los usuarios interfaces WIMP . Microsoft Windows es un ejemplo notable, que finalmente llevó a que Microsoft Windows 9x se convirtiera en un cargador de programas autocontenido y reemplazara a DOS como el cargador de programas compatible con PC más utilizado. Los programas de interfaz de usuario de texto incluían Norton Commander , DOS Navigator , Volkov Commander , Quarterdesk DESQview y Sidekick . Los programas de interfaz de usuario gráfica incluían GEM de Digital Research (originalmente escrito para CP/M) y GEOS .

Finalmente, los fabricantes de los principales sistemas DOS comenzaron a incluir sus propios gestores de entorno. MS-DOS/IBM DOS 4 incluía DOS Shell ; [ 56 ] DR DOS 5.0, lanzado al año siguiente, incluía ViewMAX , basado en GEM. [ 57 ]

Terminar y permanecer como residente.

Aunque DOS no es un sistema operativo multitarea, sí ofrece la función de terminación y permanencia en memoria (TSR), que permite que los programas permanezcan en memoria. Estos programas pueden usar el temporizador del sistema o las interrupciones del teclado para ejecutar tareas en segundo plano o ser invocados en cualquier momento, interrumpiendo el programa que se está ejecutando y, de esta forma, implementando una manera sencilla de multitarea específica para cada programa. El comando PRINT de DOS utiliza esta función para gestionar la impresión en segundo plano. Borland Sidekick , un gestor de información personal (PIM) emergente , también emplea esta técnica.

Los programas que finalizan su ejecución 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 ofrecen herramientas de edición de línea de comandos que van más allá de las disponibles en COMMAND.COM. Programas como Microsoft CD-ROM Extensions (MSCDEX) permiten acceder 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) [ 58 ] 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 permite 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 ; eso requería DESQview (al menos en un 386 ).

Software

Navegador web Aracne

Herramientas de desarrollo

Véase también

Referencias

  1. Murdock, Everett (1988). DOS de forma sencilla . Libros descargables EasyWay. ISBN 0-923178-00-7.
  2. Dictionary.com Archivado el 12/11/2017 en Wayback Machine
  3. "Mary Gates, de 64 años, ayudó a su hijo a fundar Microsoft" . New York Times . 11 de junio de 1994. Archivado del original el 20 de abril de 2016. Consultado el 11 de abril de 2023 .
  4. 1 2 Rolander, Tom . "El resto de la historia: Cómo Bill Gates venció a Gary Kildall en la guerra de los sistemas operativos, Parte 1" . The Scoble Show (Entrevista). Entrevistado por Scoble, Robert. Archivado del original el 4 de noviembre de 2007.
  5. Bove, Tony (2005). Simplemente dile no a Microsoft . No Starch Press . págs. 9-11 . ISBN  1-59327-064-X.
  6. Freiberger, Paul (23 de agosto de 1982). "Bill Gates, Microsoft y el ordenador personal de IBM" . InfoWorld : 22. Archivado del original el 18 de marzo de 2015. Consultado el 29 de enero de 2015 .
  7. Freiberger, Paul (13 de septiembre de 1982). "Zenith desafía la cuota de mercado de IBM en el sector de los micromercados" . InfoWorld . pág. 35. Consultado el 19 de marzo de 2025 . 
  8. "¿Sabías que OS/2 no fue el primer sistema operativo multitarea de Microsoft que no era Unix?" . Archivado del original el 4 de noviembre de 2012.
  9. "Biografía de Larry Osterman" . Archivado del original el 2 de junio de 2013.
  10. 1 2 Letwin, Gordon (17 de agosto de 1995). "¿Qué está pasando con OS/2?" . Grupo de noticias : comp.os.os2.advocacy . Usenet: DDFvKo.G4M@lab.lwpi.com . Archivado del original el 7 de marzo de 2023. Recuperado el 6 de noviembre de 2013 .  
  11. Morgan, Chris (enero de 1982). "Sobre IBM, sistemas operativos y piedras Rosetta" . BYTE : 6. Recuperado el 19 de octubre de 2013 .
  12. Fiedler, Ryan (octubre de 1983). "El tutorial de Unix / Parte 3: Unix en el mercado de las microcomputadoras" . BYTE : 132. Recuperado el 30 de enero de 2015 .
  13. Howitt, Doran (1984-12-10). "Unix y el usuario único" . InfoWorld : 28. Archivado del original el 29-01-2018 . Recuperado el 07-02-2015 .
  14. Pollack, Andrew (27 de julio de 1991). "Microsoft amplía su distanciamiento con IBM por el software" . The New York Times . Archivado del original el 2 de noviembre de 2010. Consultado el 2 de septiembre de 2008 .
  15. Brinkley, Joel (28 de mayo de 1999). "Un ejecutivo de IBM describe la presión sobre los precios ejercida por Microsoft" . New York Times . Archivado del original el 11 de diciembre de 2008. Consultado el 2 de septiembre de 2008 .
  16. Hall, Jim (25 de marzo de 2002). "El pasado, presente y futuro del proyecto FreeDOS" . Recuperado el 14 de junio de 2008 .{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace )
  17. Hall, Jim (23 de septiembre de 2006). "Historia de FreeDOS" . freedos.org. Archivado del original el 27 de mayo de 2007. Consultado el 28 de mayo de 2007 .
  18. 1 2 Bannan, James (13 de octubre de 2006). "CÓMO: Hacer funcionar juegos retro de DOS en Vista" . Archivado del original el 1 de agosto de 2008. Recuperado el 3 de julio de 2008 .
  19. "Encontrando el DOS en Windows 95" . Smart Computing . Marzo de 1996. Archivado del original el 7 de julio de 2004. Consultado el 12 de julio de 2008 .
  20. Chen, Raymond (24 de diciembre de 2007). "¿Cuál fue el papel de MS-DOS en Windows 95?" . The Old New Thing - Página principal - Blogs de MSDN . Archivado del original el 5 de febrero de 2014. Consultado el 5 de febrero de 2014 .
  21. "Descripción del reinicio del equipo en modo MS-DOS" . support.microsoft.com . 19 de enero de 2007. Archivado del original el 5 de febrero de 2014. Consultado el 5 de febrero de 2014 .
  22. "Varias fuentes de rxDOS del libro hasta la versión actual 7.25 para referencia" . gitlab.com . Archivado del original el 17/11/2025 . Consultado el 11/11/2025 .
  23. Hall, Jim (13 de julio de 2007). "Blog de Jim Hall - 2007" . Archivado del original el 25 de octubre de 2012. Recuperado el 12 de junio de 2008 .
  24. "PCs Dell con FreeDOS" . Archivado del original el 19 de marzo de 2008. Consultado el 14 de junio de 2008 .
  25. "DR-DOS Embedded DOS" . Archivado del original el 21/12/2008 . Consultado el 26/09/2008 .
  26. "Datalight DOS seleccionado para la nueva línea de cámaras digitales de Canon" . Business Wire . 24 de agosto de 1999. Consultado el 26 de septiembre de 2008 .
  27. 1 2 "Información de DOSBox" . Archivado del original el 25/05/2008 . Recuperado el 18/05/2008 .
  28. "Página principal de DOSEMU" . 5 de mayo de 2007. Archivado del original el 23 de julio de 2008. Consultado el 3 de julio de 2008 .
  29. "Ayuda con archivos por lotes" . computerhope.com. Archivado del original el 7 de septiembre de 2008. Consultado el 10 de septiembre de 2008 .
  30. Matczynski, Michael. "ZINGTECH - Guía para el nuevo programador de juegos" . Archivado del original el 19 de diciembre de 2008. Consultado el 2 de septiembre de 2008 .
  31. "El registro de arranque maestro (MBR) y su función" . Archivado del original el 27 de mayo de 2013.090912 dewassoc.com
  32. "Ingeniería inversa de DOS 1.0 – Parte 1: El sector de arranque « pagetable.com" . Archivado del original el 11 de mayo de 2009. 090912 pagetable.com
  33. "Comandos CONFIG.SYS" . Archivado del original el 2 de mayo de 2009.090913 academic.evergreen.edu
  34. Kozierok, Charles (2001). "El proceso de arranque de DOS" . The PC Guide . Archivado del original el 19 de julio de 2008. Consultado el 2 de septiembre de 2008 .
  35. "misc.txt" . Archivado del original el 29/06/2010.090912 arl.wustl.edu
  36. 1 2 "Asignación de letras de unidad y elección de particiones primarias frente a lógicas" . The PC Guide . 17 de abril de 2001. Archivado del original el 17 de abril de 2012. Consultado el 4 de abril de 2012 .
  37. "Vulnerabilidad DoS de Microsoft Windows MS-DOS Device Name" . Archivado del original el 25/07/2011 . Consultado el 02/09/2008 .
  38. «Nombres de archivos reservados en Windows (CON, PRN, AUX, NUL...) - Gérald Barré» . 2026-02-23.
  39. "Nomenclatura de archivos, rutas y espacios de nombres - Aplicaciones Win32" .
  40. 1 2 "Definición de nombres de dispositivos DOS" . PC Magazine . Archivado del original el 29/09/2008 . Consultado el 02/09/2008 .
  41. "La palabra que empieza con C que Windows odia" . YouTube. 10 de abril de 2024.
  42. 1 2 3 "Los nombres de los controladores de dispositivos de MS-DOS no se pueden usar como nombres de archivo" . Revisión 2.0. Microsoft . 12 de mayo de 2003. KB74496, Q74496. Archivado del original el 24 de julio de 2008.
  43. 1 2 3 4 5 Hewlett-Packard - Manual de referencia técnica - Portable PLUS (1.ª ed.). Corvallis, OR, EE. UU.: Hewlett-Packard Company , División de computadoras portátiles. Agosto de 1985. 45559-90001 . Recuperado el 27 de noviembre de 2016 . 
  44. 1 2 3 4 5 Hewlett-Packard - Manual de referencia técnica - Portable PLUS (PDF) (2.ª ed.). División de computadoras portátiles, Corvallis, OR, EE. UU.: Hewlett-Packard Company . Diciembre de 1986 [agosto de 1985]. 45559-90006. Archivado (PDF) del original el 28 de noviembre de 2016. Recuperado el 27 de noviembre de 2016 . 
  45. Paterson, Tim ; Microsoft (19 de diciembre de 2013) [1983]. "Microsoft DOS V1.1 y V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM" . Museo de Historia de la Computación , Microsoft . Archivado del original el 26 de marzo de 2014. Recuperado el 25 de marzo de 2014 .(Nota: Si bien los editores afirman que se trata de MS-DOS 1.1 y 2.0, en realidad es SCP MS-DOS 1.25 y una mezcla de Altos MS-DOS 2.11 y TeleVideo PC DOS 2.11 ).
  46. Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" . Archivado del original el 4 de octubre de 2003. Recuperado el 29 de marzo de 2009 .
  47. Bailes y Mueller 1992 , pág. 5.
  48. ^ Bailes y Mueller 1992 , págs .
  49. ^ Bailes y Mueller 1992 , págs .
  50. Mueller 1998 , págs. 169.
  51. Mueller 1998 , págs. 243–244.
  52. Bailes y Mueller 1992 , pág. 79–80.
  53. Mueller 1998 , pág. 243.
  54. ^ Bailes y Mueller 1992 , págs .
  55. Murdock, Everett (2008). DOS de forma sencilla . EasyWay Downloadable Books. págs. 7–12 . ISBN  978-0-923178-02-4.
  56. Murdock, Everett (2008). DOS de forma sencilla . Libros descargables EasyWay. pág. 71. ISBN  978-0-923178-02-4Archivado del original el 18 de marzo de 2015 .
  57. Dvorak, John Charles ; Anis, Nick (1991). Guía de Dvorak para el rendimiento de DOS y PC . Osborne McGraw-Hill . págs. 442–444 . 
  58. La versión 1.47 está archivada en "Back and Forth 1.47" . Archivada del original el 5 de noviembre de 2013. Consultada el 5 de agosto de 2013 .y dice "(C) 1990 por Progressive Solutions, Inc."
  59. Darrow, Barbara (1 de febrero de 2002). "¿Qué pasó con Lotus 1-2-3?" . Archivado del original el 9 de enero de 2009. Consultado el 12 de julio de 2008 .

Lecturas adicionales

  • IBM Corp., IBM, (enero de 1984). "IBM DOS Release 2.10. Edición en caja de cartón rígido con encuadernación en tela". 1.ª edición. IBM Corp. Número de artículo: 6183946
  • IBM Corp., IBM, (enero de 1984). «Guía del usuario del sistema operativo de disco (DOS versión 2.10)». 1.ª edición. Microsoft Corp. (100 páginas, incluyendo ilustraciones a color). Número de artículo: 6183947
  • IBM Corp., IBM, (enero de 1984). "Manual del sistema operativo de disco (DOS versión 2.10)". 1.ª edición. Microsoft Corp. (574 páginas sueltas en carpeta de tres anillas). N.º de artículo 6183940
  • Mueller, Scott (1998). Actualización y reparación de PC (Octava  ed.). Que Publishing . ISBN 0-7897-1295-4. Consultado el 2 de noviembre de 2021 .
  • Bailes, Lenny; Mueller, John (1992). Gestión de la memoria y multitarea más allá de los 640 KB . McGraw-Hill . ISBN 0-8306-3476-2. Consultado el 2 de noviembre de 2021 .
  • Orígenes de DOS , artículos y manuales de Tim Paterson.
  • Cronología de las versiones de DOS y Windows en la Wayback Machine (archivada el 28/10/2007)
  • "DOS: donde el hardware es el único límite" . Archivado del original el 15 de agosto de 2010. Consultado el 29 de agosto de 2010 .
  • Batfiles: El manual de programación de archivos por lotes de DOS
  • "El auge de DOS: cómo Microsoft obtuvo el contrato del sistema operativo para PC de IBM" . pcmag.com . 12 de agosto de 2021. Consultado el 24 de diciembre de 2022 .
  • "Software de aplicación - Familia de nombres de archivo cortos de DOS" . www.jumpjet.info . Archivado del original el 17 de febrero de 2020. Consultado el 7 de febrero de 2020 ."(...) Un archivo de software GRATUITO [y abandonado ] cuidadosamente seleccionado a mano para DOS."
  • Simulador de Windows XP en línea
  • Código fuente de MS-DOS v1.25, v2.0, v4.0