Wydanie systemu operacyjnego DragonFly BSD 6.0

Po ponad roku prac ukazała się wersja DragonFlyBSD 6.0, systemu operacyjnego z hybrydowym jądrem stworzonego w 2003 roku na potrzeby alternatywnego rozwoju gałęzi FreeBSD 4.x. Wśród funkcji DragonFly BSD możemy wyróżnić rozproszony wersjonowany system plików HAMMER, obsługę ładowania „wirtualnych” jąder systemu jako procesów użytkownika, możliwość buforowania danych i metadanych FS na dyskach SSD, kontekstowe warianty dowiązań symbolicznych, możliwość do zamrażania procesów z jednoczesnym zapisem ich stanu na dysku, jądro hybrydowe wykorzystujące lekkie wątki (LWKT).

Główne ulepszenia dodane w DragonFlyBSD 6.0:

  • Zaktualizowano system buforowania w wirtualnym systemie plików (vfs_cache). Zmiana poprawiła niezawodność i wydajność systemów plików. Ulepszone buforowanie pełnych ścieżek przy użyciu wywołania cache_fullpath().
  • Narzędzie dsynth, przeznaczone do lokalnego montażu i konserwacji repozytoriów binarnych DPort, zostało znacznie ulepszone. Nowa wersja ma możliwość jawnego określenia ports-mgmt/pkg do budowania pakietów, dodała obsługę algorytmu ZSTD, usunęła przestarzałe pakiety w poleceniu „prepare-system” i dodała możliwość używania ccache podczas budowania.
  • Kontynuowano prace nad systemem plików HAMMER2, który wyróżnia się takimi funkcjami, jak oddzielne montowanie migawek, zapisywalne migawki, przydziały na poziomie katalogów, przyrostowe kopie lustrzane, obsługa różnych algorytmów kompresji danych, kopie lustrzane typu multi-master z dystrybucją danych do kilku hostów. Nowa wersja dodaje początkową obsługę partycji wielowoluminowych, umożliwiając połączenie kilku dysków lokalnych w jedną partycję (tryb sieciowy z wieloma wzorcami nie jest jeszcze obsługiwany). Zaimplementowano możliwość zwiększenia rozmiaru partycji (dodano komendę Hammer2 Growfs). Rozwiązano główne problemy z deduplikacją.
  • Wydajność systemu plików tmpfs została znacznie poprawiona. Dodano narzędzie mounttmpfs, aby ułatwić umieszczanie /tmp i /var/run w tmpfs.
  • Dodano implementację systemu plików Ext2, który nie zawiera kodu na licencji GPL.
  • Dokonano znaczących zmian w systemie pamięci wirtualnej, w tym usunięto obsługę MAP_VPAGETABLE mmap(), która jest wymagana do działania vkernell (jądra wirtualne uruchamiane jako proces użytkownika). W następnej wersji planowany jest powrót vkernel, przeprojektowany w oparciu o HVM.
  • Implementacja wywołań callout*() została przeprojektowana.
  • Ulepszona obsługa bufora ramki EFI.
  • Dodano obsługę evdev do sterownika sysmouse.
  • Dodano wywołania clock_nanosleep, fexecve, getaddrinfo i timeout. Zaimplementowano obsługę fcntl(F_GETPATH) oraz flag IP_SENDSRCADDR i SO_PASSCRED.
  • Do jądra dodano podsystem kmalloc_obj, aby zmniejszyć fragmentację pamięci.
  • Obsługa sterownika amdsmn dla podsystemu SMN (System Management Network) procesorów AMD została przeniesiona z FreeBSD.
  • devd zapewnia automatyczne rozpoznawanie kart bezprzewodowych i tworzenie dla nich interfejsów sieciowych wlanX.
  • Typ sysclock_t został przekonwertowany z wersji 32-bitowej na 64-bitową.
  • Łańcuch uruchamiania wywołań systemowych został zoptymalizowany.
  • Zoptymalizowana praca w warunkach małej ilości pamięci.
  • Mechanizm izolowanego środowiska Więzienia został znacząco przeprojektowany. Parametry sysctl jail.* zostały zrestrukturyzowane.
  • Dodano obsługę kontrolerów Ethernet Intel I219 i rozszerzono obsługę układów Realtek. Sterownik bnx dodał obsługę układów Broadcom NetXtreme 57764, 57767 i 57787.
  • Do stosu sieciowego dodano obsługę rodziny adresów AF_ARP, która reprezentuje adresy ARP.
  • Komponenty interfejsu DRM (Direct Rendering Manager) są zsynchronizowane z jądrem Linux 4.10.17. Zaktualizowany sterownik drm/i915 dla procesora graficznego Intel.
  • Domyślna przepustowość portu szeregowego została zwiększona z 9600 do 115200 bodów.
  • Do narzędzia ifconfig dodano opcję „-f” oraz możliwość filtrowania danych wyjściowych według grupy interfejsów.
  • Implementacje narzędzi zamykania, ponownego uruchamiania, printf, test, sh, efivar, uefisign są synchronizowane z FreeBSD.
  • Gry ching, gomoku, monop i cgram zostały przeniesione z NetBSD.
  • Dołączone są narzędzia efidp i efibootmgr.
  • Rozszerzono możliwości biblioteki pthreads, dodano obsługę pthread_getname_np().
  • Biblioteka libstdbuf została przeniesiona z FreeBSD.
  • Do libutil dodano obsługę sockaddr_snprintf(), przeniesioną z NetBSD.
  • Hasła określone w instalatorze pozwalają na użycie znaków specjalnych.
  • Pakiet podstawowy zawiera pakiet zstd (wersja 1.4.8).
  • Zaktualizowane wersje komponentów innych firm, w tym dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. Domyślnym kompilatorem jest gcc-8.

Źródło: opennet.ru

Dodaj komentarz