SISTEMAS BASADOS EN BSD

Existe un número de sistemas operativos tipo UNIX, basados o que son descendientes de las variantes BSD (Berkeley Software Distribution). Los tres más notables descendientes actualmente usados son FreeBSD, OpenBSD, y NetBSD, los cuales son derivados del 386BSD y del 4.4BSDLite, por varias rutas. Ambos NetBSD y FreeBSD se iniciaron en 1993, initialmente derivados de 386BSD, pero en 1994 emigraron al código base de 4.4BSD-Lite. OpenBSD, en 1995, fue un fork de NetBSD. Otros derivados notables incluyen a DragonFly BSD, el cual fue un fork de FreeBSD 4.8, y Mac OS X de Apple, basado en Darwin BSD e incluyendo gran cantidad de código derivado de FreeBSD. La mayor parte de los sistemas operativos BSD son de código abierto y están disponibles para descargarse, libre de cargo, bajo la Licencia BSD, la más notable excepción la constituye Mac OS X. Ellos generalmente también utilizan una arquitectura de núcleo monolítico, menos Mac OS X y DragonFly BSD, los cuales poseen núcleos híbridos. Varios proyectos open source de BSD generalmente desarrollan el núcleo y el espacio de usuario de los programas y bibliotecas, el código fuente es administrado utilizando un único repositorio central de fuentes. En el pasado, BSD fue también usado como base para varioas versiones propietarias de UNIX, tales como SunOS de Sun Microsystems, Dynix de Sequent Computer Systems, NeXTSTEP de NeXT, Ultrix de Digital Equipment Corporation (DEC) y OSF/1 AXP (ahora Tru64 UNIX). De éstos, sólo el último es aún soportado como en su forma original. Partes del software de NeXT se convirtió en la base de Mac OS X, entre las variantes más comercialemente existosas de BSD en el mercado general.

1.3.1 DARWIN Darwin es el sistema que subyace en Mac OS X, cuya primera versión final salió en el 2001 para funcionar en computadoras Macintosh. Integra el micronúcleo Mach y servicios de sistema operativo de tipo UNIX basados en BSD 4.4 (en particular FreeBSD) que proporcionan una estabilidad y un rendimiento mayor que el de versiones anteriores de Mac OS. En realidad, se trata de una evolución del sistema operativo NEXTSTEP (basado en el núcleo Mach 2.5 y código BSD 4.3) desarrollado por NeXT en 1989 para correr en los ordenadores NeXT, llamados 'black boxes', comprado por Apple Computer en diciembre de 1996.

Darwin proporciona al Mac OS X prestaciones modernas, como la memoria protegida (protección de memoria), la multitarea por desalojo o expulsiva, la gestión avanzada de memoria y el multiproceso simétrico.

1.3.2 FREEBSD FreeBSD es un sistema operativo libre para computadoras basado en las CPU de arquitectura Intel, incluyendo procesadores 386, 486 (versiones SX y DX), y Pentium. También funciona en procesadores compatibles con Intel como AMD y Cyrix. Actualmente también es posible utilizarlo hasta en once arquitecturas distintas[2] como Alpha, AMD64, IA-64, MIPS, PowerPC y UltraSPARC.

FreeBSD está basado en la versión 4.4 BSD-Lite del Computer Systems Research Group (CSRG) de la University of California, Berkeley siguiendo la tradición que ha distinguido el desarrollo de los sistemas BSD. Además del trabajo realizado por el CSRG, el proyecto FreeBSD ha invertido miles de horas en ajustar el sistema para ofrecer las máximas prestaciones en situaciones de carga real. La mascota del sistema operativo es Beastie. Características FreeBSD es un sistema operativo multiusuario, capaz de efectuar multitarea con apropiación y multiproceso en plataformas compatibles con múltiples procesadores; el funcionamiento de FreeBSD está inspirado, como ya se dijo, en la variante 4.4 BSDLite de UNIX. Aunque FreeBSD no puede ser propiamente llamado UNIX, al no haber adquirido la debida licencia de The Open Group, FreeBSD sí está hecho para ser compatible con la norma POSIX, al igual que varios otros sistemas "clones de UNIX". El sistema FreeBSD incluye el núcleo, la estructura de ficheros del sistema, bibliotecas de la API de C, y algunas utilidades básicas. La versión 6.1 trajo importantes mejoras como mayor apoyo para dispositivos Bluetooth y controladores para tarjetas de sonido y red. La versión 7.0, lanzada el 27 de febrero del año 2008, incluye compatibilidad con el sistema de archivos ZFS de Sun y a la arquitectura ARM, entre otras novedades.

