Dos

Familia de sistemas operativos compatibles con IBM PC

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 muestra información de la versión y un ejemplo de su estructura de directorio

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 (1998). 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 .

Historia

Orígenes

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

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.

La computadora personal IBM (IBM 5150 PC)

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]

Una sesión simulada de SCP 86-DOS

IBM se puso en contacto nuevamente 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 de 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ó 86-DOS, supuestamente por 50.000 dólares estadounidenses. Esto se convirtió en Microsoft Disk Operating System, MS-DOS, introducido en 1981. [6] En el plazo de un año, Microsoft licenció MS-DOS a más de 70 empresas, [7] 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. [6] 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ían 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 . [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 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 versión PC DOS 4.0 ampliamente difundida que fue desarrollada por IBM y basada en DOS 3.3.

Digital Research CP/M-86 para IBM Personal Computer 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 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". [10] Microsoft esperaba que fuera una solución provisional antes de Xenix. La compañía planeaba mejorar MS-DOS con el tiempo, por lo que sería casi indistinguible de Xenix para 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". [11] [12]

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

IBM, sin embargo, no quería reemplazar a DOS. [13] Después de que AT&T comenzó a vender Unix, Microsoft e IBM comenzaron a desarrollar OS/2 como una alternativa. [10] Las dos compañías tuvieron más tarde 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 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 de GNU (GPL), no requiere el pago de derechos de licencia ni regalías. [16] [17]

Rechazar

Las primeras versiones de Microsoft Windows se ejecutaban en MS-DOS. [18] 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. [19] [20] [21] Como DOS ya no era necesario para usar Windows, la mayoría de los usuarios dejaron de usarlo directamente.

Uso continuado

Caja DOS

A partir de 2023 [actualizar], los 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] [ necesita actualización ] Y algunos desarrolladores e ingenieros informáticos todavía lo usan porque está cerca del hardware. [ cita requerida ]

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 orientadas a este mercado. [25] ROM-DOS se utiliza 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 heredados (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

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 . [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í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 dispositivo para cada periférico de hardware. Los fabricantes de hardware publicarían especificaciones para garantizar que los controladores de dispositivo para las aplicaciones más populares estuvieran disponibles. [30]

Secuencia de arranque

  • El cargador de arranque en las computadoras compatibles con PC, el registro de arranque maestro , se ubica comenzando en el sector de arranque , el primer sector en la primera pista ( pista cero ), del disco de arranque. El ROM BIOS cargará este sector en la memoria en la dirección 0000h : 7C00h y, por lo general, buscará una firma " 55h AAh " en el desplazamiento +1FEh . Si el sector no se considera válido, el ROM BIOS intentará con el siguiente disco físico en la fila; de lo contrario, saltará a la dirección de carga con ciertos registros configurados.
  • Si el sector de arranque cargado es un Registro de arranque maestro (MBR), como el que se encuentra en los medios particionados, se reubicará en 0000h : 0600h en la memoria, [31] de lo contrario se omite este paso. 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 verifican si el bit 7 está configurado en el desplazamiento +1BEh+10h*n , mientras que los MBR antiguos simplemente verifican un valor de 80h ) y, si lo encuentra, cargará 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 si lo hubiera cargado el propio BIOS de la ROM. Luego, el MBR pasará la ejecución a la parte 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 diferentes 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, SYS tenía que almacenar estos sectores en orden consecutivo en el disco. En ediciones posteriores, ubicaba y almacenaba el contenido de las dos primeras entradas en el directorio raíz a las 0000h : 0500h y, si por casualidad reflejaban los archivos de arranque correctos tal como estaban registrados en el VBR, el VBR cargaba los primeros 3 sectores consecutivos del archivo IO.SYS/IBMBIO.COM en la memoria a las 0070h : 0000h . El VBR también debe cuidar de preservar el contenido de la Tabla de parámetros del disco (DPT). Finalmente, pasa 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 [ aclaración necesaria ] , donde el VBR ha cargado solo los primeros 3 sectores del archivo IO.SYS/IBMBIO.COM en la memoria, la parte cargada contiene otro cargador de arranque, que luego cargará el resto de sí mismo en la memoria, utilizando la información del directorio raíz almacenada en 0000h : 0500h . Para 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 aún se cargaban como un todo, se omite este paso.
  • El código de inicialización del sistema DOS inicializará sus controladores de dispositivos integrados y luego cargará también en la memoria el núcleo 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 dispositivos integrados y el núcleo DOS se combinan en un único archivo IO.SYS, mientras que MSDOS.SYS se utiliza como un archivo de configuración de texto.
  • Luego se lee el archivo CONFIG.SYS para analizar los parámetros de configuración. La variable SHELL especifica la ubicación del shell , que por defecto es COMMAND.COM .
  • El shell se carga y se ejecuta.
  • Luego, el shell ejecuta el archivo por lotes de inicio AUTOEXEC.BAT . [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] 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.

Sistema de archivos

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.

Esquema de denominación de unidades

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. [36]

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. [36] 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.

Nombres de dispositivos reservados

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

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. [37]

Los nombres reservados son:

  • COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9(puertos de comunicación en serie)
  • CON, para consola
  • LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9(impresoras de línea)
  • AUX, para auxiliar
  • PRN, para impresora [38]
  • 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. [39] 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 LPT1y LPT2además de COM1, COM3la versión OEM de Hewlett-Packard de MS-DOS 2.11 para HP Portable Plus también era compatible LSTcomo alias para LPT2y 82164Acomo alias para COM2; [40] [41] también era compatible PLTcon trazadores . [40] [41] De lo contrario, COM2, LPT2, LPT3y el dispositivo de reloj CLOCK$(aún nombrado CLOCKen algunas ediciones de MS-DOS 2.11 [42] [40] [41] ) se introdujeron con DOS 2.0, y COM3y COM4se añadieron con DOS 3.3. [39] 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. LPT4es 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.

AUXPor lo general, los valores predeterminados son , COM1y ( ), [39] pero estos valores predeterminados se pueden cambiar en algunas versiones de DOS para apuntar a otros dispositivos seriales o paralelos. [40] [41] [43] El dispositivo (presente solo en algunas versiones OEM de HP de MS-DOS) también era reconfigurable. [40] [41]PRNLPT1LSTPLT

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.

Gestión de la memoria

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. [44] 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 llegando al límite de memoria, mientras que gran parte de la reserva estaba sin utilizar, dependiendo de las especificaciones de la máquina. [45]

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. [46] 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. [47] 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 [48] 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. [49]

A partir de DOS 5, [50] 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=HIGHdeclaración en CONFIG.SYS. DOS 5+ también permitía el uso de bloques de memoria superior disponibles a través de la DOS=UMBdeclaración en CONFIG.SYS. [51]

DOS bajo OS/2 y Windows

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.

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 símbolo del sistema. Los sistemas DOS incluyen programas de utilidad y proporcionan comandos internos que no corresponden a programas. [52]

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 ; [53] DR DOS 5.0, lanzado al año siguiente, incluía ViewMAX , basado en GEM. [54]

Terminar y permanecer residente

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) [55] 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 ).

