MS-DOS (siglas deMicrosoftDiskOperatingSystem,Sistema operativo de disco de Microsoft oMicrosoft DOS) fue el miembro más popularmente conocido de la familia de sistemas operativosDOS deMicrosoft, y el principal sistema operativo paracomputadoras personalescompatible conIBM PC en la década de 1980 y mediados de años 1990, hasta que fue sustituida gradualmente en la versión 8.0 del año 2000 por sistemas operativos que ofrecían unainterfaz gráfica de usuario, en particular por varias generaciones deMicrosoft Windows. Desde Windows XP, ya no se volvió a incluir una versión de MS-DOS y fue reemplazado por CMD.
MS-DOS surgió en 1980 al encargársele aMicrosoft producir un sistema operativo para la gama de computadoras personalesIBM PC deIBM. En este momento, Microsoft compró los derechos deQDOS, Quick Disk Operating System, también conocido como86-DOS,[1] deSeattle Computer Products que fue elaborado porTim Paterson, y comenzó a trabajar en las modificaciones para poder cumplir con los requisitos de IBM. Se hicieron más de 300 modificaciones al código original y Microsoft tuvo que contratar, puntualmente, al mismísimo Tim Paterson.
MS-DOS era una forma renombrada de86-DOS[2] – propiedad deSeattle Computer Products, escrito porTim Paterson. El desarrollo de 86-DOS tomó solo seis semanas, ya que era básicamente un clon deCP/M deDigital Research (para procesadores 8080/Z80) adaptado para ejecutarse en procesadores8086 y con dos diferencias notables en comparación con CP/M: una lógica mejorada de almacenamiento en búfer del sector del disco y la introducción deFAT12 en lugar delsistema de archivos CP/M. Esta primera versión se envió en agosto de 1980.[3] Microsoft, que necesitaba un sistema operativo para elIBM Personal Computer,[4][5] contrató a Tim Paterson en mayo de 1981 y compró 86-DOS 1.10 por 75 000 dólares estadounidenses en julio del mismo año. Microsoft mantuvo el número de versión, pero lo renombró MS-DOS. Ellos también licenciaron MS-DOS 1.10 /1.14 a IBM, que, en agosto de 1981, lo ofreció comoPC DOS 1.0 como uno de los tres sistemas operativos[6] para IBM 5150 oIBM PC.[3]
En un año, Microsoft otorgó licencias de MS-DOS a más de 70 empresas más.[7] Fue diseñado para ser un sistema operativo que pudiera ejecutarse en cualquier ordenador de la familia 8086. Cada ordenador tendría su propio hardware distinto y su propia versión de MS-DOS, similar a la situación que existía paraCP/M, y con MS-DOS emulando lamisma solución como CP/M para adaptarse a diferentes plataformas de hardware. Con este fin, MS-DOS fue diseñado con una estructura modular con controladores de dispositivos internos (elDOS BIOS), mínimamente para las unidades de disco primarias y la consola, integrado con el kernel y cargado por el gestor de arranque, y controladores de dispositivo instalables para otros dispositivos cargados e integrados en el momento del arranque. ElOEM utilizaría un kit de desarrollo proporcionado por Microsoft para crear una versión de MS-DOS con sus controladores de E/S básicos y un kernel estándar de Microsoft, que normalmente proporcionarían en disco a los usuarios finales junto con el hardware. Por lo tanto, hubo muchas versiones diferentes de "MS-DOS" para diferentes hardware, y existe una distinción importante entre una máquina compatible con IBM (o ISA) y una máquina [compatible] con MS-DOS. Algunas máquinas, como laTandy 2000, eran compatibles con MS-DOS pero no con IBM, por lo que podían ejecutar software escrito exclusivamente para MS-DOS sin depender del hardware periférico de la arquitectura de PC de IBM.
Este diseño habría funcionado bien para la compatibilidad, si los programas de aplicación solo hubieran usado los servicios de MS-DOS para realizar la E/S del dispositivo y, de hecho, la misma filosofía de diseño está incorporada en Windows NT (véasecapa de abstracción de hardware). Sin embargo, en los primeros días de MS-DOS, la mayor velocidad alcanzada por los programas a través del control directo del hardware era de particular importancia, especialmente para los juegos, que a menudo superaban los límites de su hardware contemporáneo. Muy pronto, una arquitectura compatible con IBM se convirtió en el objetivo, y en poco tiempo todos los ordenadores de la familia 8086emulaban de cerca el hardware de IBM, y solo una única versión necesitaba MS-DOS para una plataforma de hardware fijo para el mercado. Esta versión es la versión de MS-DOS que se analiza aquí, ya que las docenas de otras versiones OEM de "MS-DOS" solo eran relevantes para los sistemas para los que fueron diseñadas y, en cualquier caso, eran muy similares en función y capacidad a alguna versión estándar para la PC de IBM, a menudo la versión con el mismo número, pero no siempre, ya que algunos OEM utilizaron sus propios esquemas de numeración de versiones (por ejemplo, etiquetando versiones posteriores de MS-DOS 1.x como 2.0 o viceversa), con un pocas excepciones notables.
Microsoft omitió el soportemultiusuario de MS-DOS porque el sistema operativo basado enUnix de Microsoft,Xenix, era totalmente multiusuario.[8] La empresa planeó, con el tiempo, mejorar MS-DOS para que fuera casi indistinguible de Xenix de un solo usuario, oXEDOS, que también funcionaría enMotorola 68000,Zilog Z8000, y elLSI-11; seríancompatibles hacia arriba con Xenix, queByte en 1983 describió como "el MS-DOS multiusuario del futuro".[9][10] Microsoft anunció MS-DOS y Xenix juntos, enumerando las características compartidas de su "sistema operativo de usuario único" y "el sistema operativo multiusuario,multitarea,UNIX derivado del sistema operativo", y prometiendo una fácil portabilidad entre ellos.[11] Sin embargo, después de ladesintegración de Bell System,AT&T Computer Systems comenzó a venderUNIX System V. Creyendo que no podía competir con AT&T en el mercado de Unix, Microsoft abandonó Xenix y en 1987 transfirió la propiedad de Xenix a laSanta Cruz Operation (SCO).
Como broma delDía de los Inocentes en 2015,Microsoft Mobile lanzó una aplicaciónWindows Phone llamadaMS-DOS Mobile que se presentó como un nuevo sistema operativo móvil y funcionaba de manera similar a MS-DOS.[17]
MS-DOS no fue un sistema operativo escrito desde cero, se desarrolló a partir deQDOS,Quick Disk Operating System, también conocido como 86-DOS. Su desarrollo se inició oficialmente en 1981 y fue lanzado en 1982 como MS-DOS 1.0. Tuvo ocho versiones principales y alcanzó gran difusión, pero fue gradualmente reemplazado por sistemas operativos que ofrecían una interfaz gráfica de usuario (GUI), en particular, por varias generaciones del sistema operativoMicrosoft Windows.
MS-DOS se convirtió en la plataforma dominante para los videojuegos durante las décadas de 1980 y 1990, sirviendo como base para miles de títulos que definieron géneros enteros del medio.[19]
Fue en esta plataforma donde surgieron innovaciones técnicas y creativas que impulsaron el desarrollo de géneros como las aventuras gráficas, los shooters en primera persona, los juegos de estrategia por turnos y los simuladores. Títulos emblemáticos comoDoom,Wolfenstein 3D,The Secret of Monkey Island,Civilization yPrince of Persia se beneficiaron de las capacidades gráficas EGA/VGA y de sonido (como Sound Blaster), estableciendo estándares que influyeron en la industria posterior.[19]
La era de MS-DOS se caracterizó por la experimentación constante con mecánicas de juego, limitaciones hardware que fomentaron la creatividad y una vibrante comunidad de desarrolladores independientes. Hoy en día, muchos de estos juegos se preservan y emulan a través de herramientas comoDOSBox, y representan un capítulo clave en la historia de los videojuegos retro.[19]
Elcódigo fuente del MS-DOS 1.1 (1982) y 2.0 (1983), junto con el deWord para Windows 1.1 (1989) fue publicado porMicrosoft el 25 de marzo de 2015.[20]Posteriormente se publicaría el código fuente de MS-DOS 4.0 (1986) el 25 de abril de 2024.[21]
Como su nombre "Sistema Operativo en Disco" indica MS-DOS se instala en el disco duro de computadora IBM o Pc compatible, permitiendo estar esta completamente listo en segundos, útil para entornos corporativos típicos de los clientes de IBM, diferente alMacintosh de Apple,Commodore AMIGA y sistemas UNIX de la misma época. El Macintosh y AMIGA tardaban hasta un minuto en iniciar porque requerían iniciar su sistema operativo en RAM desde un disquete, proceso denominado "Kickstart".
MS-DOS asigna letras a unidades de almacenamiento, priorizandodisquetes, un IBM-PC con cuatrounidades floppy, tendrá un disco duro con letra E:, sin embargo a partir de MS-DOS 5, C: siempre esta reservado para el disco duro activo. Algunos servicios de red y el comando SUBST permiten por conveniencia asignar letras a carpetas. Esto significa que no es posible tener más de 26 unidades con las letras del alfabeto inglés.
MS-DOS el ratón es admitido solo dentro de programas compatibles, en programas nativos de DOS comoDOS Shell, el puntero es representando con un simple bloque (█).
El núcleo lo componen IO.SYS, MSDOS.SYS, y COMMAND.COM. Es posible iniciar DOS únicamente con estos tres archivos, pero la mayoría de comandos y funciones no estarán disponibles.[22] MS-DOS carece de soporte para networking (Red de área local, acceso de recursos como archivos en otras computadoras y hastaTCP/IP) sin embargo la arquitectura abierta delIBM-PC permite que otros fabricantes proporcionentarjeta de redes ycontroladores para permitir esta funcionalidad (Token Ring,ArcNet,Novell NetWare)
MS-DOS es monousuario (solo puede ser utilizado por una persona de cada vez) y monotarea (solo se puede ejecutar un programa a la vez), no existe el concepto dePermisos de acceso a archivos cualquier usuario y programa tiene completo acceso a todos los archivos.
Los nombres de los archivos tenían un máximo de 8 caracteres, un punto y una extensión de como máximo tres letras, en total un máximo de 12 caracteres delCódigo ASCII que permitían distinguir unos archivos de otros dentro de un mismodirectorio. Finalmente en Windows 95, DOS admite mayor número de caracteres. No todos los caracteres del código ASCII estaban permitidos para nombrar un archivo, pues algunos (ejemplo: /*?+\ y otros) estaban reservados para otras funciones. Esta limitación de caracteres reservados sigue vigente en la actualidad.
Aquí se muestran algunas de las órdenes que utilizaba MS-DOS, y que actualmente pueden ser utilizados desde la línea de comandos en sistemas operativosWindows que es CMD. Para acceder a la ayuda de estas, MS-DOS, a partir de la versión 6.2 permite lo siguiente: comando a consultar/? (Ej.:copy /?).
Pueden ser internos (incluidos dentro del propioCOMMAND.COM) o externos (archivos ejecutables en el directorio del MSDOS):
Los comandos internos o residentes son aquellos que se transfieren a la memoria en el momento de cargarse el Sistema Operativo y se pueden ejecutar sin necesidad de tener el DOS presente en la unidad por defecto desde el cual se puede ejecutar el mandato. La unidad por defecto es la unidad en la que se está, por ejemplo A:\>_ ; y la unidad especificada es aquella a la cual nos dirigimos o especificamos estando en otra unidad, por ejemplo A:\>B: , la unidad especificada es B.
Estos son algunos comandos internos de MS-DOS:
CD o CHDIR - Cambia el directorio actual.
CD.. - Cambia al directorio jerárquicamente superior.
CLS - Limpia todos los comandos y toda la información que hay en pantalla excepto el incitador de comandos (prompt) usualmente la letra y ruta de la unidad usada (Por ejemplo C:\>)
COPY - Copiar un archivo de un directorio a otro
COPY CON Copia a un archivo los caracteres introducidos en pantalla
DATE - Visualiza o cambia la fecha del sistema.
DEL - Se usa para eliminar archivos.
DIR - Lista los directorios y archivos de la unidad o directorio actual.
FOR - Repite un comando
PROMPT- Cambia la línea de visualización de la orden.
MD o MKDIR - Crea un directorio
RD o RMDIR- Elimina un directorio.
REM - Permite insertar comentarios en archivos de proceso por lotes.
REN o RENAME - Renombra archivos y directorios.
SET - Asigna valores a variables de entorno.
TIME - Visualiza o cambia la hora del sistema.
TYPE - Muestra el contenido de un fichero. Se utiliza, principalmente, para ver contenidos de ficheros en formato texto.
VER - Muestra la versión del Sistema Operativo.
VOL - Muestra la etiqueta del disco duro y su volumen (si lo tiene)
BREAK -Activa o desactiva la verificación extendida CTRL+C.
Los comandos externos en contraposición con los comandos internos se almacenan en archivos de comandos denominados transitorios o externos, y para ejecutarse necesitan de estos archivos, además los comandos externos tienen nombre propio y se pueden copiar de un disco a otro.
Aquí se muestran algunos de los comandos que utilizaba MS-DOS, y que actualmente pueden ser utilizados desde la línea de comandos en sistemas operativos Windows. Para acceder a la ayuda de estas, MS-DOS, a partir de la versión 6.2 permite lo siguiente: comando a consultar /? (Ej.: dir /?). Pueden ser internos (incluidos dentro del propio COMMAND.COM) o externos (archivos ejecutables en el directorio del MSDOS):
ATTRIB - Sinparámetros visualiza los atributos de los directorios y archivos. Con parámetros cambia los atributos de directorios y archivos.
Los atributos de los directorios, y los ficheros son: de lectura (r), de escritura (w), de archivo (a), oculto (h), de sistema (s).Parámetros: signos (más o menos) y letrasr,w,a, yh "v".Ejemplo:Attrib +r *.* (atributo de solo lectura, para todos los ficheros de ese directorio)
APPEND - Sirve para especificar trayectorias para ficheros de datos.
BACKUP - Ejecuta una copia de seguridad de uno o más archivos de un disco duro a un disquete.
CHKDSK - Verifica si hay errores en el disco duro. (También se puede utilizar para corregirlos con el parámetro "/F")
DELTREE - Borra un directorio sin importar que contenga subdirectorios con todos sus contenidos.
DISKCOMP - Tras realizar una copia de disquetes podemos realizar una verificación, para ver si ha copiado todos los contenidos, comparando. Este comando compara discos o disquetes.
DISKCOPY - Permite hacer una copia idéntica de un disquete a otro, pertenece al grupo de las órdenes externas.
DOSKEY - Permite mantener residentes en memoria RAM las órdenes que han sido ejecutadas en el punto indicativo.
FC - Compara ficheros.
FORMAT - Permite crear la estructura lógica en una unidad física de almacenamiento (discos duros, disquetes y unidades de almacenamiento masivo).
FORMAT /U - Formatea un disco con formato incondicional reparando errores y marcando sectores defectuosos.
FORMAT /s - Formatea un disco y lo convierte en disco de sistema.
PRINT - Permite imprimir ficheros.
Se pueden utilizar estos parámetros combinados.
KEYB - Establece el idioma del teclado según el parámetro adicionado (Ejemplo:KEYB SP para el teclado español).
LABEL - Muestra o cambia la etiqueta de la unidad de disco duro.
MEM - Muestra la memoria RAM, el espacio ocupado y el espacio libre.
MOVE - Mueve o cambia de posición un directorio y/o ficheros. También renombra subdirectorios.
SUBST - Crea una unidad lógica virtual a partir de un directorio.
TREE - Muestra los directorios en forma de árbol.
XCOPY - Este comando tiene la misma función que su homólogoresidenteCOPY, con la salvedad de que realiza operaciones de copiado de toda la estructura de directorios si se utiliza el carácter comodín*.* y el modificador/s. Es una versión mejorada del anterior.
< - Re direccionamiento de la entrada estándar. Su sintaxis escomando < fichero.
> - Re direccionamiento de la salida estándar. Su sintaxis escomando > fichero. Si el fichero no existe, lo crea. Si ya existía, sobreescribe su contenido.
>> - Re direccionamiento de la salida estándar a un fichero existente. Su sintaxis escomando >> fichero. Si el fichero no existe, lo crea. Si ya existía, añade el resultado del comando a continuación del contenido previo del fichero.
↑Turner, Rich (28 de septiembre de 2018).«Re-Open-Sourcing MS-DOS 1.25 and 2.0».Windows Command Line Tools For Developers. Consultado el 29 de septiembre de 2018.
↑Wilcox, Scott Hanselman, Jeff (25 de abril de 2024).«Open sourcing MS-DOS 4.0».Microsoft Open Source Blog(en inglés estadounidense). Consultado el 12 de agosto de 2024.