¡Bienvenido!

Al registrarte con nosotros, podrás conversar, compartir y enviar mensajes privados con otros miembros de nuestra comunidad.

¡Regístrate ahora!

Articulo Breve historia del surgimiento de MS-DOS

pcarballosa

pcarballosa

Nivel 6
Iniciador Conversador Creador de Temas Destacado
Mensajes
1,415
MS-DOS es sin duda uno de los sistemas operativos más icónicos del pasado, con una respetable base de programas diseñados para correr con su soporte, entre ellos aclamados videojuegos clásicos; la historia de su desarrollo, iniciada en octubre de 1980, nos muestra también cómo una empresa como Microsoft, en ese entonces todavía pequeña, logró imponerse frente a otras más poderosas y mejor posicionadas.

En ese año de 1980 la corporación IBM estaba buscando un sistema operativo para su todavía no liberada IBM PC modelo 5150; contrario a su costumbre IBM había decidido desarrollar la PC usando componentes de terceros y eso incluía también su software.

La causa de lo anterior era práctica, en IBM estaban acostumbrados a ciclos largos de desarrollo, lo cual estaba bien para sus mainframes y minicomputadoras, pero cuando se decidió entrar en el mercado de las microcomputadoras, en la corporación se percataron de que era un entorno mucho más dinámico. Por eso en IBM habían decidido desde un comienzo basar su desarrollo en los componentes de terceros disponibles en el mercado, si bien mientras todo el hardware estaba disponible en ese instante, no sucedía lo mismo con todo el software necesario.

Por consiguiente, Microsoft fue visitada por una delegación de IBM interesada en recabar información sobre la posibilidad de obtener un BASIC basado en ROM para su criatura. El BASIC de Microsoft se usaba en muchos sistemas distintos por entonces, e IBM pensaba en introducirlo también en su propia PC. En ese momento la idea de IBM todavía era producir una microcomputadora basada en un microprocesador de 8 bits como era la norma de la época.

Microsoft se mostró dispuesta a desarrollar una versión de BASIC para la computadora de IBM lo cual era su negocio, no obstante, propuso a IBM desarrollar la PC usando un microprocesador de 16 bits como el más reciente Intel 8086, dado veía como el futuro a la plataforma de 16 bits.

En cuanto a su sistema operativo, la primera opción de IBM naturalmente era CP/M-86, la aún no disponible versión de 16 bits de Digital Research CP/M, tal como en la misma Microsoft le recomendaron. CP/M había sido desarrollado para hardware de 8 bits con los microprocesadores 8080 de Intel o el Z-80 de Zilog, y se había convertido en un estándar de la industria con una importante base de software para esa época, con programas como WordStar, Visicalc o más tarde dBase II. Por eso era de suponer que las aplicaciones desarrolladas para CP/M podrían ser más fácilmente portadas a CP/M-86 con lo cual se dispondría en la IBM PC de todo ese software bastante usado casi desde los primeros momentos de su salida al mercado.

Microsoft como es conocido no se dedicaba a desarrollar sistemas operativos, ni tenía en venta otra cosa parecida además de su BASIC standalone. La empresa se dedicaba a crear compiladores y otras herramientas y aplicaciones para venderlas a otros proveedores y empresas. Pero no obstante esto había desarrollado un sistema operativo para microprocesador 8080 de 8 bits conocido como M-DOS del cual nunca se supo porque con sus 30 KB resultó ser demasiado grande.

Digital Research tuvo por consiguiente la oportunidad de su vida con una IBM interesada en su sistema operativo, y evidentemente no supo aprovechar la situación, como suele pasar con algunas empresas cuando han logrado una cierta posición y se sienten seguras.

IBM y Digital Research no pudieron ponerse de acuerdo, y el sistema operativo de 16 bits CP/M-86 se demoró demasiado en estar disponible.

En tanto, IBM no era tampoco la única empresa buscando un sistema operativo, otra empresa nombrada Seattle Computer Products también necesitaba uno desde antes para su propia línea de computadoras de 16 bits con bus S-100 (introducido por la Altair 8800) y un microprocesador 8086.

La demora de Digital Research decidió a Tim Paterson, uno de los ingenieros de Seattle Computer Products por esa fecha de 24 años de edad, a subirse las mangas de su camisa y además del hardware también comenzar a desarrollar desde cero un sistema operativo de 16 bits compatible con CP/M tanto por su forma de operación como a nivel de llamadas al sistema.

El sistema desarrollado por Tim Paterson se denominó inicialmente QDos (Quick and Dirty Operating System), o también 86-DOS como se lo bautizó después, y no estaba pensado para correr en una IBM PC dado esta no existía en ese instante en el mercado.

