viernes, 7 de enero de 2011

¿Qué es BSD?



En el mundo del código abierto la palabra “Linux” suele ser utilizada como sinónimo de “Sistema Operativo” pero no es el único sistema operativo libre UNIX®. En Abril de 1999 el Internet Operating System Counter reflejaba que el 31'3% de los sistemas que ofrecían algún servicio en Internet usaban Linux y el 14.6% usaban BSD UNIX

Alguna de las empresas más grandes de Internet, como por ejemplo Yahoo!, usan BSD. El servidor de FTP con más carga en 1999 (ahora desaparecido), ftp.cdrom.com, transfería 1.4TB diariamente usando BSD. Es fácil suponer que no se trata de un nicho de mercado: BSD es un secreto bien guardado.

BSD son las siglas de “Berkeley Software Distribution”. Así se llamó a las distribuciones de código fuente que se hicieron en la Universidad de Berkeley en California y que en origen eran extensiones del sistema operativo UNIX de AT&T Research. Varios proyectos de sistemas operativos de código abierto tienen su origen en una distribución de éste código conocida como 4.4BSD-Lite. Añaden además un buen número de paquetes de otros proyectos de Código Abierto, incluyendo de forma destacada al proyecto GNU. El sistema operativo completo incluye:


  • El kernel BSD, que se encarga de la programación del tiempo de ejecución de los procesos, la gestión de memoria, el multiproceso simétrico (SMP), los controladores de dispositivos, etc. A diferecia del kernel Linux existen varios kernel BSD con diversas funciones.
  • La biblioteca C, la API base del sistema. La biblioteca C de BSD está basada en código procedente de Berkeley no del proyecto GNU.
  • Aplicaciones como las distintas shells, aplicaciones de gestión de ficheros, compiladores y enlazadores. Algunas de las aplicaciones derivan del proyecto GNU, otras no.
  • El sistema X Window, que gestiona el entorno gráfico. El sistema X Window que se usa en la mayoría de versiones de BSD es producto de un proyecto aparte, el Proyecto XFree86. Se usa el mismo código que en Linux. BSD por lo general no predetermina un “gestor de ventanas” como KDE o GNOME, aunque éstos y otros muchos esten disponibles.
  • Muchos otros programas y utilidades.

Los sistemas operativos BSD no son clones sino derivados de código abierto del sistema operativo de AT&T Research, el cual es a su vez ancestro del moderno UNIX System V. Ésto puede sorprenderle. ¿Cómo puede haber sucedido esto si AT&T jamás ha liberado su código?

Cierto es que AT&T UNIX no es código abierto y que en un sentido estricto de copyright BSD no es en absoluto UNIX, pero por otra parte AT&T ha incluído fuentes de otros proyectos, teniendo como caso notable el Computer Sciences Research Group de la Universidad de Berkeley, California. En 1976 el CSRG comienza a distribuir su software en cintas, dándoles la denominación Berkeley Software Distribution, o BSD.

Las primeras distribuciones BSD consistían principalmente en aplicaciones de entorno de usuario (“userland”) pero la situación cambió de modo drástico cuando el CSRG firmó un contrato con la Agencia de Investigación de Proyectos Avanzados (DARPA) para mejorar los protocolos de comunicación en su red ARPANET. A los nuevos protocolos se les dió el nombre de Internet Protocols, y más adelante TCP/IP, que más tarde se habrían de covertir en los protocolos más importantes. La primera implementación ampliamente distribuída lo fué como parte de 4.2BSD, en 1982.

Durante la década de los 80 comienzan a surgir compañías que ofrecían estaciones de trabajo. La mayoría optó por adquirir licencias de UNIX en lugar de desarrollar sistemas operativos ellos mismos. En particular Sun Microsystems adquirió una licencia de UNIX e implementó una versión de 4.2BSD, a la que llamaron SunOS. Cuando la propia AT&T fué autorizada para vender UNIX iniciaron una implementación un tanto rudimentaria llamada System III, seguida rápidamente por System V. El código base de System V no incluía capacidad de trabajo en redes, de manera que todas sus implementaciones habían de usar software de BSD, incluyendo TCP/IP, así como aplicaciones como la shell csh y el editor vi. En conjunto esas inclusiones fueron conocidas como las Berkeley Extensions.

