NetBSD es uno de esos tantos OS de la familia de Unix que no es muy común escuchar o leer sobre este. Pero esto no deja de lado que se distingue por su portabilidad excepcional, siendo capaz de ejecutarse en una amplia variedad de plataformas de hardware y sobre todo su enfoque en la limpieza y simplicidad en el diseño.
Es por ello que considero oportuno el compartir la noticia del lanzamiento de NetBSD 10, el cual llega después de un año y medio desde su última actualización. La nueva versión presenta mejoras significativas, como el soporte para listas de control de acceso en el sistema de archivos FFS, optimizaciones de rendimiento notables, cifrado de disco mediante el algoritmo Adiantum, y la inclusión del controlador VPN WireGuard en el kernel.
¿Qué hay de nuevo en NetBSD 10?
En la nueva versión de NetBSD 10, se han realizado mejoras significativas en la compatibilidad con Linux, y es que se destaca la inclusión de soporte para varios mecanismos clave en la capa de compatibilidad de Linux (compat_linux). Esto incluye la adición de soporte para eventfd, timerfd, POSIX timers, preadv y pwritev, lo que mejora la interoperabilidad y el funcionamiento de aplicaciones diseñadas para entornos Linux en NetBSD. Además, se ha realizado una actualización importante en los controladores de gráficos para GPU Intel, NVIDIA y AMD en sistemas x86, asi como también la sincronización del subsistema DRM/KMS con el kernel de Linux 5.6.
Otra de las novedades que presenta NetBSD 10 es la ampliación del soporte de hardware para nuevos procesadores Intel y AMD, placas ARM como Raspberry Pi 4, y se ha mejorado la compatibilidad con arquitecturas como MIPS. Se ha añadido soporte para extensiones de seguridad como PAN (Privileged Access Never), PA (Pointer Authentication) y BTI (Branch Target Identification) en procesadores Armv8-A.
También se han actualizado numerosos componentes de terceros como el administrador de ventanas gcc, OpenSSL, postfix, tmux, OpenSSH, X.org Server, entre otros, a sus versiones más recientes. Además de ello se han agregado 17 nuevos controladores de dispositivos, incluyendo tabletas Wacom, Ethernet Gigabit de diversas marcas, entre otros.
Se ha mejorado la eficiencia de la caché de rutas de archivos en el kernel, así como el rendimiento del programador de tareas adaptado para sistemas big.LITTLE Arm. También se ha optimizado el rendimiento de las llamadas al sistema de selección y sondeo, del sistema de archivos tmpfs, y se han agregado optimizaciones específicas para las arquitecturas x86 y AArch64, mejorando la E/S y el rendimiento de red en sistemas AArch64.
Por otra parte, se ha implementado un algoritmo de árbol de base más rápido para buscar páginas de memoria, se ha acelerado el seguimiento de páginas de memoria limpias y sucias, y se ha mejorado significativamente fsync para archivos grandes. Además, se ha mejorado el manejo de bloqueos y se ha aumentado la eficiencia de la ejecución paralela de operaciones.
En NetBSD 10 se ha agregado soporte para el cifrado de disco utilizando el algoritmo Adiantum, logrando una alta eficiencia en sistemas sin aceleración de hardware para el cifrado AES. Se ha habilitado el cifrado automático de particiones de intercambio y se ha añadido soporte para mecanismos de aceleración de cifrado de hardware en procesadores x86 y Arm.
Además de ello, se ha añadido soporte para ACL POSIX.1e al sistema de archivos FFS, implementado a través de atributos de archivo extendidos portados desde FreeBSD. Para usar ACL, se ha introducido un nuevo tipo de sistema de archivos llamado FFSv2ea, al cual se pueden convertir sistemas de archivos existentes mediante la utilidad fsck_ffs.
De los demás cambios que se destacan:
- Se ha añadido una interfaz de red wg compatible con WireGuard para soportar VPN en NetBSD 10.
- Se ha cambiado el algoritmo de hash de contraseña predeterminado a Argon2id, y se ha mejorado la implementación de software de AES proporcionada por el kernel para ofrecer tiempos de ejecución consistentes en todas las arquitecturas.
- Se ha mejorado la compatibilidad con el formato UDF (Universal Disk Format) y se ha agregado compatibilidad con ZFS a la utilidad fstat.
- Se ha ampliado la compatibilidad con FUSE (Filesystem in Userspace) y se han añadido configuraciones endian intercambiadas a las implementaciones de RAID por software.
- Se han implementado llamadas al sistema eventfd y timerfd compatibles con Linux, se ha añadido fexecve para ejecutar archivos en un descriptor de archivo, y se ha mejorado la funcionalidad general del sistema.
- Se han eliminado tecnologías y controladores obsoletos como HIPPI, FDDI, TokenRing, controladores para SMBFS, entre otros, mientras que se ha trasladado la publicidad de enrutador IPv6 al espacio de usuario y eliminado bibliotecas y controladores para dispositivos heredados.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace. En cuanto a los interesados en esta nueva versión, deben saber que se ofrecen imágenes de instalación de 630 MB de tamaño, las cuales están compiladas para más de 50 arquitecturas de sistemas y 16 familias de CPU diferentes.