Po siedmiu miesiącach rozwoju, wydano DragonFlyBSD 6.2. Jest to hybrydowy system operacyjny z jądrem, stworzony w 2003 roku jako alternatywa dla gałęzi FreeBSD 4.x. Funkcje DragonFly BSD obejmują rozproszony, wersjonowany system plików HAMMER, obsługę ładowania „wirtualnych” jąder systemowych jako procesów użytkownika, możliwość buforowania danych i metadanych systemu plików na dyskach SSD, kontekstowe dowiązania symboliczne, możliwość zamrażania procesów z zachowaniem ich stanu na dysku oraz hybrydowe jądro wykorzystujące lekkie wątki (LWKT).
Główne ulepszenia dodane w DragonFlyBSD 6.2:
- Hiperwizor NVMM, który obsługuje mechanizmy wirtualizacji sprzętowej SVM dla procesorów AMD i VMX dla procesorów Intel, został przeniesiony z NetBSD. NVMM implementuje jedynie niezbędne minimum frameworków wirtualizacji sprzętowej na poziomie jądra, podczas gdy cały kod emulacji sprzętu działa w przestrzeni użytkownika. W przypadku zadań takich jak tworzenie maszyna wirtualna, alokacji pamięci i dystrybucji VCPU, wykorzystano zestaw narzędzi oparty na bibliotece libnvmm, a do uruchamiania systemów gościa użyto pakietu qemu-nvmm.
- Kontynuowano prace nad systemem plików HAMMER2, który oferuje takie funkcje, jak oddzielne montowanie migawek, zapisywalne migawki, limity na poziomie katalogów, przyrostowe tworzenie kopii lustrzanych, obsługę różnych algorytmów kompresji danych oraz tworzenie kopii lustrzanych z wieloma serwerami głównymi i dystrybucją danych na wielu hostach. Nowa wersja wprowadza obsługę polecenia growfs, umożliwiającego zmianę rozmiaru istniejącej partycji HAMMER2. Dodano również eksperymentalną obsługę komponentu xdisk, umożliwiającą montowanie partycji HAMMER2 ze zdalnych systemów.
- Komponenty interfejsu DRM (Direct Rendering Manager), menedżer pamięci wideo TTM i sterownik amdgpu są zsynchronizowane z jądrem Linux 4.19, który zapewnia obsługę układów AMD do APU 3400G. Zaktualizowano sterownik drm/i915 dla procesorów graficznych Intel, dodając obsługę procesorów graficznych Whiskey Lake i rozwiązując problem z awariami podczas uruchamiania. Sterownik Radeon został przeniesiony do menedżera pamięci wideo TTM.
- Wywołanie funkcji poll obsługuje teraz zdarzenie POLLHUP, które jest zwracane, gdy drugi koniec nienazwanego potoku lub kolejki FIFO zostanie zamknięty.
- W jądrze znacząco poprawiono algorytmy stronicowania pamięci, zwiększono efektywność wyboru stron do przeniesienia do partycji wymiany i znacząco poprawiono działanie aplikacji intensywnie wykorzystujących zasoby, takich jak przeglądarki, w systemach z małą ilością pamięci.
- Zmieniono sposób obliczania wartości maxvnodes, aby zmniejszyć zużycie pamięci jądra, ponieważ buforowanie zbyt dużej liczby vnodes może zmniejszyć wydajność, na przykład jeśli bloki danych są dodatkowo buforowane na poziomie urządzenia blokowego.
- Do narzędzia fstyp dodano obsługę systemu plików BeFS. Obsługa systemu plików FAT została przeniesiona z FreeBSD do makefs. Ulepszono narzędzia fsck i fdisk. Poprawiono błędy w ext2fs i msdosfs.
- Dodano ioctl SIOCGHWADDR w celu uzyskania adresu sprzętowego interfejsu sieciowego.
- ipfw3nat dodaje obsługę NAT dla pakietów ICMP, implementowaną poprzez ponowne wykorzystanie portu identyfikacyjnego icmp.
- Sterownik ichsmb obsługuje teraz kontrolery Intel ICH SMBus dla układów Cannonlake, Cometlake, Tigerlake i Geminilake.
- Do generowania plików initrd zmieniono tryb działania z vn na makefs.
- Funkcje getentropy(), clearenv() i mkdirat() zostały dodane do standardowej biblioteki libc. Implementacje shm_open() i /var/run/shm zostały ulepszone pod kątem kompatybilności z innymi systemami. Dodano typy __double_t i __float_t specyficzne dla platformy. Funkcje związane z szyfrowaniem zostały przywrócone do libdmsg. Poprawiono wydajność wątków Pthreads.
- Narzędzie dsynth, przeznaczone do lokalnego budowania i utrzymywania repozytoriów binarnych DPort, zostało zaktualizowane o opcję „-M” i zmienną PKG_COMPRESSION_FORMAT. Dodano obsługę pakietu 1.17 i metadanych pakietu w wersji 2.
- Pakiet zawiera bibliotekę PAM OpenPAM Tabebuia, narzędzie do sprawdzania haseł passwdqc 2.0.2 oraz pakiety mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1 i file 5.40.
- Naprawiono lukę w zabezpieczeniach jądra, która może umożliwiać użytkownikowi podniesienie uprawnień w systemie (nie zgłoszono luki CVE).
- Usunięto sterownik ndis, który umożliwiał korzystanie z binarnych sterowników NDIS z Windows.
- Obsługa formatu pliku wykonywalnego a.out została zakończona.
Źródło: opennet.ru
