BSD frente a Linux 2

Esto es sólo una traducción, yo no soy el autor.

Artículo original en:
http://www.over-yonder.net/~fullermd/rants/bsd4linux/02

Los contrincantes

Haré un pequeña introducción de los sistemas de los que voy a hablar. Notese que la información no es exhaustiva.

Unix

Unix no es exactamente un sistema operativo. Bueno, lo es y no lo es.

En el uso específico, Unix es un sistema operativo desarrollado originalmente a finales de los 60, en los Laboratorios Bell, por Ken Thompson y Dennis Ritchie. Desde entonces se ha mejorado y distribuido como un sistema operativo comercial y un sistema operativo experimental para la investigación, por los Laboratorios Bell, USG, USDL, Atis, USL, Novell y SCO, y todo el que haya podido inventarse un acrónimo.

Probablemente no es exagerar demasiado decir que Unix es el sistema operativo más influyente en la computación moderna. Todos los dispositivos de computación de uso general que encuentre, y una gran cantidad de dispositivos de computación de propósito específico, utilizan conceptos y a menudo el código de algo de la familia Unix.

Cuando usamos la palabra “Unix”, muy a menudo entendemos Unix de la forma general y no el sistema operativo específico que lleva el nombre de Unix. La forma general de Unix significa “Cualquier sistema operativo que, en el diseño, la ejecución, la interfaz y en general actua de manera identica al sistema Unix.” Eso significa que todos los BSD, SunOS, Linuxen, Tru64, SCO, IRIX, AIX, HP/UX, y un elenco de cientos o miles de otros.

No me interesa entrar en discusiones semánticas. Basta con decir que al utilizar frases como “sistemas Unix”, quiero decir exactamente lo que se le viene a la cabeza cuando utilizo la frase.

Linux

Linux también significa varias cosas. Es un núcleo (kernel), escrito originalmente por Linus Torvalds cuando era un estudiante en Finlandia. Desde entonces ha sido batido a puñetazos, a patadas, a pellizcos, ha sido empujado, pinchado, masticado, digerido, escupido, pisoteado y manipulado de toda forma posible (no necesariamente en ese orden, por supuesto) por más personas de las que podrías contar.

Linux es también el término utilizado para llamar una familia de sistemas operativos. Si bien hay fascinantes discusiones filosóficas que tienen lugar en docenas de lugares en todo el mundo en este mismo instante (te lo garantizo) sobre que “Linux no es realmente un sistema operativo, que sólo es el kernel” o que “Debería llamarse GNU/Linux”, o algo por el estilo. Voy a intentar evitar ese pozo negro. Cuando digo “Linux”, me refiero a Red Hat. Quiero decir Slackware. Quiero decir Mandrake. Me refiero a Debian. Quiero decir SuSe. Me refiero a Gentoo. Me refiero a cada una de los infinidad de distribuciones que hay por ahí, que utilizan básicamente el mismo núcleo Linux y la mayoría basadas en las herramientas GNU.

BSD

BSD es un acrónimo de “Berkeley Software Distribution” (Distribución de Software de Berkeley). En un principio se trataba de un conjunto de parches y utilidades adicionales para el sistema oficial Unix de Bell, y que fueron desarrollados por el CSRG de la Universidad de California, Berkeley. Con el tiempo, empezó a cambiar y/o reemplazar cada vez más cosas del sistema, hasta que en algún punto indefinido se convirtió básicamente en su propio sistema operativo, y que compartia algunos trozos de código con el sistema Unix de Bell.

Por eso, seguía siendo necesario tener una licencia de Bell para utilizar el sistema, ya que muchas partes del código seguían siendo de Bell. Todo el código escrito por Berkeley fue liberado bajo lo que ha llegado a ser conocido como la licencia BSD, que básicamente se traduce como “Haz lo que te de la gana con el código, sólo danos el reconocimiento por haberlo escrito”. Y una buena parte del código BSD terminó por ser incorporado al sistema Unix “oficial”, llamándose System III y System V. Y mucho código de ambas versiones (Bell y BSD) se incorporaron en diferentes versiones comerciales de Unix.

Después de que el CSRG se disolviera y dejara de desarrollar el sistema BSD, varios grupos se distanciaron en el desarrollo del código. Uno de ellos fue el proyecto 386BSD, que portó el código BSD a la plataforma Intel i386. Al disolverse el proyecto 386BSD, dos grandes grupos prosiguieron con el código de 386BSD. Eran el proyecto FreeBSD y el proyecto NetBSD. Más adelante, algunos desacuerdos internos dentro del proyecto NetBSD dieron lugar a la aparición del proyecto OpenBSD por parte de la gente que se separó de NetBSD.

Cuando digo “BSD”, quiero decir una serie de cosas. Me refiero a la manera en general de BSD de enfocarse a los sistemas, tipificado por los 3 sistemas actuales de BSD disponibles gratis:

  • FreeBSD originalmente pensado para obtener el mejor rendimiento posible en la plataforma i386. Últimamente, se ha ampliado a otras plataformas, incluyendo Alpha y SPARC, así como a los herederos de i386, Itanium de Intel, y Opteron de AMD. Su principal objetivo es ser lo más robusto y eficiente como sea posible en sus diversas plataformas, tanto para las funciones de servidor y como de escritorio.
  • NetBSD tiene por objetivo funcionar en tantas plataformas como sea posible, ser el sistema operativo más portable del planeta. Y parece que han hecho un trabajo bastante razonable al respecto.
  • OpenBSD está enfocado principalmente (algunos dirán únicamente) en la seguridad y temas relacionados. Su principal objetivo es una buena integración de la seguridad, de la auditabilidad (posibilidad de realizar auditorías), de la criptografía y temas relacionados.

Todos esos objetivos por supuesto son filosóficos. Cada BSD se preocupa y trabaja en la seguridad. Cada BSD se preocupa y trabaja en el rendimiento. Cada BSD se preocupa y trabaja en la portabilidad. Enormes cantidades de código son compartidas entre los grupos. Muchos de los desarrolladores trabajan en más de un sistema.

Algún lector avispado habrá notado que no he mencionado Mac OS X o Darwin, que es sobre lo que esta basado. Mientras que están basadas en sus bases principalmente en BSD, las capas superiores del OS X es puro Apple. Ejecutar OS X, como usuario, es por lo general utilizarlo como MacOS, no como BSD. Así que mientras que algo de esto podría ser aplicable académicamente para OS X, no tiene ningún valor práctico en la comprensión del mismo. Darwin está más cerca del estándar BSD, pero la mayor parte de sus usuarios son gente que procede de BSD, así que están fuera de este ensayo. Sin embargo, gran parte de la información general es probable que sea transferible fácilmente.

Al discutir en este ensayo detalles específicos, voy a referirme mayoritariamente a FreeBSD, porque es lo que yo uso personalmente y, con mucho, con el que estoy más familiarizado. En puntos muy concretos, habrá diferencias significativas, pero en los detalles generales, es más que probable que sea igual en todo el grupo BSD.

Filosóficamente, todos los BSD son muy similares, en contraste con la metodología Linux. Y de todos modos, la filosofía es lo que este ensayo trata en primer lugar.

Ver también:
BSD frente a Linux 1

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s