DragonFlyBSD
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 30 de julio de 2018; las comprobaciones requieren
36 ediciones .
DragonFly BSD ( inglés Dragonfly - dragonfly ) es un sistema operativo de código abierto [3] [4] [5] , creado en julio de 2003 basado en FreeBSD (4ta rama), enfocado en la plataforma x86 . Desarrollador de FreeBSD Matt Dillon[6] con un grupo de camaradas: al no estar satisfecho con la optimización del kernel de FreeBSD, fundó el nuevo sistema operativo DragonFlyBSD como un sistema diseñado para funcionar en servidores de alta carga y utilizar de manera más eficiente los recursos de procesador y RAM, principalmente en multiprocesador sistemas [7] [8] .
Sistema joven, pero en rápido desarrollo y mejora. Se puede usar tanto en un servidor como en una estación de trabajo, se puede instalar tanto desde la GUI (la versión de la GUI incluye muchos programas adicionales, como un navegador web , etc.), y solo con soporte de línea de comandos.
DragonFly BSD se recomienda solo para usuarios avanzados [3] [6] [9] [10] .
Actualmente, el sistema operativo funciona de manera estable, incluso bajo una carga grave a largo plazo. Hay ligeras asperezas con algunas aplicaciones portadas.
La distribución se crea utilizando el instalador de BSD .
Principales rasgos distintivos
Las principales diferencias entre DragonFlyBSD y su sistema operativo principal, FreeBSD, son:
- Se utilizan subprocesos de kernel ligeros (LWKT - Light Weight Kernel Threads ) [11] . Este mecanismo es un entorno mucho mejor para el multiprocesamiento simétrico "en comparación con el modelo de proceso tradicional utilizado por otros BSD y en comparación con el modelo orientado a mutex que utiliza FreeBSD-5. Esta es una de las principales razones por las que hicimos el proyecto DragonFly. Lightweight Threads proporciona un entorno de programación extremadamente eficiente y escalable para sistemas UP y SMP. FreeBSD-5 prácticamente ha renunciado a las mejoras de rendimiento". [12] “Es más fácil de usar y menos propenso a errores. La abstracción de tokens a menudo simplifica el código en comparación con el modelo mutex utilizado por FreeBSD 5 y NetBSD. El manejo del flujo en sí también es muy bueno, porque no intenta ser inteligente, pero es simple. No hay ningún mecanismo de prioridad sofisticado que no sea el conocido manejo de interrupciones suaves, no hay ping-pong de subprocesos del kernel entre procesadores. Esto es importante para el rendimiento y hace que el sistema sea más determinista” [12] .
- A diferencia de FreeBSD, en gran parte monolítico, donde el núcleo y los controladores son una sola entidad, en DragonFlyBSD, como los sistemas operativos de micronúcleo, la mayoría de las funciones del núcleo se mueven del espacio de la memoria del núcleo al espacio del usuario. De este modo, se logran tanto el crecimiento del rendimiento como la fiabilidad del sistema en su conjunto. Pero al mismo tiempo, DragonFlyBSD no es un sistema operativo de microkernel, porque la funcionalidad del kernel es alta.
- Las llamadas al sistema Unix tradicionales solo se emulan con fines de compatibilidad. En cambio, utilizan el mecanismo de mensajes (mensajes) y sus colas, los llamados. puertos, similar al utilizado en el microkernel de Mach .
Historia
matt dillon, fue conocido anteriormente como el autor del compilador DICE C para AmigaOS , así como una contribución significativa al subsistema de memoria virtual en el proyecto FreeBSD, donde utilizó el paralelismo [12] . Esto, combinado con el hecho de que el acceso de Dillon al repositorio de código fuente de FreeBSD fue revocado debido a una disputa con otros desarrolladores de FreeBSD que no estaban dispuestos a asumir el trabajo, condujo a la creación del proyecto DragonFly BSD en 2003, implementando un modelo de multiprocesamiento simétrico . usando subprocesos ligeros del kernel [14]
[15] . El proyecto DragonFly también condujo al desarrollo de un nuevo método de virtualización del kernel en el espacio del usuario en 2006 llamado kernel virtual .[14] [16] cuando el código del kernel se puede compilar para ejecutarse en el espacio del usuario, inicialmente para facilitar la depuración de varios componentes futuros a nivel del kernel [17] .
En la primera fase importante del proyecto, que duró hasta principios de 2007, el proyecto DragonFly se centró en reescribir la mayoría de los subsistemas del kernel central para implementar las abstracciones necesarias y respaldar el desarrollo de programas paralelos para redes y clústeres informáticos. Esto requirió mucho trabajo en casi todos los subsistemas, especialmente en el sistema de archivos y las API del kernel.
Dillon creó mecanismos de mensajería en el núcleo de DragonFly que son similares al modelo de mensajería de AmigaOS , pero "ha dejado de intentar usar la mensajería para comunicarse entre los controladores de dispositivos, el sistema de archivos y las llamadas al sistema" [18] .
El proyecto Dragonfly también resultó en un nuevo sistema de archivos llamado HAMMER ( martillo ), que Dillon creó usando árboles B ; HAMMER se declaró listo para su lanzamiento en DragonFly 2.2 en 2009 [16] ; y posteriormente HAMMER2, declarado estable en 2018 en DragonFly 5.2. Este sistema de archivos fue diseñado para resolver numerosos problemas y agregar muchas características nuevas a DragonFly, no solo instantáneas del sistema de archivos , sino también recuperación instantánea de fallas y duplicación casi en tiempo real. El sistema de archivos HAMMER también está destinado a servir como base para la agrupación y otras actividades de seguimiento.
A fines de 2011, los principales subsistemas del kernel comenzaron a usar multiprocesamiento simétrico , y en 2013-2014, también se incrementó el paralelismo debido a los subsistemas PID, PGRP y SESSION, así como llamadas al sistema fork / exec / exit / wait, un El mecanismo de paginación se implementó en sistemas multiprocesador, lo que mejoró significativamente el rendimiento del sistema operativo.
En 2012, Francois Tigeot y un equipo dedicado de colaboradores comenzaron a reestructurar DRM con un puerto activo de Linux, lo que llevó a DragonFly a los estándares modernos. En 2015, el soporte completamente acelerado para 2D, 3D y video funciona con el servidor Xorg . Casi al mismo tiempo, también hubo un esfuerzo concertado para actualizar el sistema de sonido con el puerto HDA principal de FreeBSD.
Distribuciones
- El kit de distribución existe en 2 versiones: para grabar en un CD (archivo con extensión iso) o en medios flash (archivo con extensión img). El kit de distribución se puede utilizar tanto para trabajar sin instalación (LiveCD) como para instalarlo en un disco duro.
- A partir de la versión 3.8, solo se proporcionan imágenes para la arquitectura de 64 bits .
- Además de las compilaciones de las versiones de lanzamiento de la distribución, también se distribuyen instantáneas diarias del sistema de archivos , incluidos todos los cambios actuales [19] .
Véase también
Notas
- ↑ https://www.dragonflydigest.com/2022/06/10/27047.html
- ↑ http://grok.su/DragonFly/share/misc/bsd-family-tree
- ↑ 1 2 Yevgeny Zobnin. BSD Tour Part 4. DragonFly, núcleo híbrido y HAMMER . xakep.ru (27 de mayo de 2016). Consultado el 31 de diciembre de 2021. Archivado desde el original el 29 de abril de 2022. (indefinido)
- ↑ DragonFly BSD 2.6: hacia un sistema operativo de agrupación libre [LWN.net] . Consultado el 23 de junio de 2018. Archivado desde el original el 23 de junio de 2018. (indefinido)
- ↑ 1 2 Lanzamiento del sistema operativo DragonFly BSD 5.8 . Yandex.Zen (4 de marzo de 2020). Consultado el 31 de diciembre de 2021. Archivado desde el original el 12 de abril de 2021. (indefinido)
- ↑ 1 2 DragonflyBSD - "libélula con cuernos" . itc.ua (12 de julio de 2004). Consultado el 31 de diciembre de 2021. Archivado desde el original el 31 de diciembre de 2021. (indefinido)
- ↑ Copia archivada . Consultado el 3 de julio de 2018. Archivado desde el original el 5 de junio de 2014. (indefinido)
- ↑ Nuevo lanzamiento de DragonFly para usuarios de BSD - InternetNews. . Consultado el 3 de julio de 2018. Archivado desde el original el 5 de junio de 2014. (indefinido)
- ↑ DistroWatch Weekly, Número 133, 9 de enero de 2006 . Consultado el 23 de junio de 2018. Archivado desde el original el 23 de junio de 2018. (indefinido)
- ↑ Una revisión rápida de DragonFly BSD . Consultado el 23 de junio de 2018. Archivado desde el original el 23 de junio de 2018. (indefinido)
- ↑ Entrevista con Matthew Dillon de DragonFly BSD . Consultado el 3 de julio de 2018. Archivado desde el original el 3 de julio de 2018. (indefinido)
- ↑ 1 2 3 Federico Biancuzzi. Detrás de DragonFly BSD . O'Reilly Media (8 de julio de 2004). Recuperado: 2 de marzo de 2019. (indefinido)
- ↑ DistroWatch Weekly, número 764, 21 de mayo de 2018 . Consultado el 23 de junio de 2018. Archivado desde el original el 23 de junio de 2018. (indefinido)
- ↑ 12 David Chisnall . DragonFly BSD: ¿UNIX para clústeres? . InformIT . Prentice Hall Professional (15 de junio de 2007). Consultado el 6 de marzo de 2019. Archivado desde el original el 15 de noviembre de 2019. (indefinido)
- ↑ David Chisnall. ¿Por qué ir? // El libro de frases del lenguaje de programación Go. — 1er. — Addison-Wesley Profesional . - Pág. 5. - ISBN 978-0-321-81714-3 . . — "" Al crear DragonFly BSD, Matt Dillon observó que no tenía sentido crear un modelo de subprocesos N:M, donde N subprocesos del espacio de usuario se multiplexan sobre M subprocesos del kernel, porque el código C que usa más de un puñado de subprocesos es muy raro."
- ↑ 1 2 Koen Vervloesem. DragonFly BSD 2.6: hacia un sistema operativo de agrupación libre . LWN.net (21 de abril de 2010). Consultado el 7 de marzo de 2019. Archivado desde el original el 23 de junio de 2018. (indefinido)
- ↑ Jeremy C. Reed: Respuestas de Matt Dillon sobre el núcleo virtual de DragonFly . BSD Newsletter.com . Reed Media.net (10 de febrero de 2007). Consultado el 17 de noviembre de 2019. Archivado desde el original el 24 de febrero de 2007. (indefinido)
- ↑ DragonFly BSD: ¿UNIX para clústeres? | No es un micronúcleo | InformIT . Consultado el 3 de julio de 2018. Archivado desde el original el 5 de junio de 2014. (indefinido)
- ↑ Instantáneas diarias . Consultado el 20 de abril de 2016. Archivado desde el original el 25 de junio de 2017. (indefinido)
Enlaces
en redes sociales |
|
---|