After seven months of development, the release of DragonFlyBSD 6.2 has been published. This operating system, featuring a hybrid kernel, was created in 2003 to provide an alternative evolution of the FreeBSD 4.x branch. Notable features of DragonFly BSD include the distributed version-controlled file system HAMMER, support for loading 'virtual' kernels as user processes, the ability to cache file system data and metadata on SSDs, context-aware variant symbolic links, the capability to freeze processes while saving their state to disk, and a hybrid kernel that utilizes lightweight threads (LWKT).
Key enhancements added in DragonFlyBSD 6.2:
- The NVMM hypervisor has been ported from NetBSD, supporting hardware virtualization mechanisms SVM for AMD CPUs and VMX for Intel CPUs. In NVMM, only the minimum necessary set of wrappers around hardware virtualization mechanisms is executed at the kernel level, while all code for hardware emulation runs in user space. For tasks such as creating of virtual machines, allocating memory, and distributing VCPUs, tools based on the libnvmm library are used, and the qemu-nvmm package is employed for launching guest systems.
- Work continues on the HAMMER2 file system, which is notable for features such as separate snapshot mounting, writable snapshots, directory-level quotas, incremental mirroring, support for various data compression algorithms, and multi-master mirroring with data distribution across multiple hosts. The new release implements support for the growfs command, which allows resizing of existing HAMMER2 partitions. Experimental support for the xdisk component has been included, enabling the mounting of HAMMER2 partitions from remote systems.
- The components of the DRM (Direct Rendering Manager) interface, the TTM video memory management manager, and the amdgpu driver have been synchronized with the Linux kernel 4.19, enabling support for AMD chips up to APU 3400G. The drm/i915 driver for Intel GPUs has been updated to include support for the Whiskey Lake GPU and resolve startup crash issues. The Radeon driver has been transitioned to use the TTM video memory manager.
- Support for the POLLHUP event has been implemented in the poll call, which is returned when the other end of an unnamed pipe or FIFO is closed.
- The core has significantly improved the algorithms for managing memory pages, enhancing efficiency in selecting pages for swapping and greatly improving the behavior of resource-intensive applications, such as browsers, on systems with limited memory.
- The calculation of maxvnodes has been changed to reduce memory consumption by the kernel, as caching too many vnodes can decrease performance, especially if data blocks are additionally cached at the block device level.
- The fstyp utility has added support for the BeFS file system. Support for FAT file systems has been transferred from FreeBSD to makefs. The functionality of the fsck and fdisk utilities has been enhanced. Bugs in the ext2fs and msdosfs code have been fixed.
- An ioctl SIOCGHWADDR has been added to obtain the hardware address of the network interface.
- NAT support for ICMP packets has been added to ipfw3nat, implemented through the reuse of the icmp idport.
- Support for Intel ICH SMBus controllers has been added to the ichsmb driver for Cannonlake, Cometlake, Tigerlake, and Geminilake chips.
- File generation for initrd has switched from using vn to makefs.
- The standard libc library has added functions getentropy(), clearenv(), and mkdirat(). Compatibility of shm_open() implementation with /var/run/shm has been improved with other systems. Platform-specific types __double_t and __float_t have been added. Functions related to encryption have been restored in libdmsg. pthreads performance has been enhanced.
- The dsynth utility, designed for local building and maintenance of DPort binary repositories, has added the option '-M' and the PKG_COMPRESSION_FORMAT variable. Support for package manager pkg 1.17 and the second version of pkg metadata has been ensured.
- Imported components include the PAM library OpenPAM Tabebuia, the password-checking utility passwdqc 2.0.2, packages mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1, and file 5.40.
- A locally exploitable vulnerability in the kernel has been fixed, allowing a user to escalate their privileges in the system (CVE not reported).
- The ndis driver, which allowed the use of binary NDIS drivers from Windows, has been removed.
- Support for the a.out executable file format has been discontinued.
Source: opennet.ru