Seattle Computer Products comercializó 86-DOS como un sistema operativo propietario para su línea de computadoras con bus S-100, no obstante, ese hecho de ser propietario no motivó a los fabricantes de hardware competidores a usarlo en sus propias computadoras y no tuvo gran impacto.

Microsoft no tardó en darse cuenta de la oportunidad de participar, dado necesitaba conocer los detalles del sistema operativo a usar por IBM para desarrollar los compiladores para éste y la demora de CP/M-86 los afectaba, y como una compañía creciente y decidida a imponerse, olfateó las ventajas de agregar a su cartera de productos un sistema operativo propio para microcomputadoras de 16 bits.

Así fue como Microsoft hizo contacto con Seattle Computer Products para conseguir la licencia del sistema desarrollado por Tim Paterson, denominado como hemos visto 86-DOS, y después de hacerle algunas adecuaciones deprisa se lo presentó a IBM para evaluación como Microsoft Disk Operating System 1.0.

IBM llegó a un acuerdo con Microsoft para usar MS-DOS con el nombre de IBM PC-DOS 1.0 como el principal sistema operativo para la IBM PC, si bien no descartaba a otros desarrollos como Digital Research CP/M-86 y P-system de Softech; y Microsoft compró los derechos de 86-DOS a Seattle Computer Products en julio de 1981 y se llevó también a Tim Paterson a su empresa.

IBM también sometió MS-DOS 1.0 a un extenso conjunto de pruebas para asegurar su calidad antes de sacarlo con la IBM PC modelo 5150, y se dice se encontró por lo menos con 300 bugs a arreglar, con lo cual decidió reescribir una buena parte de éste y por eso PC-DOS es licenciado por ambas compañías.

Por fin en octubre de 1981 IBM PC-DOS 1.0 estuvo disponible junto a la IBM PC modelo 5150 y dicha microcomputadora pronto se convirtió en un éxito sobrepasando las ventas esperadas en IBM, o por lo menos en el mercado de los negocios dado en el doméstico fue un fracaso de ventas, si bien ese fracaso no tomó por sorpresa a IBM donde los directivos principales no tenían demasiada confianza hasta ese momento en un éxito de una computadora en los hogares.

En lo adelante las distintas versiones de MS-DOS se fueron mejorando y ganaron popularidad y ese sistema llegó a convertirse en uno de los sistemas operativos más usados de la historia.

¿Qué hizo posible a Microsoft tener éxito con su sistema operativo dado con la IBM PC también se ofrecía CP/M-86 y P-system?

En un primer momento Microsoft no era una empresa grande e importante como se ha dicho, no podía influir demasiado con sus deseos más allá de cierto punto negociando con sus compiladores, sin embargo, como IBM PC-DOS 1.0 fue ofrecido por la propia IBM, una empresa con prestigio y la encargada del hardware, eso fue de gran ayuda por lo menos para dar a conocer MS-DOS.

El hecho anterior no lo es todo y MS-DOS 1.0 también estaba disponible a un precio más reducido en comparación con los precios de sus competidores CP/M-86 y P-system; y encima de eso era compatible con CP/M y poseía algunas características técnicas más avanzadas que CP/M-86 por esa fecha.

En particular podemos mencionar la velocidad de acceso a discos, porque su sistema de archivos denominado FAT resultó ser mucho más rápido en operación cuando se trataba de archivos un poco grandes, y la capacidad de MS-DOS 2.0 de adaptarse fácilmente a todo hardware por medio de controladores de dispositivos instalables.

En todo caso, en los primeros años después de su lanzamiento, MS-DOS no fue una gran fuente de ingresos para Microsoft, como sucedió más adelante cuando se convirtió en el sistema preferido de los desarrolladores de software para las IBM PC y compatibles con una base de más de 10 millones de usuarios. La empresa debió luchar bastante duro con la competencia dado en los primeros meses muchos desarrolladores esperaron por la salida de CP/M-86 porque pensaron que sería más fácil portar a éste sus programas hechos para CP/M. Pero la práctica finalmente no confirmó las esperanzas de los desarrolladores que pronto descubrieron que contrario a sus pronósticos no era más fácil portar los programas de CP/M a CP/M-86 que portarlos de CP/M a MS-DOS.

Por otro lado, Microsoft era el proveedor de las herramientas de desarrollo, y eso le daba ventaja a su sistema de una forma o de otra.

¿Qué otras causas crees influyeron en la victoria de MS-DOS frente a los distintos competidores?​
 
