viernes, 10 de agosto de 2012

Computación III - Unix y MS-DOS

 El 24 de julio de 2012, Enrique Ganem se refería a la historia de MS-DOS:

"Una de las primeras empresas en pedir y pagar una licencia para usar Unix era una pequeña empresita que estaba naciendo con una muy buena idea y también con un apoyo familiar enorme. La empresa Microsoft estaba siendo fundada por una persona que sabía de computación y que tenía una familia que estaba muy bien conectada por todos lados. La mamá del dueño se puso en contacto con los directivos de IBM...y facilitó las cosas para que IBM le diera un contrato de exclusividad para el desarrollo de sus ambientes de cómputo a esta pequeña empresa. No le quiero decir lo que pasó después: la empresa respondió muy bien, con productos muy funcionales, y se fueron ambos para arriba. IBM comenzó a vender más y más y más computadoras personales, cada vez más y más poderosas, y la empresa Microsoft comenzó a vender más y más productos cada vez mejores...Si ud. revisa las características del ambiente DOS, que fué el primer ambiente que vendió la empresa Microsoft, antes de comenzar a vender Windows, va a encontrar que tanto su estructura como el tipo de comandos...que acepta este ambiente, las que le permiten crear un archivo, borrarlo, cambiarlo de lugar en el disco duro, son las mismas instrucciones que Unix...y no es un accidente. Microsoft compró la licencia que vendía AT&T con la idea de adaptar Unix al ambiente de las microcomputadoras. Cuando logró hacerlo y creó el famoso Disk Operating System, el Sistema Operativo de Disco...y en ese momento la computadora ya tenía en la memoria todo lo que necesitaba para operar  un ambiente Unix reducido...Gracias a que Microsoft tuvo el talento de...tomar el trabajo que se había hecho en Unix, modificarlo un poco y venderlo como propio en el ambiente IBM..."

A continuación se analiza la exposición citada.


I - El origen de Microsoft

Si bien Enrique Ganem no cae en las peores falacias de la mayoría de los apologistas de Microsoft, su representación sigue siendo tendenciosa: Microsoft no "estaba siendo fundada" cuando se dió la licencia de Unix y el contrato con IBM en 1979/80:

"Ellos establecieron Microsoft  oficialmente el 4 de abril de 1975, con Gates como CEO. Allen discurrió el nombre original de "Micro-soft", como se recordaba en un artículo de la revista Fortune de 1995."   Referencia

Para 1979, año de la licencia de Unix, Microsoft era un conocido e importante vendedor de Basic.

"a la sazón Microsoft era la compañía de lenguajes vendiendo varios compiladores y principalmente Microsoft Basic que era el estándar en microcomputadoras de su tiempo"


II - DOS derivado de Unix

Enrique Ganem dice que DOS fué una creación de Microsoft y un "ambiente Unix reducido". Esto es falso.

En el momento de nacer el proyecto IBM PC, el rey de los sistemas operativos en microcomputadoras era CP/M, de Digital Research ( DR ). De hecho, existe un detalle interesante en la referencia anterior: 

"Microsoft licenció UNIX de AT&T en 1979. Ese fué un año interesante. En la reunión USENIX de junio de 1979 en Toronto, AT&T anunció un gran aumento de precios: de $1000 a $7500 para instituciones educativas; de $5000 a $40,000 para código fuente abierto completamente comercial ( por CPU ). Esencialmente AT&T decidió comercializar UNIX.

Ello creó una entrada para distribuidores independientes y Bil Gates saltó instantáneamente sobre esta oportunidad. Hubo rumores de que tal salto fué parcialmente estimulado por Digital Research que en 1979 rompió un acuerdo tácito con Microsoft para concentrarse en Sistemas Operativos ( SO ) y se mueve al espacio de los compiladores empaquetando CP/M con CBasic desarrollado por uno de los estudiantes de Kildall, Gordon Eubanks, que Microsoft consideraba propio ( a la sazón Microsoft era la compañía de lenguajes vendiendo varios compiladores y principalmente Microsoft Basic que era el estándar en microcomputadoras de su tiempo ). Dado que soportar múltiples sistemas operativos era una pesadilla para la compañía, Microsoft era fuerte promotor de CP/M y con razón consideró la jugada de Digital Research como una puñalada en la espalda. Tras eso Bill Gates volteó a AT&T y en febrero de 1980 licenció el sistema operativo Unix de AT&T.

 Cuando intentó lanzarse al mercado de los sistemas operativos, Microsoft no tenía la capacidad ni experiencia para ello, así que comisionó un contratista para hacer el trabajo:

"En 1979, los hermanos Doug y Larry Michaels [ en realidad eran padre e hijo ] fundaron The Santa Cruz Operation como una compañia convertidora y consultora de UNIX usando capital de riesgo de Microsoft, la que entregó todo desarrollo posterior de XENIX a SCO."   Referencia

