You are on page 1of 12

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.4BSD-
Lite, 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 BSD-
Lite 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.

You might also like