Versiones

Distribución

Terminal FreeBSD: pantalla de bienvenida. Los instaladores, código fuente y paquetes del sistema operativo FreeBSD se distribuyen de manera gratuita al público, en forma de archivos e imágenes ISO disponibles en servidores FTP y a través de la WWW. También es posible comprarlos en forma de CD-ROM o DVD de algunos distribuidores, principalmente en los Estados Unidos.

Instalación La instalación del sistema FreeBSD puede ser iniciada de varias formas. La más común es la utilización de un CD-ROM o DVD auto-arrancable, o utilizando un juego de 2 ó 3 disquetes (en función de la versión que se desea instalar), o incluso mediante red utilizando el estándar PXE. Todas ellas arrancan la computadora con un sistema FreeBSD abreviado, y llevan a la misma utilidad sysinstall. La utilidad sysinstall es la encargada de instalar realmente el sistema operativo, y posee varias alternativas. A saber, instalar el sistema utilizando los datos disponibles en un dispositivo de almacenamiento local (CD-ROM, DVD, directorio en un sistema de archivos FAT, etc.), u obteniéndolos desde un sitio remoto a través de un protocolo de transferencia de archivos (HTTP, FTP, NFS, etc.). Gestión de programas FreeBSD al igual que varios otros sistemas inspirados en BSD, provee de manejo semi-automatizado de paquetes distribuidos en formato comprimido (en formato tar.bz o .tbz). Además de eso, y al igual que NetBSD y OpenBSD, FreeBSD provee para conveniencia del usuario, de un eficiente sistema de gestión de paquetería llamado ports. Los ports son un conjunto de comandos por lotes, que especifican exactamente los requisitos, lo que se debe hacer para compilar el código fuente y lo necesario para instalar la versión ejecutable de un determinado paquete de software en el sistema. Existen miles de programas libres y comerciales hechos para sistemas como Linux, que también tienen versiones en FreeBSD. Debido a que muchos de los paquetes están ya compilados y preparados por los participantes del proyecto FreeBSD, éstos pueden ser instalados simplemente seleccionándolos en una interfaz provista por el sistema operativo, y copiados directamente desde un servidor HTTP o FTP. Compatibilidad con GNU/Linux FreeBSD es compatible con binarios de varios sistemas operativos del tipo Unix, incluyendo Linux. La razón de esto es la necesidad de ejecutar aplicaciones desarrolladas para Linux, en las que el código fuente no se distribuye públicamente y, por tanto, no pueden ser portadas a FreeBSD. Algunas de las aplicaciones usadas bajo esta compatibilidad la versión de Linux de Adobe Flash Player, Linux-Firefox, Linux-Opera, Netscape, Adobe Acrobat, RealPlayer, VMware, Oracle, WordPerfect, Skype, Doom 3, Quake 4, Unreal Tournament, SeaMonkey y varias más. Generalmente no se siente pérdida de rendimiento, y funcionan igual de rápido que las versiones nativas. Incluso puede ser más veloz ejecutar un binario de Linux en FreeBSD, que un binario nativo (como en el caso de Firefox, no obstante es muy relativo ya que FreeBSD compila el código y Linux en la mayoría de las

distros no, pero si compilara, obtendría una funcionalidad similar al de FreeBSD, unos programas funcionan mejor en Linux mientras que otros en FreeBSD). Si bien algunas aplicaciones funcionan perfectamente, otras se ven limitadas debido a que la capa de compatibilidad solo incluye las llamadas de sistema del núcleo Linux 2.4.2, una versión antigua. Una emulación incompleta del núcleo Linux 2.6 está incluida en FreeBSD 7.x, aunque todavía no viene activada por defecto. FreeBSD 8.x implementa compatibilidad con las llamadas nativas del nucleo linux 2.6 y el conjunto de librerias base de Fedora 10. 1.3.3 NETBSD NetBSD es un sistema operativo de la familia Unix (en sí no se le puede llamar "un Unix", ya que ésta es una marca comercial de AT&T, pero se denomina como "sistema de tipo UNIX" o "derivado de UNIX"), open source y libre, y, a diciembre de 2008, disponible para más de 56 plataformas hardware.[1] Su diseño y sus características avanzadas lo hacen ideal para multitud de aplicaciones. NetBSD ha surgido como resultado del esfuerzo de un gran número de personas que tienen como meta producir un sistema operativo tipo Unix accesible y libremente distribuible.

