← Software de libre redistribución Linux Sistema de usuarios y manejo de clave →
Introducción a Linux


GNU/Linux

editar

Lectura: GNU/Linux

editar

Un sistema operativo es un programa que facilita el empleo del hardware de un computador, lo facilita presentando abstracciones de cada dispositivo. Por ejemplo al guardar información en un disquete, el usuario puede pensar en archivos, y el sistema operativo se encarga de los detalles de acomodar y organizar la información en el disquete a nivel físico. Linux es un nucleo del sistema operativo GNU (http://www.gnu.org) tipo Unix de libre redistribución (ver licencia GPL). Unix es el nombre de un sistema operativo concebido en los 70's junto con el lenguaje de programación C por Kenneth Thompson, Dennis Ritchie y sus colegas de laboratorios Bell.

Unix se basa en varias ideas muy buenas que aún están en plena vigencia:

  • Para los creadores de Unix, un sistema operativo debería ser un conjunto de herramientas y conceptos básicos que le permitan al usuario construir rápida y fácilmente sus propias herramientas para automatizar procesos. Unix es como un juego de herramientas que puede aprovecharse al máximo con algo de estudio.
  • Otra gran idea que se ha desarrollo junto con Unix ha sido Internet, porque en este sistema se realizaron las primeras implementaciones de los protocolos de comunicación en los que se basa Internet, y aún hoy son sistemas Unix los que mantienen Internet en funcionamiento [3].
  • Otra buena idea ha sido usar y promover estándares abiertos. Hoy en día existen grupos que mantienen estándares que definen lo que es un sistema tipo Unix: Posix y The Open Group ---de hecho la palabra Unix es una marca registrada de X/Open.

Dado que sacar copias de un programa no es costoso ni difícil, y dado el carácter de Unix, desde sus comienzos este sistema ha promovido la colaboración y muchas personas han entregado al público las herramientas que han realizado para permitir su libre redistribución. En palabras del mismo Dennis Ritchie “"Lo que queríamos preservar no era sólo un buen ambiente en el cual programar, sino también un sistema alrededor del cual se formara fraternidad"” [4].

Hay incluso varios sistemas operativos tipo Unix cuyas fuentes permiten la libre copia y libre redistribución ---la mayoría se basan en Unix BSD [5]---, algunos son:

Es un descendiente de 386BSD (que a su vez es un descendiente de BSD). NetBSD se centra en portabilidad, es decir que funciona en diversos tipos de computadores.
Descendiente de NetBSD, centrado en seguridad y criptografía.
Descendiente de 386BSD, centrado en facilidad para el usuario final.
Es un kernel usado junto al sistema GNU que ha sido desarrollado de forma independiente de BSD desde 1992 por Linus Torvalds y un gran grupo de voluntarios ([1]). Otros componentes del sistema fueron tomados de BSD y otros fueron aportados por diversas organizaciones: Free Software Foundation, XFree86, Apache Foundation, etc.

Los sistemas tipo Unix han sido empleados tradicionalmente por programadores, por esto cuenta con compiladores, editores y herramientas para facilitar la programación (especialmente en lenguaje C). En el caso de Linux tales herramientas han sido desarrolladas por la Free Software Foundation (FSF). Así mismo la FSF aportó la licencia que cubre al kernel (llamada GPL) y muchos componentes del sistema GNU/Linux.

Al igual que otros sistemas operativos Unix, GNU/Linux cuenta con un sistema de ventanas que, a diferencia de otros sistemas operativos, es independiente de Unix|GNU/Linux ---es decir, puede ponerse, quitarse o cambiarse---. Tal sistema de ventanas se llama X-Window y la versión particular que se emplea en GNU/Linux se llama XFree86.

Para facilitar la adopción de Unix por parte de usuarios sin experiencia con este sistema, hay varios proyectos en marcha, los dos más conocidos son GNOME ([2]) y KDE ([3]), que funcionan sobre GNU/Linux y X-Window. Cada uno brinda un escritorio gráfico y aplicaciones de oficina como aquellas a las que están acostumbrados los usuarios de otros sistemas operativos (por ejemplo, procesador de texto, hoja de cálculo, etc).

Hay muchos otros programas que funcionan sobre GNU/Linux y que satisfacen diversas necesidades. Dada la gran cantidad y variedad de programas para GNU/Linux, hay grupos de personas dedicadas a configurar distribuciones. Una distribución de GNU/Linux es una selección de programas junto con herramientas para administrarlos e instalarlos con facilidad. Algunos nombres de distribuciones son Redhat, Mandrake, Suse, Debian o Gentoo.

Nuestra plataforma de referencia (ver Plataforma de referencia) se basa en la distribución Debian que es de alta calidad técnica y que es realizada por voluntarios del mundo entero desde 1993.

Algunas distribuciones

Mandrake se creó en 1998 para hacer Linux fácil de usar, y de hecho se considera una de las distribuciones más amigables para usuarios principiantes. En 2005 Mandrake se unió con Conectiva, creando Mandriva. Información sobre esta distribución puede encontrarse en mandriva.
Redhat y SuSe son plataformas apoyadas por grandes empresas en el mundo de la informática. Son distribuciones de dificultad intermedia.
Debian es la más o una de las distribuciones más extendidas por el mundo (si deseara información acerca de ese proyecto visite http://www.debian.org o entre en las salas irc.freenode.net/debian-es o irc.irc-hispano.org/debian). Cabe destacar su herramienta apt, que nos permite descargarnos paquetes de forma muy sencilla. Esta distribución está pensada para un usuario avanzado.
Gentoo es una distribucion que sigue la política de las antiguas distribuciones BSD. Su comportamiento es similiar a otras distribuciones como Debian, aunque se consigue algo más de optimización ya que la filosofía del proyecto de Gentoo es hacer que el software sea específicamente compilado para tu máquina. Obviamente eso deriva en tener que compilar los paquetes con el consiguiente tiempo de compilacion (llegando a ser verdaderamente grande). Se recomienda ser un usuario muy avanzado para poder utilizar esta distribución. Si desea mas informacion de esta distribucion visite http://www.gentoo-es.org o entre en los canales irc.freenode.net/gentoo-es o irc.irc-hispano.org/gentoo.

Cabe destacar la equivocada idea de llamar Linux a todo el sistema operativo GNU/Linux, pues Linux no es más que uno de sus núcleos. Toda la historia de cómo ha ido evolucionando este sistema se puede encontrar en http://www.gnu.org (esa web admite traducciones a diversos lenguajes).

El núcleo que empezó a desarrollar GNU tiene como nombre Hurd, pero aún está en fase de desarrollo (debido a su alta complejidad, al tener estructura de minikernel). Actualmente se usa Linux, más sencillo de desarrollar por su estructura de megakernel.

Lecturas recomendadas: GNU/Linux

editar
  1. Artículo de los modelos de desarrollos: catedral y bazar

Ejercicios: GNU/Linux

editar
  1. Investigue más sobre las diferencias entre GNU/Linux y otros sistemas de libre redistribución como OpenBSD o FreeBSD.
  2. ¿En que consisten los movimientos de fuentes abiertas y de software libre, y cual es su relación con GNU/Linux?
  3. ¿Qué diferencias existen entre software libre y código abierto? ¿Cuales son las 4 libertades básicas del software libre?

[3] Por ejemplo, el principal servidor de nombres en Internet es una máquina Unix (BSD), puede ver detalles sobre este servidor en http://www.isc.org/services/public/F-root-server.html

[4] Cita tomada de un artículo escrito por Dennis Ritchie sobre la historia de Unix, disponible en http://cm.bell-labs.com/cm/cs/who/dmr/hist.html

[5] BSD es el nombre de una versión de Unix desarrollado en la Universidad de Berkeley (Estados Unidos) desde los 70.

← Software de libre redistribución Linux Sistema de usuarios y manejo de clave →
Introducción a Linux