Software

Navegador web Arachne

Herramientas de desarrollo

Véase también

Referencias

  1. ^ Murdock, Everett (1988). DOS de la manera fácil . Libros descargables de EasyWay. ISBN 0-923178-00-7.
  2. ^ Dictionary.com Archivado el 12 de noviembre de 2017 en Wayback Machine.
  3. ^ "Mary Gates, 64 años; ayudó a su hijo a fundar Microsoft". New York Times . 11 de junio de 1994 . Consultado el 11 de abril de 2023 .
  4. ^ de 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). Entrevista realizada por Scoble, Robert. Archivado desde el original el 4 de noviembre de 2007.
  5. ^ Bove, Tony (2005). Simplemente diga no a Microsoft . No Starch Press . Págs. 9-11. ISBN 1-59327-064-X.
  6. ^ ab Bellis, Mary. "La inusual historia de MS-DOS, el sistema operativo de Microsoft". Archivado desde el original el 27 de abril de 2012. Consultado el 2 de septiembre de 2008 .
  7. ^ Freiberger, Paul (23 de agosto de 1982). «Bill Gates, Microsoft y la computadora personal IBM». InfoWorld : 22. Archivado desde el original el 18 de marzo de 2015. Consultado el 29 de enero de 2015 .
  8. ^ "¿Sabías que OS/2 no fue el primer sistema operativo multitarea no Unix de Microsoft?". Archivado desde el original el 4 de noviembre de 2012.
  9. ^ "Biografía de Larry Osterman". Archivado desde el original el 2 de junio de 2013.
  10. ^ ab Letwin, Gordon (1995-08-17). "What's going to OS/2" (Qué le está pasando a OS/2). Grupo de noticias : comp.os.os2.advocacy. Usenet:  [email protected] . Consultado el 2013-11-06 .
  11. ^ Morgan, Chris (enero de 1982). "De IBM, sistemas operativos y piedras Rosetta". BYTE : 6 . Consultado 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 . Consultado el 30 de enero de 2015 .
  13. ^ Howitt, Doran (1984-12-10). "Unix y el usuario único". InfoWorld : 28. Archivado desde el original el 2018-01-29 . Consultado el 2015-02-07 .
  14. ^ Pollack, Andrew (27 de julio de 1991). «Microsoft amplía su división con IBM por el software». The New York Times . Archivado desde el 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 de precios ejercida por Microsoft". New York Times . Archivado desde el original el 11 de diciembre de 2008. Consultado el 2 de septiembre de 2008 .
  16. ^ Hall, Jim (25 de marzo de 2002). "El pasado, el presente y el futuro del proyecto FreeDOS". Archivado desde el original el 29 de mayo de 2012. Consultado el 14 de junio de 2008 .
  17. ^ Hall, Jim (23 de septiembre de 2006). "Historia de FreeDOS". freedos.org. Archivado desde el original el 27 de mayo de 2007. Consultado el 28 de mayo de 2007 .
  18. ^ ab Bannan, James (13 de octubre de 2006). "CÓMO: Conseguir que los juegos DOS retro funcionen en Vista". Archivado desde el original el 1 de agosto de 2008. Consultado el 3 de julio de 2008 .
  19. ^ "Cómo encontrar el DOS en Windows 95". Smart Computing . Marzo de 1996. Archivado desde el 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 del sitio - Blogs de MSDN . Archivado desde el 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 desde el original el 5 de febrero de 2014 . Consultado el 5 de febrero de 2014 .
  22. ^ "Inicio". rxdos.sourceforge.net .
  23. ^ Hall, Jim (13 de julio de 2007). «Blog de Jim Hall - 2007». Archivado desde el original el 25 de octubre de 2012. Consultado el 12 de junio de 2008 .
  24. ^ "Computadoras Dell con FreeDOS". Archivado desde el original el 19 de marzo de 2008. Consultado el 14 de junio de 2008 .
  25. ^ "DR-DOS Embedded DOS". Archivado desde el original el 21 de diciembre de 2008. Consultado el 26 de septiembre de 2008 .
  26. ^ "Datalight DOS seleccionada para la nueva línea de cámaras digitales fijas de Canon". Business Wire . 24 de agosto de 1999. Archivado desde el original el 9 de julio de 2012. Consultado el 26 de septiembre de 2008 .
  27. ^ ab "Información de DOSBox". Archivado desde el original el 25 de mayo de 2008. Consultado el 18 de mayo de 2008 .
  28. ^ "DOSEMU Home". 5 de mayo de 2007. Archivado desde el original el 23 de julio de 2008. Consultado el 3 de julio de 2008 .
  29. ^ "Ayuda con archivos por lotes". computerhope.com. Archivado desde el 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 desde el original el 19 de diciembre de 2008. Consultado el 2 de septiembre de 2008 .
  31. ^ "El registro de arranque maestro (MBR) y lo que hace". Archivado desde el 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 desde el original el 11 de mayo de 2009.090912 tabladepaginas.com
  33. ^ "Comandos CONFIG.SYS". Archivado desde el original el 2 de mayo de 2009.090913 academico.evergreen.edu
  34. ^ Kozierok, Charles (2001). "El proceso de arranque de DOS". The PC Guide . Archivado desde el original el 19 de julio de 2008. Consultado el 2 de septiembre de 2008 .
  35. ^ "misc.txt". Archivado desde el original el 29 de junio de 2010.090912 arl.wustl.edu
  36. ^ ab "Asignación de letras de unidad y elección de particiones primarias o lógicas". The PC Guide . 17 de abril de 2001. Archivado desde el original el 17 de abril de 2012 . Consultado el 4 de abril de 2012 .
  37. ^ "Vulnerabilidad de denegación de servicio (DoS) en el nombre de dispositivo MS-DOS de Microsoft Windows". Archivado desde el original el 25 de julio de 2011. Consultado el 2 de septiembre de 2008 .
  38. ^ "Definición de nombres de dispositivos DOS". PC Magazine . Archivado desde el original el 29 de septiembre de 2008. Consultado el 2 de septiembre de 2008 .
  39. ^ abc "Los nombres de los controladores de dispositivos MS-DOS no se pueden utilizar como nombres de archivo". Revisión 2.0. Microsoft . 2003-05-12. KB74496, Q74496. Archivado desde el original el 21-07-2012.
  40. ^ abcde Hewlett-Packard - Manual de referencia técnica - Portable PLUS (1.ª edición). Corvallis, OR, EE. UU.: Hewlett-Packard Company , Portable Computer Division. Agosto de 1985. 45559-90001 . Consultado el 27 de noviembre de 2016 .
  41. ^ abcde Hewlett-Packard - Manual de referencia técnica - Portable PLUS (PDF) (2.ª ed.). Portable Computer Division, Corvallis, OR, EE. UU.: Hewlett-Packard Company . Diciembre de 1986 [agosto de 1985]. 45559-90006. Archivado (PDF) desde el original el 28 de noviembre de 2016. Consultado el 27 de noviembre de 2016 .
  42. ^ Paterson, Tim ; Microsoft (2013-12-19) [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 desde el original el 26 de marzo de 2014. Consultado el 25 de marzo de 2014 .(NB. Aunque los editores afirman que se trataría de MS-DOS 1.1 y 2.0, en realidad se trata de SCP MS-DOS 1.25 y una mezcla de Altos MS-DOS 2.11 y TeleVideo PC DOS 2.11 ).
  43. ^ Paul, Matthias R. (2 de octubre de 1997). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archivado desde el original el 4 de octubre de 2003. Consultado el 29 de marzo de 2009 .[1]
  44. ^ Bailes y Mueller 1992, pag. 5.
  45. ^ Bailes y Mueller 1992, págs. 42–44.
  46. ^ Bailes y Mueller 1992, págs. 67–68.
  47. ^ Mueller 1998, págs. 169.
  48. ^ Mueller 1998, págs. 243–244.
  49. ^ Bailes y Mueller 1992, pag. 79–80.
  50. ^ Mueller 1998, pág. 243.
  51. ^ Bailes y Mueller 1992, págs. 150-151.
  52. ^ Murdock, Everett (2008). DOS the Easy Way . Libros descargables EasyWay. págs. 7–12. ISBN 978-0-923178-02-4.
  53. ^ Murdock, Everett (2008). DOS de la manera fácil. Libros descargables de EasyWay. pág. 71. ISBN 978-0-923178-02-4Archivado desde el original el 18 de marzo de 2015.
  54. ^ Dvorak, John Charles ; Anis, Nick (1991). Guía de Dvorak para el rendimiento de DOS y PC . Osborne McGraw-Hill . págs. 442–444.
  55. ^ La versión 1.47 está archivada en «Back and Forth 1.47». Archivado desde el original el 5 de noviembre de 2013. Consultado el 5 de agosto de 2013 .y dice "(C) 1990 por Progressive Solutions, Inc."
  56. ^ Darrow, Barbara (1 de febrero de 2002). "¿Qué pasó con Lotus 1-2-3?". Archivado desde el original el 9 de enero de 2009. Consultado el 12 de julio de 2008 .

Lectura adicional

  • IBM Corp., IBM, (enero de 1984). "IBM DOS Release 2.10 Clothbound Retail Hardboard Box". Primera edición. Número de artículo de IBM Corp. 6183946
  • IBM Corp., IBM, (enero de 1984). "Guía del usuario del sistema operativo de disco (versión DOS 2.10)". Primera edición. Microsoft Corp. (100 páginas, incluidas ilustraciones en color) Número de artículo. 6183947
  • IBM Corp., IBM, (enero de 1984). "Disk Operating System Manual (DOS Release 2.10)". Primera edición. Microsoft Corp. (574 páginas sueltas en carpeta de 3 anillos) Número de artículo 6183940
  • Mueller, Scott (1998). Actualización y reparación de PC (octava edición). Que Publishing . ISBN 0-7897-1295-4. Recuperado el 2 de noviembre de 2021 .
  • Bailes, Lenny; Mueller, John (1992). Gestión de memoria y multitarea más allá de 640K . McGraw-Hill . ISBN 0-8306-3476-2. Recuperado el 2 de noviembre de 2021 .
  • Orígenes del DOS, artículos y manuales de Tim Paterson.
  • Cronología de las versiones de DOS y Windows en Wayback Machine (archivada el 28 de octubre de 2007)
  • "DOS: donde el hardware es el único límite". Archivado desde el 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 consiguió el contrato del sistema operativo IBM PC". pcmag.com . Consultado el 24 de diciembre de 2022 .
  • "Software de aplicación - Familia de nombres de archivo cortos de DOS". www.jumpjet.info . Archivado desde el original el 2020-02-17 . Consultado el 2020-02-07 ."(...) Un archivo de software LIBRE [y abandonado ] para DOS cuidadosamente seleccionado ".
  • Simulador de Windows XP en línea
  • Código fuente de MS-DOS v1.25, v2.0, v4.0
Obtenido de "https://es.wikipedia.org/w/index.php?title=DOS&oldid=1246569222"