Sistemas BSD y Linux

Introducción

Algunos usuarios se encontrarán con otro tipo de sistemas operativos, aún más desconocidos que el mismo Linux, estos son los BSD, como NetBSD, FreeBSD, OpenBSD, y sus derivados. En este artículo intentaremos explicar las diferencias y similitudes de estos sistemas operativos.

Los tres, FreeBSD, OpenBSD y NetBSD estan basados en BSD pero en realidad son diferentes sistemas operativos con diferente núcleo, cada sistema tiene un equipo que se encarga de él.

Las diferentes distribuciones Linux son diferentes sistemas pero con un mismo núcleo.

Ninguna persona o empresa posée BSD. Su creación y distribución es obra de una comunidad de voluntarios altamente cualificados y comprometidos a lo largo y ancho del mundo. Algunos de los componentes de BSD son proyectos de Código Abierto que cuentan con responsables ajenos al proyecto BSD.

Versiones de BSD

Cada proyecto BSD ponen a disposición pública tres “releases” (versiones) distintas. Igual que en Linux, las “releases” tienen asignado un número como por ejemplo 1.4.1 ó 3.5. Además el número de versión tiene un sufijo que indica su propósito:

  • La versión de desarrollo del sistema recibe el nombre de CURRENT. FreeBSD asigna un número a CURRENT, por ejemplo FreeBSD 5.0-CURRENT. NetBSD utiliza un sistema ligeramente diferente y añade un sufijo compuesto por una única letra que indica cambios en las interfaces internas, por ejemplo NetBSD 1.4.3G. OpenBSD no asigna ningún número (“OpenBSD-current”). ésta rama es la que incluye todo el desarrollo.

  • A intervalos regulares, entre dos y cuatro veces al año, los proyectos liberan una versión RELEASE del sistema, que está disponible en CD-ROM y mediante FTP para su descarga gratuíta, por ejemplo OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE. La versión RELEASE está dirigida al usuario final y es la versión “estándar” del sistema. NetBSD también dispone de patch releases que incluyen un tercer dígito, como por ejemplo NetBSD 1.4.2.

  • A medida que se van encontrando errores en la versión RELEASE son corregidos y las soluciones son incluídas en el árbol CVS (Concurrency Versions System, Sistema Concurrente de Versiones). En FreeBSD la versión resultante se denomina versión STABLE, mientras que en NetBSD y OpenBSD continúa siendo la versión RELEASE. Nuevas características más pequeñas pueden ser añadidas en ésta rama tras un período de pruebas en la rama CURRENT.

  • Linux, en cambio, mantiene dos árboles de código separados: la versión estable y la versión de desarrollo. Las versiones estables añaden un número par de versión, como 2.0, 2.2 ó 2.4. Las versiones de desarrollo añaden un número impar, como en 2.1, 2.3 ó 2.5. En ambos casos a ese número se le añade otro más que indica la versión exacta. Por si fuera poco cada distribuidor añade sus propios programas y aplicaciones de entorno de usuario, así que el número de versión es importante. Cada distribuidor además asigna números de versión a la distribución, así pues la descripción completa podría ser algo como “SUSE Linux 10.0 OSS con kernel 2.6.14”

Cuántas versiones de BSD existen

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 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 “por supuesto que ejecuta 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 el 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 era un derivado más antíguo de 4.4BSD. No era código abierto pero era posible conseguir licencias de su código fuente a un precio relativamente bajo. Se parecía a FreeBSD en muchos aspectos. El 31 de diciembre de 2004 se finalizó el desarrollo y venta de este sistema.

  • 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.

Diferencias y Similitudes

