DragonFly BSD para niños
Datos para niños DragonFly BSD |
||
---|---|---|
Parte de BSD | ||
![]() Cargador de arranque de DragonFly BSD 6.2.1, UEFI
|
||
Información general | ||
Tipo de programa | BSD | |
Desarrollador | Matthew Dillon & The DragonFly Team | |
Modelo de desarrollo | Software de código abierto | |
Lanzamiento inicial | 12 de julio de 2004 (20 años, 11 meses y 27 días) | |
Licencia | BSD | |
Estado actual | Activo | |
Idiomas | Inglés | |
Información técnica | ||
Tipo de núcleo | Híbrido | |
Plataformas admitidas | x86-64 | |
Interfaz gráfica predeterminada | tcsh (root) / sh (users) | |
Sistema de gestión de paquetes | DPorts, pkg | |
Versiones | ||
Última versión estable | 6.4.1 (info) (30 de abril de 2025 (2 meses y 8 días)) | |
Enlaces | ||
Sitio web oficial
Repositorio de código
|
||
DragonFly BSD es un sistema operativo de código abierto, similar a Unix. Un sistema operativo es el programa principal que controla tu computadora, como Windows o macOS. DragonFly BSD se creó a partir de otro sistema llamado FreeBSD 4.8.
Matthew Dillon, un desarrollador que trabajó en Commodore Amiga y luego en FreeBSD, empezó a desarrollar DragonFly BSD en junio de 2003. Lo anunció en julio de 2003.
El objetivo principal de este proyecto era mejorar cómo el sistema maneja muchas tareas al mismo tiempo y cómo usa varios procesadores.
Dillon creía que los cambios que se estaban haciendo en FreeBSD 5 para manejar tareas y procesadores podrían causar problemas. Intentó solucionar esto dentro del proyecto FreeBSD. Sin embargo, tuvo algunas diferencias de opinión con otros desarrolladores de FreeBSD. A pesar de esto, DragonFly BSD y FreeBSD siguen colaborando, compartiendo soluciones a errores y mejoras.
DragonFly BSD fue diseñado para ser una continuación de la serie FreeBSD 4.x. Sin embargo, ha evolucionado mucho y ahora tiene características propias. Algunas de ellas son los "hilos ligeros del núcleo" (LWKT), un sistema de comunicación interna en el núcleo y el sistema de archivos HAMMER. Muchas de sus ideas de diseño se inspiraron en AmigaOS.
Una característica importante es que tiene su propio programa de instalación, llamado BSD Installer. Este instalador también ha sido adaptado por otras versiones de BSD.
La mascota del proyecto es una libélula, que en inglés se dice Dragonfly.
¿Cómo funciona DragonFly BSD?
El Núcleo del Sistema
El núcleo es el corazón del sistema operativo. En DragonFly BSD, el núcleo tiene un sistema especial para enviar mensajes. Este sistema es parecido a los que se usan en otros núcleos, pero es más sencillo. Puede enviar mensajes de forma rápida o más lenta, buscando siempre el mejor rendimiento.
Según el desarrollador Matthew Dillon, se está trabajando para que el sistema pueda manejar mejor la entrada y salida de datos (como cuando guardas un archivo) y los sistemas de archivos. Esto permitirá que muchas partes del núcleo funcionen fuera de él, en un espacio de usuario. Así, serán más fáciles de revisar y corregir si hay errores. Además, si una de estas partes falla, no hará que todo el sistema se detenga.
Las instrucciones que le das al sistema (llamadas "llamadas al sistema") se dividen en versiones para el núcleo y para el usuario. Esto ayuda a que el núcleo sea más pequeño y sencillo. También facilita que las versiones futuras de DragonFly sean compatibles con las anteriores. El código para que DragonFly funcione con programas de Linux y otros sistemas similares a Unix también se está adaptando de esta manera.
Hilos de Tareas
Para que DragonFly BSD funcione bien con varios procesadores, ahora solo es compatible con la arquitectura x86-64. Antes, también funcionaba en la arquitectura x86, pero ya no. Desde la versión 1.10, DragonFly permite que cada tarea de un programa tenga su propio "hilo" en el núcleo. Esto es una solución sencilla y fácil de mantener. DragonFly también puede manejar varias tareas al mismo tiempo, una característica heredada de FreeBSD.
En DragonFly, cada procesador tiene su propio organizador de tareas. Las tareas se asignan a un procesador y no se cambian de uno a otro a menos que sea necesario. Una ventaja de esto es que cada procesador puede usar su propia memoria rápida (caché) para guardar información diferente. Esto mejora el rendimiento general del sistema.
El sistema de "hilos ligeros del núcleo" (LWKT) ayuda a dividir el trabajo entre varios hilos del núcleo. Por ejemplo, en la red, hay un hilo por cada protocolo y por cada procesador. Esto reduce la competencia por los recursos y mejora la eficiencia.
Protección de Recursos Compartidos
Cuando varios procesadores trabajan juntos, necesitan acceder a recursos compartidos, como archivos o datos. Para evitar que intenten cambiar lo mismo al mismo tiempo, DragonFly usa "secciones críticas" y "tokens de serialización". Esto asegura que solo una tarea a la vez pueda modificar un recurso. A diferencia de otros sistemas como Linux o FreeBSD 5, DragonFly no usa "mutex" (un tipo de candado digital) de la misma manera.
Gran parte del núcleo de DragonFly, incluyendo el sistema LWKT y el nuevo sistema de memoria, funciona sin bloqueos. Esto significa que cada proceso opera en un solo procesador sin necesidad de "candados". Las secciones críticas protegen contra interrupciones locales, asegurando que una tarea no sea interrumpida mientras se ejecuta.
Los "tokens de serialización" evitan que otros procesadores accedan a un recurso al mismo tiempo. Varios hilos pueden tener un token, pero solo uno de ellos se ejecutará en un momento dado. Esto evita problemas como los "interbloqueos" (cuando dos tareas se bloquean mutuamente) y simplifica el diseño del sistema. Este sistema es similar a la función "Leer-copiar-actualizar" de Linux, pero en DragonFly solo afecta a los procesadores que compiten por el mismo token.
DragonFly también usa un sistema especial para asignar memoria que no necesita bloqueos. Esto hace que la asignación de memoria sea más eficiente.
Núcleo Virtual
Desde la versión 1.8, DragonFly tiene una función de "núcleo virtual" (vkernel). Esto permite ejecutar otro núcleo dentro del sistema, como si fuera un programa más. El núcleo virtual funciona en un entorno separado, lo que facilita probar nuevas partes del sistema sin afectar el núcleo principal.
El vkernel es diferente del núcleo real en dos cosas: no maneja directamente el hardware de bajo nivel y usa funciones de la biblioteca estándar de C (libc) siempre que puede. Esto ayuda a mantener el código organizado y separado.
El vkernel se basa en una capa de abstracción de hardware que le proporciona el núcleo real. Esto incluye el temporizador, la consola (que se muestra en la terminal virtual donde se ejecuta el vkernel), la imagen de disco y el dispositivo de red virtual.
Gestión de Programas
Puedes instalar programas en DragonFly de dos maneras: usando paquetes binarios con pkgng
o a través de una colección de "Ports" llamada DPorts.
Al principio, DragonFly usaba la colección de Ports de FreeBSD. Luego, cambió al sistema pkgsrc de NetBSD para facilitar la disponibilidad de programas. Sin embargo, mantener la compatibilidad con pkgsrc resultó ser más complicado de lo esperado. Por eso, el proyecto creó DPorts, que es una capa sobre la colección de Ports de FreeBSD.
Soporte CARP
DragonFly BSD incluye soporte para el Protocolo de Redundancia de Dirección Común (CARP). Este protocolo ayuda a que los sistemas sigan funcionando si una parte falla, asegurando que siempre haya una dirección de red disponible.
Sistema de Archivos HAMMER
Además del sistema de archivos Unix, DragonFlyBSD es compatible con los sistemas de archivos HAMMER y HAMMER2. Desde la versión 5.2.0, HAMMER2 es el sistema de archivos predeterminado.
HAMMER fue creado específicamente para DragonFly BSD. Es un sistema de archivos avanzado que permite guardar el historial de los archivos, crear "instantáneas" (copias de un momento dado), verificar la integridad de los datos y evitar duplicaciones.
HAMMER2 es la versión mejorada de HAMMER y se considera estable. Los planes para su desarrollo se compartieron en 2012. En 2017, Dillon anunció que la versión 5.0.0 de DragonFly BSD incluiría una versión experimental de HAMMER2. Con la versión 5.2.0, HAMMER2 se convirtió en el sistema de archivos predeterminado.
devfs
En 2007, DragonFly BSD recibió un nuevo sistema de archivos de dispositivos llamado devfs. Este sistema añade y elimina automáticamente los dispositivos, permite acceder a ellos por su ruta de conexión y los reconoce por su número de serie. Esto elimina la necesidad de tener una carpeta `/dev` llena de archivos predefinidos. Fue desarrollado como parte de un proyecto de Google Summer of Code en 2009.
Instantáneas de Aplicaciones
DragonFly BSD tiene una función que permite tomar una "instantánea" de la memoria de un programa después de que se carga. Esto hace que las siguientes veces que inicies ese programa, se abran mucho más rápido. Es especialmente útil para programas grandes con muchas librerías, como los de KDE.
Desarrollo y Distribución