Historia NetBSD toma su nombre de la versión 4BSD/Tahoe-Net/1 de los BSD, pues sobre ellos se desarrolló el protocolo TCP/IP, el protocolo más importante en Internet. NetBSD, al igual que FreeBSD, se deriva de la última versión de los BSD, la 386BSD 0.1. El primer release de NetBSD (la versión 0.8) vio el mundo el 20 de Abril de 1993. Características NetBSD está basado en una gran variedad de software de libre distribución que incluye entre otros, a 4.4BSD Lite de la Universidad de California-Berkeley, a Net/2

(Berkeley Networking Release 2) el sistema de ventanas X del MIT y software de GNU. Actualmente NetBSD se centra en ofrecer un sistema operativo estable, multiplataforma, seguro y orientado a la investigación. Está diseñado teniendo como prioridad escribir código de calidad y bien organizado, y teniendo muy en cuenta también el cumplimiento de estándares (POSIX, X/Open y otros más relevantes): prueba de este buen diseño es su amplia portabilidad. Se trata de un sistema operativo maduro, producto de años de desarrollo (los orígenes de BSD están sobre el año 1977), y partiendo del sistema UNIX sexta edición. Ventajas Algunas ventajas sobre otros sistemas operativos:
• • • • • •

Foco especial en la calidad y portabilidad de código. Portado a 56 arquitecturas. Suele ser el pionero en implementar nuevas tecnologías (por ejemplo IPv6). Alta seguridad y estabilidad. Fue usado en la NASA. Sistema de ficheros BSD FFS (Fast File System), rápido y fiable. Seguridad: soporte de IPsec. XEN Dom0: soporte nativo de máquinas virtuales XEN en versión 3.0 .

Portabilidad NetBSD ha sido portado a un gran número de arquitecturas de computadores, desde minicomputadores VAX a PDAs Pocket PC; el lema de NetBSD es "Of course it runs NetBSD"" (por supuesto, funciona con NetBSD). El núcleo y el espacio de usuario para todas las plataformas soportadas (que comprenden alrededor de una veintena de diferentes procesadores) se compilan desde un árbol de código central y unificado gestionado con CVS. Debido a la gestión de código fuente centralizada y a un diseño altamente portable, las adiciones de funcionalidad general (no específicas de un hardware en concreto) benefician a todas las plataformas inmediatamente sin necesidad de "portarlas". Controladores de dispositivos El desarrollo de controladores de dispositivos es también con frecuencia independiente del hardware. Es decir, el controlador para un dispositivo PCI funcionará independientemente de que tal dispositivo esté instalado en un i386, Alpha, PowerPC, SPARC o cualquier otra plataforma con buses PCI. Muchos controladores de NetBSD también tienen el código específico de un cierto bus

