Після семи місяців розробки опубліковано реліз DragonFlyBSD 6.2, операційної системи з гібридним ядром, створеної в 2003 році з метою альтернативного розвитку гілки FreeBSD 4.x. З особливостей DragonFly BSD можна виділити розподілену версійну файлову систему HAMMER, підтримку завантаження «віртуальних» ядер системи як процесів користувача, можливість кешування даних і мета-даних ФС на SSD-накопичувачах, що враховують контекст варіантні символічні посилання, можливість заморожування процесів зі збереженням їх стану на диск, гібридне ядро, що використовує легковагові потоки (LWKT).
Основні покращення, додані в DragonFlyBSD 6.2:
- З NetBSD перенесений гіпервізор NVMM, який підтримує апаратні механізми віртуалізації SVM для CPU AMD та VMX для CPU Intel. У NVMM на рівні ядра виконується лише мінімально необхідний набір обв'язок навколо апаратних механізмів віртуалізації, а весь код емуляції обладнання працює у просторі користувача. Для виконання таких завдань, як створення віртуальних машин, виділення пам'яті та розподіл VCPU, застосовується інструментарій на базі бібліотеки libnvmm, а для запуску гостьових систем пакет qemu-nvmm.
- Продовжено роботу над файловою системою HAMMER2, яка примітна такими функціями, як окреме монтування снапшотів, доступні на запис снапшоти, квоти на рівні директорій, інкрементальне дзеркалювання, підтримка різних алгоритмів стиснення даних, multi-master дзеркалювання з розподілом даних на декілька х. У новому випуску реалізовано підтримку команди growfs, що дозволяє змінювати розмір існуючого розділу HAMMER2. До складу включена експериментальна підтримка компонента xdisk, що дозволяє монтувати розділи HAMMER2 віддалених систем.
- Компоненти інтерфейсу DRM (Direct Rendering Manager), менеджер управління відеопам'яттю TTM та драйвер amdgpu синхронізовані з ядром Linux 4.19, що дозволило забезпечити підтримку чіпів AMD до APU 3400G. Оновлено драйвер drm/i915 для GPU Intel, в якому з'явилася підтримка GPU Whiskey Lake та вирішена проблема зі збоями під час запуску. Драйвер Radeon переведено на використання менеджера відеопам'яті TTM.
- У виклику poll реалізована підтримка події POLLHUP, що повертається при закритті другого кінця каналу або FIFO.
- У ядрі значно покращено алгоритми роботи зі сторінками пам'яті, підвищено ефективність при виборі сторінок для переміщення в розділ підкачування та значно покращено поведінку ресурсомістких додатків, таких як браузери, на системах з невеликим обсягом пам'яті.
- Змінено обчислення значення maxvnodes для скорочення споживання пам'яті ядром, так як кешування надто великої кількості vnode може знизити ефективність роботи, наприклад, якщо блоки даних додатково кешуються на рівні блокового пристрою.
- В утиліту fstyp додано підтримку файлової системи BeFS. У makefs з FreeBSD перенесено підтримку ФС FAT. Покращена робота утиліт fsck та fdisk. Виправлені помилки в коді ext2fs та msdosfs.
- Доданий ioctl SIOCGHWADDR для отримання апратної адреси мережного інтерфейсу.
- У ipfw3nat додано підтримку NAT для пакетів ICMP, реалізована через повторне використання icmp idport.
- До драйвера ichsmb додано підтримку контролерів Intel ICH SMBus для чіпів Cannonlake, Cometlake, Tigerlake і Geminilake.
- Генерація файлів initrd перекладена з використання vn на makefs.
- У стандартну бібліотеку libc додані функції getentropy(), clearenv() та mkdirat(). Поліпшено сумісність реалізації shm_open() та /var/run/shm з іншими системами. Додані специфічні для різних платформ типи __double_t та __float_t. У libdmsg повернуто функції, пов'язані з шифруванням. Підвищена продуктивність pthreads.
- В утиліті dsynth, призначеної для локального складання та супроводу бінарних репозиторіїв DPort, додана опція «-M» та змінна PKG_COMPRESSION_FORMAT. Забезпечена підтримка пакетного менеджера pkg 1.17 та другої версії метаданих pkg.
- До складу імпортовані PAM-бібліотека OpenPAM Tabebuia, утиліта перевірки паролів passwdqc 2.0.2, пакети mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1 та file 5.40.
- Усунена локально експлуатована вразливість у ядрі, що дозволяє користувачеві підвищити свої привілеї в системі (CVE не повідомляється).
- Видалено драйвер ndis, що дозволяв використовувати бінарні NDIS-драйвери з Windows.
- Припинено підтримку формату виконуваних файлів a.out.
Джерело: opennet.ru