Las cintas BSD contenían código fuente de AT&T y en consecuencia requerían una licencia de código UNIX. Hacia 1990 al CSRG se le retiran los fondos y se enfrenta al cierre. Algunos de los miembros del grupo deciden distribuír el código BSD, que era Código Abierto, sin el código propiedad de AT&T. Finalmente ésto sucede con la Networking Tape 2, más conocida como Net/2. Net/2 no era un sistema operativo completo: faltaba aproximadamente un 20% del código del kernel. Uno de los miembros del CSRG, William F. Jolitz, escribió el código restante y lo distribuyó a comienzos de 1992 como 386BSD. Al mismo tiempo otro grupo de antíguos miembros del CSRG fundaron una empresa llamada Berkeley Software Design Inc. y distribuyó una versión beta de un sistema operativo llamado BSD/386, que se basa en las mismas fuentes. El sistema operativo pasó a denominarse BSD/OS.

386BSD jamás llegó a ser un sistema operativo estable. En lugar de ello dos proyectos surgen de él en 1993: NetBSD y FreeBSD. Ambos proyectos se forman gracias a la falta de paciencia que origina la espera de mejoras en 386BSD: el proyecto NetBSD comenzó a primeros de año y la primera versión de FreeBSD no estuvo lista hasta finales del mismo. En ese proceso el código base tomó caminos diferentes hasta tal punto que se hizo difícil de mezclar. Además los proyectos tienen objetivos diferentes, como veremos más adelante. En 1996 otro proyecto, OpenBSD, se separa de NetBSD.

Distribuciones BSD


A diferencia de las numerosas distribuciones de Linux tan sólo hay tres BSD libres. Cada proyecto BSD mantiene su propio árbol de fuentes y su propio kernel. En la práctica, sin embargo, las diferencias en el entorno de usuario (“userland”) entre los distintos BSD son menores que las que hay en Linux.

Es difícil enumerar los objetivos de cada proyecto puesto que las diferencias son muy subjetivas. En general,
  • FreeBSD tiene como meta ofrecer alto rendimiento y facilidad de uso al usuario final y es uno de los favoritos entre proveedores de contenidos web. Funciona en PC y en procesadores Alpha de Compaq. El proyecto FreeBSD cuenta con un número de usuarios significativamente mayor que los otros proyectos.
  • NetBSD tiene como meta la Portabilidad: No en vano su lema es “of course it runs NetBSD” (que podría traducirse como “claro que funciona con NetBSD”). Funciona en máquinas que abarcan desde PDAs a grandes servidores e incluso ha sido usado por la NASA en misiones espaciales. Es una excelente elección para utilizar viejo hardware no Intel.
  • OpenBSD tiene como meta la seguridad y la integridad del código: combina del concepto de código abierto y una revisión rigurosa del código que dan como fruto un sistema muy correcto, elegido por instituciones preocupadas por la seguridad como bancos, entidades de cambio y departamentos gubernamentales de los EEUU. Al igual que NetBSD funciona en gran variedad de plataformas.

Existen dos sistemas operativos BSD más que no son de código abierto, BSD/OS y el MacOS X de Apple:
  • BSD/OS es el derivado más antíguo de 4.4BSD. No es código abierto pero es posible conseguir licencias de su código fuente a un precio relativamente bajo. Se parece a FreeBSD en muchos aspectos.
  • Mac OS X es la última versión del sistema operativo para la gama Macintosh de Apple Computer Inc. El núcleo BSD Unix de éste sistema operativo, Darwin, está libremente disponible como sistema operativo de fuente abierto totalmente funcional para arquitecturas x86 y PPC. El sistema gráfico Aqua/Quartz y la mayoría de las demás aspectos característicos de Mac OS X son código cerrado. Varios desarrolladores de Darwin son también “committers” de FreeBSD y viceversa.

Más recursos: BSDWikipedia

No hay comentarios:

Publicar un comentario