MS-DOS

MS-DOS (siglas de Microsoft Disk Operating System, Sistema operativo de disco de Microsoft o Microsoft DOS) fue el miembro más popularmente conocido de la familia de sistemas operativos DOS de Microsoft, y el principal sistema operativo para computadoras personales compatible con IBM 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 una interfaz gráfica de usuario, en particular por varias generaciones de Microsoft Windows. Desde Windows XP, ya no se volvió a incluir una versión de MS-DOS y fue reemplazado por CMD.
MS-DOS nació en 1980 al encargársele a Microsoft producir un sistema operativo para la gama de computadoras personales IBM PC de IBM. En este momento, Microsoft compró los derechos de QDOS, Quick Disk Operating System, también conocido como 86-DOS,​ de Seattle Computer Products que fue elaborado por Tim 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 de 86-DOS​ – propiedad de Seattle Computer Products, escrito por Tim Paterson. El desarrollo de 86-DOS tomó solo seis semanas, ya que era básicamente un clon de CP/M de Digital Research (para procesadores 8080/Z80), adaptado para ejecutarse en procesadores 8086 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 de FAT12 en lugar del sistema de archivos CP/M. Esta primera versión se envió en agosto de 1980.​ Microsoft, que necesitaba un sistema operativo para el IBM Personal Computer,​​ 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ó como PC DOS 1.0 como uno de los tres sistemas operativos​ para IBM 5150 o IBM PC.​
En un año, Microsoft otorgó licencias de MS-DOS a más de 70 empresas más.​ 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 para CP/M, y con MS-DOS emulando la misma 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 (el DOS 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. El OEM 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 la Tandy 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éase capa 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 8086 emulaban 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 soporte multiusuario de MS-DOS porque el sistema operativo basado en Unix de Microsoft, Xenix, era totalmente multiusuario.​ La empresa planeó, con el tiempo, mejorar MS-DOS para que fuera casi indistinguible de Xenix de un solo usuario, o XEDOS, que también funcionaría en Motorola 68000, Zilog Z8000, y el LSI-11; serían compatibles hacia arriba con Xenix, que Byte en 1983 describió como "el MS-DOS multiusuario del futuro".​​ 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.​ Sin embargo, después de la desintegración de Bell System, AT&T Computer Systems comenzó a vender UNIX 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 la Santa Cruz Operation (SCO).
El 25 de marzo de 2014, Microsoft puso a disposición del público el código SCP MS-DOS 1.25 y una mezcla de Altos MS-DOS 2.11 y TeleVideo PC DOS 2.11 bajo el Acuerdo de licencia de investigación de Microsoft, que hace que el código sea fuente disponible, pero no código abierto según lo definido por las normas de Open Source Initiative o Free Software Foundation.​​​​ Posteriormente, Microsoft volvería a licenciar el código bajo la Licencia MIT el 28 de septiembre de 2018, haciendo que estas versiones sean software gratuito.​
Como broma del Día de los Inocentes en 2015, Microsoft Mobile lanzó una aplicación Windows Phone llamada MS-DOS Mobile que se presentó como un nuevo sistema operativo móvil y funcionaba de manera similar a MS-DOS.​
MS-DOS no fue un Sistema Operativo hecho desde cero, se desarrolló a partir de QDOS, 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 operativo Microsoft Windows.
El código fuente del MS-DOS 1.1 (1982) y 2.0 (1983), junto con el de Word para Windows 1.1 (1989) fue publicado por Microsoft el 25 de marzo de 2015.​Posteriormente se publicaría el código fuente de MS-DOS 4.0 (1986) el 25 de abril de 2024.​
Como su nombre "Sistema Operativo en Disco" indica MS-DOS se instala en el disco duro de computadora IBM o Pc compatible, sin embargo MS-DOS es capaz de estar esta completamente listo en segundos; diferente al Macintosh 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".
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.​ 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 del Código ASCII que permitían distinguir unos archivos de otros dentro de un mismo directorio. 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 operativos Windows 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 propio COMMAND.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:
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):
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 letras r, w, a, y h "v". Ejemplo: Attrib +r *.* (atributo de solo lectura, para todos los ficheros de ese directorio)
Se pueden utilizar estos parámetros combinados.