Al igual que con FreeBSD y OpenBSD, los desarrolladores de DragonFly BSD están actualizando el código a versiones más modernas. DragonFly también incluye una protección especial contra ataques informáticos llamada "Stack-Smashing Protector (ProPolice)", que está activada por defecto.
Como DragonFly es un derivado de FreeBSD, tiene un sistema de compilación fácil de usar. Esto permite reconstruir todo el sistema desde el código fuente con solo unos pocos comandos. Los desarrolladores de DragonFly usan el sistema Git para gestionar los cambios en el código. A diferencia de FreeBSD, DragonFly tiene versiones estables e inestables en el mismo lugar, ya que su equipo de desarrolladores es más pequeño.
DragonFly incluye una herramienta para encontrar errores en el núcleo. Además, desde octubre de 2004, se instala por defecto un núcleo especial para depuración. Esto ayuda a los desarrolladores a solucionar problemas, aunque ocupe un poco más de espacio en el disco. Cuando se instala un nuevo núcleo, las copias de seguridad del anterior se limpian para ahorrar espacio.
Medios de Distribución
El sistema operativo se distribuye como un Live CD o Live USB. Esto significa que puedes iniciar DragonFly directamente desde un CD o una memoria USB sin necesidad de instalarlo en tu computadora. Incluye el sistema básico y todas las páginas de ayuda. Esto es útil para instalar el software, reparar una instalación dañada o simplemente probar el sistema. También hay versiones diarias disponibles en línea para quienes quieren las últimas actualizaciones.
Al igual que otros sistemas BSD de código abierto, DragonFly se distribuye bajo los términos de la Licencia BSD.
Historial de Versiones
DragonFly BSD ha tenido muchas versiones a lo largo de los años, cada una con mejoras importantes. Aquí te mostramos algunas de las más recientes y sus novedades:
- 6.4.1 (30 de abril de 2025): Es la última versión estable.
- 6.4 (30 de diciembre de 2022):
- 6.2.1 (9 de enero de 2022): Se añadió soporte para cambiar el tamaño de los volúmenes HAMMER2. Se importó un controlador para tarjetas gráficas AMD (amdgpu).
- 6.0 (10 de mayo de 2021): Mejoras en la herramienta 'dsynth' para mantener el repositorio de DPorts. Se eliminó el soporte para 'vkernel' en esta versión.
- 5.8 (3 de marzo de 2020): Se añadió 'dsynth' para construir DPorts. Mejoras en el soporte de gráficos (DRM). Mejoras en la gestión de memoria para evitar problemas en situaciones de poca memoria.
- 5.6 (17 de junio de 2019): Mejoras en el sistema de memoria virtual y en los controladores de gráficos. Mejoras de rendimiento para HAMMER2.
- 5.4 (3 de diciembre de 2018): Controladores actualizados para red, máquinas virtuales y pantalla. Se incluyó GCC 8.0. Más correcciones para HAMMER.
- 5.2 (10 de abril de 2018): El sistema de archivos HAMMER2 se consideró estable. Se añadió soporte para proteger contra las vulnerabilidades Meltdown y Spectre. Mejoras en el firewall (ipfw) y en el soporte gráfico.
- 5.0 (16 de octubre de 2017): Se introdujo el nuevo sistema de archivos HAMMER2. Ahora puede soportar más de 900,000 procesos. Mejoras en el rendimiento del firewall (IPFW).
- 4.8 (27 de marzo de 2017): Soporte inicial para procesadores AMD Ryzen. Mejoras en el rendimiento del núcleo. Se reemplazó OpenSSL por LibreSSL. Soporte para instalar con UEFI.
- 4.0 (25 de noviembre de 2014): Mejoras en el rendimiento de la red. Soporte para hasta 256 procesadores. Mejoras en la compatibilidad con redes inalámbricas. Se añadió soporte para los lenguajes de programación Rust y Free Pascal.
Más información
- Otros sistemas BSD
- Anexo:Comparación de los sistemas operativos BSD
- Lumina (entorno de escritorio)
- FreeBSD Ports
Véase también
En inglés: DragonFly BSD Facts for Kids