miércoles, 29 de julio de 2009

¿ De donde viene GNU/Linux?

Como todo tiene un comienzo y aunque el tema este un poco más que sabido voy a aprovechar el comienzo del blog para contar un poco la historia de GNU/Linux y el Software libre en los proximos post me dedicare a esto.







La historia de GNU/Linux se remonta ha 1969 cuando Ken Thompson y Dennis Ritchie dos programadores que trabajaban en los Laboratorios Bell Labs, decidieron esbozar un sistema operativo que supliera las necesidades de la Bell Labs. Cuando Thompson llegó a necesitar un entorno de desarrollo (1970) que corriera en una PDP-7, aprovechó para poner en práctica sus ideas. Brian Kernighan le dió el nombre de Unix como un juego de palabras contra Multics.


Cuando Unix era joven (versión 6), el código fuente se encontraba en todas partes, con autorización de AT&T, y se estudiaba frecuentemente. John Lions, de la Universidad de New South Wales en Australia, llegó a escribir un pequeño folleto que describía su operación, línea por línea. Este folleto se utilizó (con permiso de AT&T) como libro de texto en muchos cursos universitarios sobre sistemas operativos.
Cuando AT&T entregó la versión 7, empezó a comprender que Unix era un valioso producto comercial, así que emitió la versión 7 con una licencia que prohibía el estudio del código fuente en cursos con el objeto de evitar poner en peligro su condición como secreto comercial. Muchas universidades protestaron simplemente descartando el estudio de Unix y enseñando sólo teoría.
Por desgracia, el solo enseñar teoría dejaba al estudiante con una visión desproporcionada de lo que en realidad es un sistema operativo. Los temas teóricos que por lo general se comprenden con lujo de detalle en cursos y libros de sistemas operativos, como los algoritmos de planificación, en la práctica no son realmente tan importantes. Los temas que en realidad son importantes, como la E/S y los sistemas de archivo, por lo general se desprecian porque existe muy poca teoría acerca de ellos.
Para remediar esta situación, el conocido y respetado computólogo, Andrew Tannebaum, decidió escribir un nuevo sistema operativo de la nada que sería compatible con Unix desde el punto de vista del usuario, pero completamente diferente en el interior. Sin siquiera utilizar una sola línea de código de AT&T, este sistema evadía las restricciones de la prohibición, de modo que podía utilizarse para dar una clase o para el estudio individual. En esta forma, los estudiantes podían analizar minuciosamente un sistema operativo real para ver lo que hay en su interior, tal y como los estudiantes de biología disecan ranas. El nombre MINIX surgió de mini-Unix porque era lo suficientemente pequeño, para que alguien que no fuera un maestro en sistemas operativos pudiese entender la forma en que trabajaba.
Además de la ventaja de eliminar los problemas legales, MINIX tenia otra ventaja sobre Unix. Aquél se escribió una década después de Unix y se estructuro en forma más modular. El sistema de archivos de MINIX, por ejemplo, no era parte del sistema operativo en absoluto, y corría como un programa de usuario. Otra diferencia es que Unix se diseñó para ser eficiente; MINIX se diseñó para ser legible (en vista de que se puede hablar de que cualquier programa de 12649 líneas es legible). El código de MINIX, por ejemplo, tenia más de 3000 comentarios en él.
MINIX se diseño para ser compatible con la versión 7 (V7) de Unix. La versión 7 se utilizó como modelo debido a su simplicidad y elegancia. A veces Se dice que la versión 7 no solo fue una mejora sobre todos sus antecesores, sino que también lo es sobre todos sus sucesores.
Al igual que Unix, MINIX se escribió en lenguaje de programación C y tenia como objetivo ser fácil de portar a diversas computadoras. La implementación inicial se hizo en la IBM PC, puesto que esta computadora tenia un uso extenso. Apegándose a la filosofía de "lo pequeño es bello", MINIX no requería de un disco duro para correr, con lo cual se ajustaba a los presupuestos de muchos estudiantes. MINIX al estar disponible para cualquier estudiante de Ciencias de la Computación del mundo, pronto creo una legión de seguidores, incluyendo sus propios grupos de noticias de USENET.
Para el usuario promedio que se sentaba frente a una IBM PC, la ejecución de MINIX era muy similar a utilizar cualquier sistema Unix. Muchos de los programas usuales en Unix, como cat, grep, ls, make y el shell estaban presentes y realizaban las mismas funciones que sus contrapartes de Unix. Al igual que el sistema operativo mismo, todos estos programas de servicio se escribieron completamente de la nada por parte del autor, sus alumnos y algunas otras personas.
Toda esta una referencia para que conozca la juventud informática uno de los inicios de la revolución informática de software libre en la que ahora vivimos.





En 1991 un alumno de la universidad de Helsinki llamado Linus Benedict Torvalds estudiante de computación escribe el código fuente del kernel de un sistema operativo basado en Minix y lo publica en internet desde ese momento un ejercito de programadores de todo el mundo se dispone a mejorar y actualizar la idea de base de Linus Torvalds siendo este el que tiene la ultima palabra de lo que se añade o no al código fuente del kernel.Así desde 1991 hasta hoy este kernel o nucleo de sistema es Linux.
Espero que os haya gustado la lectura es un simple copia y pega pero ayuda a comprender de donde viene GNU/Linux la proxima sera ¿Porque se llama GNU/Linux?

1 comentario:

Anónimo dijo...

He visto esta pagina de casualidad muy buena lectura habia oido hablar de linux pero no sabia su historia.