След седем месеца разработка е публикувана версия DragonFlyBSD 6.2, операционна система с хибридно ядро, създадена през 2003 година с цел алтернативно развитие на клон на FreeBSD 4.x. Сред особеностите на DragonFly BSD можем да посочим разпределената версия на файловата система HAMMER, поддръжката на зареждане на "виртуални" ядра на системата като потребителски процеси, възможността за кеширане на данни и метаданни на файловата система на SSD, вземайки предвид контекстуалните вариантни символични линкове, възможността за замразяване на процеси с запазване на тяхното състояние на диска, хибридно ядро, използващо леки нишки (LWKT).
Основни подобрения, добавени в DragonFlyBSD 6.2:
- От NetBSD е пренесен хипервизорът NVMM, който поддържа хардуерни механизми за виртуализация SVM за AMD CPU и VMX за Intel CPU. В 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 може да намали ефективността на работа, например, ако блоковете с данни допълнително се кешират на ниво блоково устройство.
- Подкрепата за файловата система BeFS е добавена в утилитата fstyp. Подкрепата на файловата система FAT е преместена от makefs на FreeBSD. Подобрена е работата на утилитите fsck и fdisk. Отстранени са грешки в кода на ext2fs и msdosfs.
- Добавен е ioctl SIOCGHWADDR за получаване на хардуерния адрес на мрежовия интерфейс.
- Подкрепата за NAT за ICMP пакети е добавена в ipfw3nat, реализирана чрез повторно използване на icmp idport.
- Подкрепата за контролери Intel ICH SMBus за чипове Cannonlake, Cometlake, Tigerlake и Geminilake е добавена в драйвера ichsmb.
- Генерацията на файлове 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