¿Qué otras causas crees influyeron en la victoria de MS-DOS frente a los distintos competidores?
No lo se a ciencia cierta, pero luego de haber probado CP/M, diría que la facilidad de uso (especialmente comparado con BASIC) y cosas como un sistema de archivos jerárquico. Y las aplicaciones, supongo.
 
No lo se a ciencia cierta, pero luego de haber probado CP/M, diría que la facilidad de uso (especialmente comparado con BASIC) y cosas como un sistema de archivos jerárquico. Y las aplicaciones, supongo.
En efecto, la disponibilidad de las aplicaciones debe haber tenido una importancia primordial para el establecimiento de MS-DOS como sistema operativo principal en la IBM PC, porque no sirve de nada un sistema operativo sin aplicaciones o con pocas de ellas, a los usuarios les sirven las aplicaciones no el sistema operativo como tal que es un vehículo para poder correr esas aplicaciones de forma adecuada, y de ahí que MS-DOS fuera expresamente diseñado con la idea de facilitar la asimilación de las aplicaciones de CP/M de manera mecánica con poca o ninguna intervención manual.

MS-DOS emuló la forma de operación de CP/M de manera lo suficientemente detallada para permitir esto si bien también influyó que Microsoft era el proveedor de los compiladores y varios programas estaban escritos en un lenguaje de alto nivel y podían ser recompilados.

También está el hecho de que CP/M-86 demoró unos seis meses más en estar disponible y cuando lo estuvo su costo fue bastante superior a MS-DOS sin ofrecer prácticamente ninguna ventaja adicional.

En el caso del sistema de archivo FAT de MS-DOS ofrecía ventajas en comparación con el usado en CP/M tanto por su velocidad de operación como por tener una forma más adecuada de organizar la información, lo cual influía en dicha mejor velocidad de operación a pesar de no ser esta la única causa de eso, puesto también fue importante la investigación sobre el tiempo promedio del cambio de un disco flexible por parte de un usuario del sistema de alrededor de 2 segundos con lo cual MS-DOS tomó ese tiempo como límite para vaciar los buffer en memoria a los discos.

MS-DOS puede cargar los sectores de la FAT en memoria y operar con esa información sin posteriores accesos a disco, aun si como es natural debía guardar los cambios hechos en la FAT, y de ahí la importancia de la investigación mencionada antes sobre el tiempo promedio que demoraba un usuario del sistema para sustituir un disco flexible.

Por otro lado, el sistema de archivo de CP/M guardaba los punteros a los datos de los archivos en la misma entrada de directorio del archivo en lugar de usar una lista enlazada centralizada como FAT apuntando a la zona de datos del disco, y por eso para leer cada archivo debía cargar esa información de cada archivo en particular, lo cual empeoraba cuando los archivos eran un poco grandes (más de 16 KB) y se debía utilizar para ellos más de una entrada de directorio (puesto cada entrada de directorio en CP/M tenía punteros a 16 unidades de almacenamiento de 1 KB). Como consecuencia de esta forma de organización de la información en el disco surgía la necesidad de realizar más lecturas en los discos flexibles bastante lentos en comparación con la manera como lo hacía MS-DOS que como hemos visto podía mantener una copia de la FAT en memoria dado era común para todos los archivos.

MS-DOS guarda en la entrada de directorio del archivo nada más la dirección a la primera entrada en la FAT para los datos de ese archivo.

También influía en la velocidad de operación del sistema de archivo de MS-DOS la capacidad de leer múltiples records con una sola llamada al sistema determinada por la independencia entre records y sectores físicos del disco implementada en MS-DOS.

Pero a pesar de su importancia, en la primera versión de MS-DOS no se usó un sistema de archivo jerárquico debido a su manera de emular la forma de operación de CP/M y a los límites de espacio en disco, el acceso a archivos por medio de FCB propio de CP/M no permite acceder a archivos en otro directorio diferente al actual y esa fue la única manera de hacerlo en MS-DOS 1.0.

El sistema de archivo jerárquico se introdujo en MS-DOS 2.0 cuando se reescribió el sistema y se utilizaron conceptos propios de UNIX como los manipuladores (handle) para acceder a archivos y dispositivos sin distinción; la causa de esto fue la introducción de los discos duros con la IBM PC modelo XT puesto con un disco duro (aun sí sólo tiene 10 MB) se hacía imprescindible alguna manera de organizar la información en ellos.

En lo adelante esta característica debió resultar importante para la preferencia de MS-DOS por parte de los usuarios tal como lo has comentado porque para empezar era algo común en los entornos UNIX.
 
Atrás
Arriba