dividido en subcontroladores de bus, permitiendo a un mismo controlador para un dispositivo específico operar via diferentes buses (por ejemplo ISA, PCI, PCMCIA...). Esta independencia de plataforma ayuda gratamente al desarrollo de dispositivos empotrados, especialmente desde la aparición en NetBSD 1.6 de la compilación cruzada: Compilación cruzada Empezando en NetBSD 1.6, el juego de herramientas completo de compiladores, ensambladores, enlazadores y otras soportan completamente la compilación cruzada, permitiendo compilar un sistema NetBSD completo para una arquitectura desde otro sistema de diferente arquitectura (usualmente más potente), incluso de diferente sistema operativo (el framework de compilación cruzada soporta cualquier sistema POSIX).

1.3.4 OPENBSD OpenBSD es un sistema operativo libre tipo Unix multiplataforma,

basado en 4.4BSD. Es un descendiente de NetBSD, con un foco especial en la seguridad y la criptografía. Este sistema operativo, se concentra en la portabilidad, cumplimiento de normas y regulaciones, corrección, seguridad proactiva y criptografía integrada. OpenBSD incluye emulación de binarios para la mayoría de los programas de los sistemas SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS y HP-UX. Se distribuye bajo la licencia BSD, aprobada por la OSI.

Historia OpenBSD se creó como un fork de NetBSD debido a las diferencias filosóficas y personales entre Theo de Raadt y los demás miembros fundadores de NetBSD. Dejando aparte el hecho de que la seguridad sea la principal razón para que OpenBSD exista, el proyecto también tiene otras metas. Siendo un descendiente de NetBSD, es un sistema operativo muy portable. Actualmente corre sobre 17 plataformas distintas[1] de hardware. Versión actual La versión actual es la 4.6,[2] liberada el 18 de octubre de 2009. Siguiendo su política de liberación cada 6 meses, la nueva versión estará lista para abril de 2010. Licencia Una de las metas del proyecto OpenBSD es «mantener el espíritu del copyright original Berkeley Unix», que permitía «una fuente de distribución relativamente libre de restricciones». Con este fin, la licencia Consorcio de sistemas de internet (ISC), una versión simplificada de la licencia BSD sin formalismos innecesarios según la Convención de Berna, se adopta para el nuevo código, aunque se aceptan las licencias MIT o BSD. La licencia GNU (GPL) se consideraba demasiado restrictiva en comparación con éstas: el código licenciado bajo la GNU, y bajo otras licencias que el proyecto considera poco deseables, no se acepta para su incorporación al sistema básico. Además el código existente bajo estas licencias es reemplazado o relicenciado cuando se puede de forma intensiva, aunque algunos casos como el compilador GCC tienen reemplazo difícil y la creación de uno se considera prioritario (ver proyecto PCC - Portable C Compiler). A pesar de ello OpenBSD ha hecho importantes avances: de especial interés es el desarrollo de OpenSSH, basado en el paquete SSH original y desarrollado por el equipo OpenBSD. Apareció por primera vez en OpenBSD 2.6,[3] actualmente es la implementación sencilla de SSH más extendida, disponible como estándar o como

