Lanzamiento del sistema operativo DragonFly BSD 5.8

Disponible relizar DragonFlyBSD 5.8, un sistema operativo con un núcleo híbrido, creado en 2003 con el propósito de desarrollar alternativamente la rama FreeBSD 4.x. Entre las características de DragonFly BSD podemos destacar un sistema de archivos versionado distribuido HAMMER, soporte para cargar kernels del sistema "virtuales" como procesos de usuario, la capacidad de almacenar en caché datos y metadatos de FS en unidades SSD, enlaces simbólicos variantes sensibles al contexto, la capacidad de congelar procesos mientras se guarda su estado en el disco, un kernel híbrido que utiliza subprocesos livianos (LWKT).

El principal mejorasagregado en DragonFlyBSD 5.8:

  • La composición principal incluye la utilidad. sintetizador, diseñado para el montaje y mantenimiento local de sus propios repositorios binarios DPort. Se admite la paralelización del ensamblaje de un número arbitrario de puertos, teniendo en cuenta el árbol de dependencia. En preparación para la nueva versión, DPort también realizó una gran cantidad de cambios destinados a acelerar la compilación de varios paquetes dependientes.
  • libc implementa un mecanismo eficaz de enmascaramiento de señales, que permite proteger malloc*() y funciones similares de problemas debidos a su interrupción por una señal. Para el bloqueo y desbloqueo de señales a corto plazo, se proponen las funciones sigblockall() y sigunblockall(), que funcionan sin realizar llamadas al sistema. Además, libc ha adaptado la función strtok() para su uso en aplicaciones multiproceso, agregó constantes TABDLY, TAB0, TAB3 y la función __errno_location para mejorar el soporte de dports.
  • Los componentes de la interfaz DRM (Direct Rendering Manager) están sincronizados con el kernel de Linux 4.9, con funciones seleccionadas trasladadas desde el kernel 4.12 destinadas a mejorar la compatibilidad con Wayland.
    El controlador drm/i915 para GPU Intel está sincronizado con el kernel de Linux 4.8.17 con código transferido desde el kernel 5.4 para admitir nuevos chips (Skylake, Coffelake, Amber Lake, Whiskey Lake y Comet Lake). El controlador drm/radeon para tarjetas de video AMD está sincronizado con el kernel Linux 4.9.

  • Los algoritmos de paginación de la memoria virtual se han mejorado significativamente, lo que nos permite eliminar o minimizar los problemas de capacidad de respuesta en la interfaz de usuario cuando no hay suficiente memoria. Se han resuelto los problemas con la congelación de Chrome/Chromium debido a una memoria insuficiente del sistema.
  • Escalado del kernel mejorado en sistemas con una gran cantidad de núcleos de procesador. Reducción del tiempo de solicitud de la página de memoria virtual. Se redujo la contención de SMP cuando hay poca memoria. Mayor eficiencia de la llamada "open(... O_RDWR)".
  • Se ha rediseñado el generador de números pseudoaleatorios en el kernel. El controlador RDRAND está adaptado para acumular entropía de todas las CPU. Intensidad reducida
    y el tamaño de la fuente RDRAND, que anteriormente ocupaba entre el 2 y el 3 % del tiempo de la CPU durante el tiempo de inactividad.

  • Se agregaron nuevas llamadas al sistema realpath, getrandom y lwp_getname (permitió la implementación de pthread_get_name_np).
  • Se agregó soporte para los mecanismos de protección SMAP (Prevención de acceso en modo supervisor) y SMEP (Prevención de ejecución en modo supervisor). SMAP le permite bloquear el acceso a los datos del espacio de usuario desde código privilegiado que se ejecuta en el nivel del kernel. SMEP no permite la transición del modo kernel a la ejecución de código ubicado a nivel de usuario, lo que permite bloquear la explotación de muchas vulnerabilidades en el kernel (el código shell no se ejecutará, ya que está en el espacio del usuario);
  • Variables sysctl reelaboradas para configurar Jail. Se agregó la capacidad de montar nullfs y tmpfs desde Jail.
  • Se agregó un modo de emergencia para el sistema de archivos HAMMER2, que se puede usar durante la recuperación después de una falla. En este modo, es posible destruir instantáneas al actualizar el inodo localmente (le permite eliminar archivos y directorios en ausencia de espacio libre en el disco, cuando es imposible utilizar el mecanismo de copia en escritura). Rendimiento significativamente mejorado al reelaborar el soporte de envío de subprocesos en HAMMER2. El proceso de lavado de buffers se ha mejorado significativamente.
  • Fiabilidad y rendimiento mejorados de TMPFS. Mayor eficiencia operativa cuando falta memoria libre en el sistema.
  • La pila de red IPv4 ahora admite prefijos /31 (RFC 3021).
    Tap ha mejorado el manejo de SIOCSIFMTU ioctl para admitir MTU > 1500. Se agregó soporte para SIOCSIFINFO_IN6 y SO_RERROR.

  • El controlador iwm está sincronizado con FreeBSD y admite chips inalámbricos Intel (se agregó soporte para iwm-9000 e iwm-9260).
  • Se agregaron funciones basename() y dirname() compatibles con Linux para mejorar la compatibilidad de puertos.
  • Se movió fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 de FreeBSD a libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Las funciones de math.h se han movido de OpenBSD.
  • Versiones actualizadas de componentes de terceros, incluidos Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. El compilador predeterminado es gcc-8.

Fuente: opennet.ru

Añadir un comentario