Download UNIX
Document related concepts
Transcript
UNIX Unix Linus Tovalrds (Linux) Open Source GNU Nombre: Abraham Villantes Gómez Grupo: 104A 08/09/2014 UNIX UNIX El origen del sistema UNIX está ligado al desarrollo de un proyecto iniciado en 1968. En aquel momento un grupo de investigadores de General Electric, AT&T Bell y del MIT (Massachusets Institute of Technology, Instituto Tecnológico de Massachessets) llevó a cabo el desarrollo de un sistema operativo en el que se tuvieron en cuenta nuevos conceptos como la multimedia, la gestión de archivos o la interacción con el usuario. El resultado de estas investigaciones se bautizó como MULTICS (Multiplexed Information and Computing System, Sistema Multiplexado de Información y Computación). El proyecto resultó ser demasiado ambicioso, por lo que no llegó a buen fin y terminó abandonándose después de sufrir varios contratiempos y retrasos. Más adelante, en 1970, el nombre sufre una pequeña variación y pasa a llamarse UNIX, con el que se le conoce actualmente. Sin embargo, no fueron inútiles. Posteriormente la idea de este proyecto se vuelve a retomar y conduce al desarrollo en 1969 del sistema operativo UNIX por Ken Thomson, Dennis Ritchie y otros investigadores, algunos de ellos integrantes del grupo de programadores que llevó a cabo el proyecto MULTICS. La computadora sobre la que se implementó este novedoso sistema operativo, al que se llamó UNICS, fue una DEC PDP-7. El nombre que se le dio al sistema operativo es en realidad un juego de palabras que se forma con las iníciales de Uniplexed Information and Computing System (sistema multiplexado de información y computación), haciendo referencia a su predecesor, MULTICS y teniendo en cuenta que en esta ocasión el sistema operativo sólo podía soportar dos usuarios de forma simultánea. El código UNIX estaba inicialmente escrito en lenguaje ensamblador, esta cuestión incidía negativamente en su portabilidad y que no tardó en solucionarse. Fue más tarde en 1973, cuando Dennis Ritchie, uno de los míticos creadores del lenguaje C, llevó a cabo un proyecto en colaboración con Ken Thompson con la intensión de reescribir el código UNIX en lenguaje C. UNIX se convirtió así en el primer sistema operativo escrito en lenguaje de alto nivel. Este paso fue sin duda fundamental para su posterior desarrollo, pues hasta entonces el código del sistema operativo resultaba muy dependiente del tipo de máquina. Con este nuevo enfoque fue posible portar el sistema operativo a otras máquinas con muy pocos cambios, simplemente efectuando una nueva compilación en la máquina de destino. Gracias a este paso la popularidad de UNIX creció y permitió asentar los principales aspectos de lo que se llama la "filosofía UNIX" que es crear programas rápidos, simples, con poca intervención por parte del usuario, o en caso de necesitarla, esta se produzca al principio o lo más mínima posible que en otras palabras seria que escribe programas que hagan una cosa y la hagan bien, que trabajen en armonía con otros y que manejen flujos de texto. Aunque inicialmente UNIX era considerado como un proyecto de investigación, hasta el punto de distribuirse de forma gratuita entre los departamentos de informática de algunas universidades, pronto la demanda del producto hizo que los laboratorios Bell iniciaran su distribución oficial concediendo licencias a distintos usuarios. Fue hacia 1974 cuando UNIX, ya en su cuarta edición, comenzó a utilizarse de forma masiva en los laboratorios Bell. Que ya después al paso del tiempo se fueron creando las familias Unix o los sistemas operativos basados por Unix que son estas: AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y original. Sus sistemas operativos más significativos son UNIX System III y UNIX System V. BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD se reescribió para no incorporar propiedad intelectual originaria de AT&T en la versión 4. La primera implementación de los protocolos TCP/IP que dieron origen a Internet son la pila (stack) TCP/IP BSD. AIX: Esta familia surge por el licenciamiento de UNIX System III a IBM. Xenix: familia derivada de la adquisición de los derechos originales de AT&T primero por parte de Microsoft y de esta los vendió a SCO. GNU: En 1983, Richard Stallman anunció el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido libremente. El software desarrollado por este proyecto por ejemplo, GNU Emacs y GCC - también han sido parte fundamental de otros sistemas UNIX. Linux: En 1991, cuando Linus Torvalds empezó a proponer el núcleo Linux y a reunir colaboradores, las herramientas GNU eran la elección perfecta. Al combinarse ambos elementos, conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce como GNU/Linux. Las distribuciones basadas en el núcleo, el software GNU y otros agregados entre las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se han hecho populares tanto entre los aficionados a la computación como en el mundo empresarial. Obsérvese que Linux tiene un origen independiente, por lo que se considera un 'clónico' de UNIX y no un UNIX en el sentido histórico. Las interrelaciones entre estas familias son las siguientes, aproximadamente en orden cronológico: La familia BSD surge del licenciamiento del UNIX original de AT&T. Xenix también surge por licenciamiento del UNIX original de AT&T, aunque aún no era propiedad de SCO. AIX surge por licenciamiento de UNIX System III, pero también incorpora propiedad intelectual de BSD. La familia original AT&T incorpora ilegalmente propiedad intelectual de BSD en UNIX System III r3. La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T, esta vez procedente de UNIX System V. Linux incorpora propiedad intelectual de BSD, gracias a que éste también se libera con una licencia de código abierto denominada Opensource BSD. Según SCO Group, Linux incorpora propiedad intelectual procedente de AIX, gracias a la colaboración de IBM en la versión 2.4, mas aún no está demostrado, hay un proceso judicial al respecto: Disputas de SCO sobre Linux. Linus Tovalrds (Linux) A principios de los años noventa Linus Torvalds desarrolló un pequeño núcleo de un sistema clónico de UNIX como parte de uno de sus proyectos de investigación. Era el origen de Linux. Cuando tuvo una versión suficientemente estable comenzó a distribuirla bajo la licencia GPL y solicitó ayuda para probarlo y mejorarlo. Aquí muestra el mensaje que apareció en uno de los foros de discusión de Usenet y con el cual Linus Torvalds animaba a la participación en el proyecto Linux: Do you pine for nice days of Minix 1.1, when men were and worte their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you try to modify for you needs? Are you finding it frustrating when everything works on your OS? No more all-nighters to get nifty program working? Then this post might be just for you. Que en español dice: "¿Echa de menos aquellos maravillosos días de Minix 1.1, cuando los hombres eran hombres y escribían sus propios controladores de dispositivos? ¿No tienen ningún proyecto interesante y se muere de ganas por hincarle el diente a un sistema operativo que pueda modificar para ajustarlo a sus propias necesidades? ¿Encuentra frustrante que todo funcione en su sistema operativo? ¿Ya no pasa noches en vela intentando configurar un ridículo programa? Entonces, este mensaje puede ser justamente para usted." Desde entonces Linux ha evolucionado enormemente. El número de computadoras que funcionan con el sistema operativo Linux ha aumentado espectacularmente en los últimos años. Linux comenzó siendo un proyecto de plataformas Intel 80386. En la actualidad, existen versiones para todas las versiones de los procesadores Intel y AMD, Power PC, Sun, SPARC, etc. El éxito de Linux se debe fundamentalmente a su distribución por Internet que le ha permitido la incorporación de los desarrollos de la gente repartida por todo el globo. Actualmente Linux cuenta con los principales gestores de ventanas, múltiples utilidades para Internet, compiladores, editores... Linux se utiliza con éxito como servidor en numerosas empresas y universidades de todo el mundo, y son muchísimos los usuarios particulares que disponen de un sistema Linux en sus casas. Open Source Open Source significa “fuente abierta”, y fue inventado por Eric S. Raymond, Bruce Perens y Tim O’Reilly (fundadores de la iniciativa Open Source), en el año 1998. Este tipo de software nos brinda la oportunidad de modificarlo además de ser utilizado, pues son programas de código abierto. Se utilizó por primera vez en 1990 las comunidades de software libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés del software libre (free software). «Free» en inglés significa dos cosas distintas dependiendo del contexto: gratuidad y libertad. Lo cual implica, para el caso que nos ocupa, "software que podemos usar, escribir, modificar y redistribuir gratuitamente" (software gratuito) y, además, software libre, según la acepción española de libertad. La expresión, para algunos, no resultó apropiada como reemplazo para el ya tradicional free software, pues eliminaba la idea de libertad, confundida con la simple gratuidad. No obstante continúa siendo ambivalente, puesto que se usa en la actualidad por parte de programadores que no ofrecen software libre pero, en cambio, sí ofrecen el código fuente de los programas para su revisión o modificación previamente autorizada por parte de sus pares académicos. Dada la ausencia de tal ambigüedad en la lengua española, el término software libre es adecuado para referirse a programas que se ofrecen con total libertad de modificación, uso y distribución bajo la regla implícita de no modificar dichas libertades hacia el futuro. De hecho en inglés también se usa el término "libre software" para evitar ambigüedades semánticas. Desde el punto de vista de una "traducción estrictamente literal", el significado textual de "código abierto" es que "se puede examinar el código fuente", por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Sin embargo, ambos movimientos reconocen el mismo conjunto de licencias y mantienen principios equivalentes. Sin embargo, hay que diferenciar los programas de código abierto, que dan a los usuarios la libertad de mejorarlos, de los programas que simplemente tienen el código fuente disponible, previa restricciones sobre su uso o modificación. En la actualidad el código abierto se utiliza para definir un movimiento nuevo de software (la Iniciativa Open Source), diferente al movimiento del software libre, incompatible con este último desde el punto de vista filosófico, y completamente equivalente desde el punto de vista práctico, de hecho, ambos movimientos trabajan juntos en el desarrollo práctico de proyectos. La idea bajo el concepto de código abierto es sencilla: cuando los programadores (en Internet) pueden leer, modificar y redistribuir el código fuente de un programa, éste evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores con un tiempo de espera menor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software. Entre 1998 y 2000 se observó un gran crecimiento en la popularidad de cada software como Microsoft entre otras mas pero en especial con GNU/Linux y de la formación de muchas empresas "pro software de código abierto". El movimiento también capturó la atención de la principal industria del software, llevando al software de código abierto las ofertas de compañías de software consolidadas como Sun Microsystems con StarOffice e IBM con OpenAFS. Proyecto GNU En los primeros tiempos de UNIX se empleaba en entornos educacionales y de investigación. Las leyes norteamericanas impedían a AT&T participar en el mercado de las computadoras, por lo que cedía gratuitamente su sistema UNIX a las universidades y algunas empresas. Además de versiones binarias del sistema se distribuía el código fuente completo, lo que permitía que cualquier programador pudiera incorporar sus propias modificaciones al sistema. Cuando UNIX comenzó a cobrar importancia en el mercado de las computadoras AT&T inició su distribución comercial. A partir de ese momento el código fuente dejó de incluirse junto al resto del sistema. Esto significó la pérdida de una fuente de ayuda inestimable en la explicación de las tecnologías de sistemas operativos en las universidades. Por ello Andrew Tannenbaum decidió programar su propio clónico de UNIX, al que llamó Minix. Su objetivo era servir como base para las explicaciones en sus clases en la universidad. Por tanto no debía ser excesivamente complejo, pero tendría que incorporar las últimas novedades de la tecnología. Además era conveniente que los estudiantes pudieran disponer de él para instalarlo en sus casas, y así poder realizar experimentos sin necesidad de contar con una estación de trabajo. En aquella época las computadoras personales más difundidas eran IBM PC, que por aquel entonces ni siquiera incorporaban disco duro. Las primeras versiones de Minix cabían en uno o dos floppy y podían ser ejecutadas desde cualquier PC. Por supuesto, otro de los problemas de la comercialización de UNIX era que dejaba de ser gratuito y a partir de entonces las organizaciones que desearan utilizarlo deberían pagar por él. Esto fue el detonante del proyecto GNU. El proyecto GNU es un intento de escribir un sistema operativo portable, avanzado, gratuito y de código fuente público, y de aspecto idéntico a UNIX. La palabra portable quiere decir que debe poder ejecutarse en cualquier tipo de plataforma, y no sólo en PCs con procesador Intel. Los programas del proyecto GNU se distribuyen una licencia especial, denominada GPL (General Public License, Licencia Pública General), que garantiza que los usuarios finales del programa puedan realizar copias del mismo sin ningún tipo de restricción. Permite además que puedan efectuar modificaciones al código fuente, siempre y cuando preserven el copyright del programa original. El proyecto GNU se está llevando a cabo por multitud de empresas y miles de voluntarios en todo el mundo. La red Internet ha permitido difundir los programas del proyecto y a su vez facilitados su creación. Las herramientas del proyecto GNU no tienen nada que envidiar a los programas comerciales y en muchos casos los superan en calidad. Millones de usuarios las utilizan en su trabajo diario. Y todo ello, completamente libre. El proyecto GNU. En los primeros tiempos de UNIX éste se empleaba en entornos educacionales y de investigación.