Así que cuando en septiembre de 1980 Bill Gates levantó el teléfono y llamó a Kildall para informarle que IBM quería hablar con él sobre crear un SO para su nueva microcomputadora, ello fué un gesto de buena voluntad - estaba mandando el negocio al competidor. Fué seis meses después de que Microsoft entró en el negocio Xenix"

Se puede sospechar que Gates mando a IBM con DR porque ellos ya tenían su proyecto de SO y quizá sabían que ni en IBM creían en esa futura PC ( IBM era una compañía de mainframes y minis, no de microcomputadoras ). Si no tenían capacidad de portar UNIX, mucho menos podían meterse en un proyecto más. Pero la historia dice que IBM no llegó a un acuerdo con Kildall ( dueño de Digital Research ) y entonces la petición recayó en Microsoft.

"Después que las negociaciones con Digital Research fallaron, IBM otorgó un contrato a Microsoft en noviembre de 1980 para proveer una versión del SO CP/M, para ser usado en la futura IBM Personal Computer ( IBM PC ). Para este trato, Microsoft compró un clon de CP/M llamado 86-DOS de Seattle Computer Products, llamándolo MS-DOS, que IBM llamó PC-DOS."   Referencia

Entonces, no sólo Microsoft no creó el DOS original, sino que tampoco estaba desarrollado como versión de UNIX. Era un clon de CP/M, el SO dominante en el mundo de microcomputadoras en ese momento.

"En julio de 1981, un mes antes de la comercialización de la PC, Microsoft compró todos los derechos sobre 86-DOS a SCP por $50,000. Cumplía el principal criterio de IBM: se veía como CP/M, y era fácil adaptar programas CP/M de 8 bits existentes para correr bajo éste"   Referencia


III - La verdadera relación entre DOS y UNIX

"Inicialmente, Microsoft tenía grandes planes para XENIX y trató de asegurar compatibilidad de DOS. Ello tuvo una influencia tremendamente positiva en MS_DOS, que en las versiones 2 y 3 adquirió varias innovaciones Unix como sistema de archivos jerárquico, tuberías, redirección, etc, moviendose más y más lejos del CP/M original."   Referencia

Entonces es después, en las subsiguientes versiones, que DOS se acerca a Unix, aunque con características menores. Nunca se llegó a las capacidades multiproceso y multiusuario de Unix, por lo que decir que DOS fué un Unix reducido es una grosera deformación de la realidad:

"Es claro que Microsoft estaba muy interesado en características de Unix en el MS-DOS temprano - hicieron una gran baza en el temprano DOS de tener un plan para hacer las llamadas de sistema más "estilo Unix" para el acceso al sistema de archivos. De hecho nunca progresaron con este concepto en una forma adecuada; por ejemplo cuando se hace una llamada para abrir un archivo que es "estilo Unix" ( o sea proveyendo la ruta completa en el parámetro del archivo ) lo que la llamada hace internamente es usar llamadas tipo CP/M para cambiar al directorio especificado, abrir el archivo con una llamada de apertura de archivo FCB estilo CP/M, y entonces cambiar de regreso al directorio original - muy aparatoso! ( Una vez seguí el proceso através de esta basura para una tarea, era feo! )."   Referencia


IV - Productos muy funcionales

La realidad fué que DOS abortó muy pronto su prometedor futuro. Las versiones posteriores a la 3.3 agregaban casi nada en funcionalidad importante y la preponderancia de DOS fué siendo estrangulada, probablemente para allanar el camino de un Windows que cuajó MUY lentamente.

Por ello es que hablar maravillas de la forma en que evolucionaron los productos de Microsoft es una total falacia. Desde entonces Microsoft ha sido un virtuoso del vaporware: software que sólo existe en las promesas grandilocuentes de los mercadólogos pero que tardan mucho en ( o nunca llegan a ) en convertirse en realidad.


Conclusión

Nuevamente, Enrique Ganem dá una idea totalmente diferente de la realidad. DOS no es un UNIX reducido y no fué desarrollado tras el modelo UNIX.


Antecedente: Software Libre I

4 comentarios:

  1. Para leer tarugadas, mejor la wikipedia.

    ResponderBorrar
    Respuestas
    1. ¿Cuáles son lor errores?

      ¿Cuáles son los hechos mal considerados?

      ¿Porqué es tan difícil que un adepto a Enrique Ganem fundamente adecuadamente su postura?

      Borrar
  2. A las palabras de Ganem:

    A divulgadores científicos de muy bajo nivel... adeptos de muy bajo nivel

    ResponderBorrar
    Respuestas
    1. Gracias por tu mensaje.

      Creo que habría que empezar a matizar el trabajo de Ganem y otros. No son realmente divulgadores sino propagandistas, donde la divulgación es el excipiente c.b.p. para diluir la propaganda que realmente importa y conviene a los intereses que esta gente defiende.

      Borrar