After more than a year of development, the release of DragonFlyBSD 6.0 has been published, an operating system with a hybrid kernel, created in 2003 for the alternative development of the FreeBSD 4.x branch. Features of DragonFly BSD include the distributed versioned file system HAMMER, support for booting 'virtual' kernels as user processes, the ability to cache file system data and metadata on SSD drives, context-aware variant symbolic links, the ability to freeze processes while preserving their state on disk, and a hybrid kernel that uses lightweight threads (LWKT).
Key improvements added in DragonFlyBSD 6.0:
- The caching system in the virtual file system (vfs_cache) has been modernized. This change has increased the reliability and performance of file systems. Caching of full paths has been improved using the cache_fullpath() call.
- The dsynth utility, intended for local builds and maintenance of binary DPort repositories, has been significantly improved. The new version allows explicit specification of ports-mgmt/pkg for package builds, adds support for the ZSTD compression algorithm, ensures removal of obsolete packages in the ‘prepare-system’ command, and introduces support for ccache during builds.
- Work continues on the HAMMER2 file system, which features separate mounting of snapshots, 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 adds initial support for multi-volume, allowing several local disks to be combined into one partition (the network multi-master mode is not yet supported). The ability to increase the partition size has been implemented (the hammer2 growfs command has been added). Serious deduplication issues have been resolved.
- Performance of the tmpfs file system has been significantly improved. A utility called mounttmpfs has been added to simplify the placement of /tmp and /var/run in tmpfs.
- An implementation of the Ext2 file system has been added, which does not contain code under the GPL license.
- Significant changes have been made to the virtual memory system, including the removal of MAP_VPAGETABLE mmap() support, which is necessary for the operation of vkernell (virtual kernels running as a user process). The next release plans to return vkernel, restructuring it on the basis of HVM.
- The implementation of callout*() calls has been redesigned.
- Improved support for the EFI framebuffer.
- Support for evdev has been added to the sysmouse driver.
- Calls to clock_nanosleep, fexecve, getaddrinfo, and timeout have been added. Support for fcntl(F_GETPATH) and the flags IP_SENDSRCADDR and SO_PASSCRED has been implemented.
- A kmalloc_obj subsystem has been added to the kernel to reduce memory fragmentation.
- Support for the amdsmn driver for AMD processors' SMN (System Management Network) subsystem has been transferred from FreeBSD.
- The devd has been improved to automatically recognize wireless adapters and create network interfaces wlanX for them.
- The sysclock_t type has been switched from a 32-bit to a 64-bit value.
- The system call launch chain has been optimized.
- Performance has been optimized in low-memory conditions.
- The Jail isolation mechanism has been significantly reworked. The sysctl parameters jail.* have been restructured.
- Support for Intel I219 Ethernet controllers has been added, and support for Realtek chipsets has been expanded. The bnx driver now supports Broadcom NetXtreme chips 57764, 57767, and 57787.
- Support for the AF_ARP address family, representing ARP addresses, has been added to the network stack.
- The DRM (Direct Rendering Manager) interface components have been synchronized with the Linux kernel 4.10.17. The drm/i915 driver for Intel GPUs has been updated.
- The default baud rate of the serial port has been increased from 9600 to 115200 bps.
- The ifconfig utility has added the "-f" option and the ability to filter output by interface group.
- The implementations of the shutdown, reboot, printf, test, sh, efivar, and uefisign utilities have been synced from FreeBSD.
- Games ching, gomoku, monop, and cgram have been transferred from NetBSD.
- The packages efidp and efibootmgr have been included.
- The pthreads library capabilities have been expanded, adding support for pthread_getname_np().
- The libstdbuf library has been transferred from FreeBSD.
- Support for sockaddr_snprintf() has been added to libutil, transferred from NetBSD.
- Special characters are now allowed in passwords set in the installer.
- The zstd package (version 1.4.8) has been included in the base system.
- Versions of third-party components have been updated, including dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, and wpa_supplicant 2.9. By default, the gcc-8 compiler is used.
Source: opennet.ru