Nota: Al referirnos a “BSD” nos estarémos refiriendo a FreeBSD, OpenBSD, NetBSD y BSDI indistintamente. Al referirnos a “Linux” nos referiremos al núcleo o kernel.

  • BSD es un sistema operativo descendiente directo del Unix original (basados en 4.4BSD-Lite liberado del Computer Systems Research Group de la Universidad de California en Berkeley; no contiene código residual de AT&T, sin embargo es correcto llamarlo “el Unix BSD” porque en efecto lo es. Linux es un clone que no tiene ningún código AT&T y ninguna similitud con 4.4BSD-Lite, porque fue escrito desde cero, es incorrecto decir que Linux es “un Unix”, es mejor decir que es “un sistema tipo Unix”.

  • BSD son sistemas operativos completos, mantenidos por un grupo central de desarrolladores que hacen una única distribución. Linux es solamente el kernel, mantenido personalmente por Linus Torvalds con la colaboración de Alan Cox, Teo T’so, Stephen Tweedie y muchos otros; sin embargo los programas adicionales son parte de una de muchas distribuciones. Los sistemas BSD también usan mucho software GNU.

  • Los BSD son mucho más conservadores en la integración de características, y se autocalifican como “apuntando a sistemas de producción estable”. Linux es un ambiente que en ocasiones está en la punta tecnológica de la innovación, aunque siempre hay un rama estable. Cada BSD tiene un énfasis diferente: FreeBSD (Intel y Alpha, servicios generales y estaciones de trabajo), NetBSD (corre en más plataformas que Linux, servidor) y OpenBSD (varias plataformas, servidor seguro). Es mucho más complicado convertir un servidor BSD en estación de trabajo porque hay que instalar mucho software adicional desde los fuentes.

  • Como los BSD tienen una única distribución, se instalan de una sola forma. La facilidad de instalación de Linux depende de la distribución. No hay RPM, DEB ni TGZ, ni front-end gráficos para instalar paquetes: o está portado y bajas el binario en un TAR, o no está portado y deberás realizar todo el proceso manualmente (edición de archivos, ejecución de comandos, compilación, etc.)

  • BSD es relativamente desconocido entre los usuarios de software libre porque durante mucho tiempo estaba sometido a restricciones de licencia de AT&T. Como Linux no le debe código a nadie, fue el pionero en ser un “clon Unix gratutito”. Hoy en día ambos son enteramente gratis y libres, pero la licencia de BSD es más permisiva que la licencia GPL de la Free Software Foundation, bajo la cual esta desarrollado Linux.

  • Hay muy pocas aplicaciones comerciales nativas para BSD, comparadas con las disponibles para Linux. Ejemplos son: Oracle, Informix, StarOffice, Acrobat Reader y Realplayer. Sin embargo BSD puede emular ejecutables Linux y en consecuencia ejecutar las aplicaciones sin mayores problemas. Linux no corre binarios de BSD, básicamente porque todo lo que hay para BSD existe para Linux en código fuente.

  • Como la base de usuarios es menor en BSD, es mucho más difícil tener controladores (drivers) para los nuevos dispositivos. Los drivers Linux no son compatibles con los de BSD, con lo que no es tan simple reescribirlos. Sin embargo, recordando el punto 3, los BSD tienen un soporte excelente para hardware “serio” (el SCSI, es notablemente rápido, y el IDE es bastante regular; las tarjetas de red PCI 3Com o WD funcionan mucho mejor que en Linux, pero las NE2000 y cualquier basura programable I/O sin DMA ni mapeo de memoria no es tan agradable de tener.

  • Los BSD usan el FFS (Fast File System) derivado del original escrito por Kirk McKusick; Linux usa ext2, una reimplementación desde cero del original de Kirk, escrito por Stephen Tweedie y Teo T’so sobre unos fuentes de Minix. También Linux usa ext3, RiserFS, y muchos más. Pero Linux ha copiado los ACL y los bits de seguridad de BSD. Linux soporta muchos más sistemas de archivo que los BSD.

  • Los argumentos pro-BSD basados en el manejo de memoria son absolutamente ciertos hasta que 2.4 se estabilice completamente. La escalabilidad de los dos es más o menos igual, salvo quizás en plataforma Alpha y UltraSparc donde BSD es completamente 64 bits, mientras Linux es 32/64. Sin embargo, BSD no puede funcionar en escenarios de memoria escasa ni tiene soporte adecuado para trabajar en dispositivos embebidos.

  • Los argumentos pro-BSD de la seguridad son relativos. Como BSD tiene una única distribución, se hacen muchos esfuerzos en verificar el código de todo, mientras que Linux no se preocupa más allá del kernel, siendo responsabilidad de las distribuciones incluir versiones estables y verificadas. De manera que en el primer caso se trata de que hay una sola tribu haciendo flechas, mientras que en la segunda hay una relación de codependencia entre varias tribus. En particular OpenBSD se esfuerza en asegurar la máxima seguridad de su distribución, y para ello usualmente tiene versiones viejas de muchos paquetes comparados con lo que uno puede encontrar en Linux y otros BSD.

  • El modelo “todo del mismo proveedor” de BSD implica que las actualizaciones son mucho más sencillas de gestionar de lo que con frecuencia son en Linux. BSD maneja las actualizaciones de versiones de bibliotecas suministrando módulos de compatibilidad para versiones anteriores, de modo que es posible ejecutar binarios con varios años de antiguedad sin problemas.

  • El ciclo de desarrollo e innovación en Linux es mucho más rápido que el de los BSD, y por eso aparece soporte a muchos más dispositivos y funcionalidades que en BSD. Esto no quiere decir que todas sean útiles para todo el mundo, ni que tengan todas el mismo grado de calidad y estabilidad. BSD es mucho más pausado en su evolución.

Derivados

  • DesktopBSD: Es un sistema operativo basado en FreeBSD y el live cd FreeSBIE. Su principal meta es proporcionar un sistema operativo de escritorio que sea fácil de utilizar, pero con toda la funcionalidad y potencia de BSD. A largo plazo, DesktopBSD desea construir un sistema operativo que reuna la mayoría de los requisitos que los usuarios de escritorio tienen, como la instalación de software, configuración de la administración de energía o compartir una conexión del Internet.

    http://www.desktopbsd.net/

  • DragonFly BSD: Es un sistema operativo y un ambiente diseñado para ser la continuación lógica de la serie de sistemas operativos FreeBSD-4.x. DragonFly BSD es una bifurcación en el camino, dando a la base BSD una oportunidad de crecer en una completa nueva dirección de la que esta tomando la serie FreeBSD-5.

    http://www.dragonflybsd.org/

  • FreeSBIE – FreeBSD Live CD: FreeSBIE es un sistema live-cd, o un sistema operativo que tiene la capacidad para cargarse directamente desde un cd arrancable, sin ningun proceso de instalación, sin necesidad de algún disco duro. Se basa en el sistema operativo FreeBSD. Las metas del proyecto FreeSBIE son principalmente dos: desarrollar un conjunto de programas que puedan ser usados para crear su propio CD, con toda la personalización que desee, y hacer varias imágenes de la ISO disponibles, quizás cada una con diversas metas y usos posibles. El proyecto es desarrollado por el grupo de usuario italiano principal de FreeBSD: GUFI.

    http://www.freesbie.org/

  • Frenzy: Es una caja de herramientas del administrador de sistema portable, un live CD basado en FreeBSD. Contiene generalmente el software para las pruebas de hardware, chequeo del sistema de archivos, chequeo de la seguridad y configuración y análisis de la red.

    http://frenzy.org.ua/

  • GuLIC-BSD: Es un live CD de FreeBSD basado en FreeSBIE y diseñado por españoles.

    http://lebrillo.osl.ull.es/projects/gulicbsd/

  • m0n0wall: Es un proyecto animado en crear un paquete de software de cortafuego completo, proporciona todas las características importantes de las cajas comerciales de cortafuegos. m0n0wall se basa en una versión de FreeBSD.

    http://www.m0n0.ch/wall/

  • MirOS Project: MirOS apunta a los servidores pequeños y los sitios de trabajo de los desarrolladores; es un sistema operativo pequeño, muy seguro, completamente libre. MirOS BSD es un derivado de OpenBSD y NetBSD y funciona actualmente sobre i386 y SPARC – PPC pronto.

    http://mirbsd.mirsolutions.de/

  • PC-BSD: Tiene como metas ser fácil de instalar y usar el sistema operativo de escritorio, basado en FreeBSD. Para lograr esto, tiene actualmente una instalación gráfica, que permitirá a los principiantes de UNIX instalarlo y conseguir fácilmente que funcione. También vendrá con KDE pre-compilado, para poder utilizar el escritorio inmediatamente. Actualmente está en desarrollo un programa gráfico para la instalación de software, que hará la instalación de software pre-compilado tan fácil como en otros sistemas operativos populares.

    http://www.pcbsd.org/

  • pfSense: es un sistema operativo derivado de m0n0wall. Utiliza filtro de paquetes, FreeBSD 6.x (o DragonFly BSD cuando este terminado), y un administrador de paquetes de sistema integrado para extender el ambiente con nuevas características.

    http://www.pfsense.com/

Conclusión

Se puede escoger entre cualquiera de ellos porque el problema no está en la herramienta sino en la habilidad del usuario y en la capacidad de explorar las facilidades que tiene en un tiempo corto y sin arriesgar la instalación. Un administrador Unix que no es capaz de usar uno diferente al acostumbrado, no es más que un simple “usuario avanzado de cierta distribución”.

FreeBSD ha resultado más rápido que Linux en un servidor Web con Perl y mod_perl en una simulación de 200 hits simultáneos. FreeBSD ha resultado más rápido que Linux en un servidor de archivos NFS, en un ambiente 100% Unix de desarrollo. Sin embargo Linux ha resultado mucho más rápido que FreeBSD en una estación de trabajo multimedia para acceso a Internet.

Como conclusión podemos indicar que ambos sistemas operativos son seguros, rápidos, estables, ajustables a las necesidades del usuario, los dos están basados en estándares, los dos interoperan, los dos dan independencia, y principalmente, ambos son sistemas operativos Libres.

Escoger uno u otro es una cuestión de experiencia de uso y de gusto.

Fuente.

4 comentarios en “Sistemas BSD y Linux

  1. Excelente publicacion. Muy buena de verdad! Deberian haber muchas mas publicaciones de este tipo de tecnologia y otras mas!

  2. Soy tecnico en electronica, me dedico al mantenimiento de pc´s y he encontrado en el software libre interesantes alternativas al soft de paga, encontre tu articulo, me ayudo mucho a comprender el origen de los sistemas libres las propuestas que hay. Exitos sigue adelante con contenidos de esta calidad.

Deja un comentario