opción en muchos sistemas operativos. Es interesante mencionar el desarrollo, tras las restricciones de licencia sobre IPFilter, del filtro de paquetes PF, que aparece por primera vez en OpenBSD 3.0[4] y actualmente está disponible en DragonFlyBSD, NetBSD y FreeBSD. Posteriormente se han ido incluyendo en OpenBSD los equivalentes de las aplicaciones GPL diff, grep, gzip, bc, dc, nm y size, pero con licencias BSD. Los desarrolladores de OpenBSD también están detrás del desarrollo de OpenBGPD, OpenOSPFD, OpenNTPD y OpenCVS, alternativas a software existente con licencias BSD. En junio de 2001, y debido a modificaciones de Darren Reed en la redacción de la licencia de IPFilter, se lleva a cabo una auditoría sistemática de las licencias de los códigos fuentes de OpenBSD. Se encontró código fuente sin licencia, licenciado de forma ambigua o utilizado en contra de los términos de licencia en más de cien archivos. Para asegurar que las licencias se habían aplicado de forma correcta se intentó contactar con los poseedores de los copyright originales: algunos trozos de código fueron eliminados, otros fueron reemplazados, y otros, incluyendo las herramientas de rutinas multicasting, mrinfo y map-mbone, que estaban licenciadas por Xerox sólo para investigación, fueron relicenciadas de forma que OpenBSD pudiese seguir utilizándolas. También es destacable que durante esta auditoría se eliminó todo el software de Daniel J. Bernstein del árbol de fuentes. Bernstein pidió que toda versión modificada de su código debía ser aprobada por él antes de distribuirlo, una petición en que los desarrolladores de OpenBSD no estaban dispuestos a invertir esfuerzos. Aún tras la publicación de OpenBSD 3.8, no existe software de Bernstein en las fuentes. Seguridad Hasta junio de 2002, el sitio web de OpenBSD ostentaba el eslogan: «Ningún fallo de seguridad remoto en la instalación por defecto en los últimos 6 años». Esto debió ser cambiado por: «Un solo agujero de seguridad en la instalación por defecto, en más de 8 años», después de que se encontrara un agujero en OpenSSH y posteriormente por: «Sólo dos agujeros de seguridad en la instalación por defecto, en más de 10 años», al encontrase un fallo en el módulo de IPv6. Alguna gente ha criticado este lema, ya que casi nada está activado en la instalación por defecto de OpenBSD, y las versiones estables han incluido software en el que posteriormente se encontraron agujeros de seguridad. El equipo de programadores de OpenBSD mantiene que el eslogan se refiere una instalación por defecto del sistema operativo, y que es correcto ajustándose a su definición. Uno de las innovaciones fundamentales del proyecto OpenBSD es introducir el concepto del sistema operativo "Seguro por Defecto". Según la ciencia de la seguridad informática, es estándar, y además fundamental, activar la menor cantidad posible de servicios en máquinas que se encuentren en producción. Aun con todo, incluso sin tener en cuenta esta práctica, OpenBSD es un sistema extremadamente seguro y estable. Como parte de una limpieza de cadenas,[6] todas las apariciones de strcpy, strcat, sprintf y vsprintf en el código han sido sustituidas por variantes más seguras, tales

como strlcpy, strlcat, snprintf, vsnprintf y asprintf. Adicionalmente a sus permanentes auditorías de código, OpenBSD contiene criptografía fuerte. Más recientemente, muchas nuevas tecnologías han sido integradas en el sistema, incrementando aún más su seguridad. Desde la versión 3.3,[7] ProPolice está activado por defecto en el compilador GCC, garantizando protección adicional ante ataques de desbordamiento de pila. En OpenBSD 3.4,[8] esta protección fue activada también en el kernel. OpenBSD también implementa el sistema W^X (pronunciado W XOR X), que es un esquema de gestión de memoria de gran detalle, que asegura que la memoria es editable o ejecutable, pero jamás las dos, proveyendo así de otra capa de protección contra los desbordamientos de búfer. Separación de privilegios, revocación de privilegios y carga de librerías totalmente aleatoria también contribuyen a aumentar la seguridad del sistema. En Mayo de 2004, OpenBSD/sparc fue más allá en la protección de la pila, añadiendo StackGhost. Un analizador estático de dimensiones fue añadido al compilador, que intenta encontrar fallos comunes de programación en tiempo de compilación. Se puede usar Systrace para proteger los puertos del sistema. OpenBSD usa un algoritmo de cifrado de contraseñas derivado del Blowfish de Bruce Schneier. Este sistema se aprovecha de la lentitud inherente del cifrado del Blowfish para hacer la comprobación de contraseñas un trabajo muy intensivo para la CPU, dificultando sobremanera el procesamiento paralelo. Se espera que así se frustren los intentos de descifrado. Debido a todas estas características, OpenBSD se usa mucho en el sector de seguridad informática como sistema operativo para cortafuegos (llamados firewalls) y sistemas de detección de intrusos. El filtro de paquetes de OpenBSD, pf es un potente cortafuegos desarrollado a causa de problemas con la licencia de ipf. OpenBSD fue el primer sistema operativo libre que se distribuyó con un sistema de filtrado de paquetes incorporado.

Sign up to vote on this title
UsefulNot useful