Después de más de un año de desarrollo, se ha publicado la versión DragonFlyBSD 6.0, un sistema operativo con un núcleo híbrido, creado en 2003 con el objetivo de desarrollar una alternativa a la rama FreeBSD 4.x. Entre las características de DragonFly BSD se pueden destacar el sistema de archivos de versión distribuida HAMMER, el soporte para la carga de «núcleos» virtuales del sistema como procesos de usuario, la capacidad de almacenamiento en caché de datos y metadatos del sistema de archivos en unidades SSD, el manejo del contexto de enlaces simbólicos variantes, la posibilidad de congelar procesos manteniendo su estado en disco, y un núcleo híbrido que utiliza hilos ligeros (LWKT).
Mejoras clave añadidas en DragonFlyBSD 6.0:
- Se ha modernizado el sistema de almacenamiento en caché en el sistema de archivos virtual (vfs_cache). Este cambio ha permitido aumentar la confiabilidad y mejorar el rendimiento de los sistemas de archivos. Se ha mejorado el almacenamiento en caché de rutas completas mediante la llamada cache_fullpath().
- Se ha mejorado significativamente la herramienta dsynth, diseñada para la construcción local y el mantenimiento de repositorios binarios DPort. En la nueva versión, se ha añadido la posibilidad de especificar explícitamente ports-mgmt/pkg para la construcción de paquetes, se ha añadido soporte para el algoritmo ZSTD, en el comando ‘prepare-system’ se asegura la eliminación de paquetes obsoletos, y se ha añadido la posibilidad de utilizar ccache durante la construcción.
- Continúa el desarrollo del sistema de archivos HAMMER2, que se destaca por funciones como el montaje separado de instantáneas, instantáneas que están disponibles para escritura, cuotas a nivel de directorios, espejo incremental, soporte para varios algoritmos de compresión de datos, y espejo multi-master con distribución de datos en varios hosts. En esta nueva versión se ha añadido soporte inicial para multi-volúmenes, permitiendo combinar varios discos locales en un solo volumen (el modo de red multi-master aún no es compatible). Se ha implementado la posibilidad de aumentar el tamaño de la partición (se ha añadido el comando hammer2 growfs). Se han solucionado problemas graves con la deduplicación.
- Se ha mejorado significativamente el rendimiento del sistema de archivos tmpfs. Se ha añadido la herramienta mounttmpfs para facilitar la colocación de /tmp y /var/run en tmpfs.
- Se ha añadido una implementación del sistema de archivos Ext2, que no contiene código bajo la licencia GPL.
- Se han realizado cambios significativos en el sistema de memoria virtual, incluida la eliminación del soporte para MAP_VPAGETABLE mmap(), necesario para el funcionamiento de vkernell (núcleos virtuales que se ejecutan como un proceso de usuario). En la próxima versión se planea devolver vkernel, reestructurándolo sobre la base de HVM.
- Se ha reimplementado la llamada a callout*().
- Se ha mejorado el soporte para el framebuffer EFI.
- Se añadió soporte evdev al controlador sysmouse.
- Se han añadido las llamadas clock_nanosleep, fexecve, getaddrinfo y timeout. Se ha implementado el soporte para fcntl(F_GETPATH) y las banderas IP_SENDSRCADDR y SO_PASSCRED.
- Se ha añadido la subsistema kmalloc_obj al núcleo, permitiendo reducir la fragmentación de la memoria.
- Se ha trasladado el soporte del controlador amdsmn desde FreeBSD para la subsistema SMN (System Management Network) de procesadores AMD.
- En devd se ha asegurado el reconocimiento automático de adaptadores inalámbricos y la creación de interfaces de red wlanX para ellos.
- El tipo sysclock_t se ha convertido de 32 a 64 bits.
- Se ha optimizado la cadena de lanzamiento de llamadas al sistema.
- Se ha optimizado el funcionamiento en condiciones de escasez de memoria.
- Se ha reestructurado significativamente el mecanismo de entornos aislados Jail. Se ha llevado a cabo una reestructuración de los parámetros sysctl jail.*.
- Se ha añadido soporte para controladores Ethernet Intel I219 y se ha ampliado el soporte para chips Realtek. El controlador bnx ahora soporta los chips Broadcom NetXtreme 57764, 57767 y 57787.
- Se ha añadido soporte para la familia de direcciones AF_ARP, que representa direcciones ARP, en el stack de red.
- Los componentes de la interfaz DRM (Direct Rendering Manager) están sincronizados con el núcleo de Linux 4.10.17. Se ha actualizado el controlador drm/i915 para GPU Intel.
- La velocidad de los puertos serie predeterminada se ha elevado de 9600 a 115200 baudios.
- Se ha añadido la opción "-f" a la utilidad ifconfig y la posibilidad de filtrar la salida por grupo de interfaces.
- Se han sincronizado las implementaciones de las utilidades shutdown, reboot, printf, test, sh, efivar, uefisign desde FreeBSD.
- Se han trasladado los juegos ching, gomoku, monop y cgram desde NetBSD.
- Se han incluido las utilidades efidp y efibootmgr.
- Se han ampliado las capacidades de la biblioteca pthreads, añadiendo soporte para pthread_getname_np().
- Se ha trasladado la biblioteca libstdbuf desde FreeBSD.
- Se ha añadido el soporte para sockaddr_snprintf() en libutil, trasladado desde NetBSD.
- Se permite el uso de caracteres especiales en las contraseñas establecidas en el instalador.
- Se ha incluido el paquete zstd (versión 1.4.8) en el conjunto base.
- Se han actualizado las versiones de los componentes de terceros, incluidos dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. Por defecto, se utiliza el compilador gcc-8.
Fuente: opennet.ru
