DragonFly BSD

Screenshot Software:
DragonFly BSD
Szczegóły programowe:
Wersja: 5.2.2 Aktualizowane
Filmu: 22 Jun 18
Wywoływacz: The DragonFly Team
Licencja: Wolny
Popularność: 153

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD to otwarty system operacyjny BSD zaprojektowany jako logiczna kontynuacja serii OS FreeBSD-4.x. Jest bardzo podobny do innych dystrybucji opartych na BSD, takich jak FreeBSD, NetBSD czy OpenBSD. Jest to widelcem na drodze, że tak powiem, dając podstawy BSD szansę na rozwój w zupełnie nowym kierunku od tego, który został zrobiony w serii FreeBSD-5. Ponadto zawiera unikalny zestaw funkcji, które odróżniają go od innych podobnych systemów.


HAMMER jest główną atrakcją

HAMMER jest główną atrakcją DragonFly & rsquo, nowoczesnego systemu plików o wysokiej wydajności, który oferuje funkcje historycznego dostępu i wbudowane lustrzane odbicie. Jądro jest również jednym z powodów, dla których DragonFly jest lepszą dystrybucją BSD.

Oferuje dwa różne programy planujące dla jądra

Jądro DragonFly zawiera dwa różne programy planujące, jeden planujący wszystkie wykonywalne elementy (wątek Jądra wagi lekkiej) i inny, który wybiera pojedynczy wątek użytkownika na raz dla każdego procesora i usuwa wątki użytkownika (User Thread Scheduler). Dodatkowo, jądro zawiera złożony alokator pamięci jądra złożony z obiektowego przydziału pamięci i podstawowego malloc jądra o nazwie kmalloc (), systemu plików urządzenia DragonFly (DEVFS), wirtualnego jądra (VKERNEL), asynchronizacji RFS NFS V3 i struktura harmonogramu we / wy dysku twardego (zeskanowane).


Funkcje, wiele funkcji

Wśród innych interesujących funkcji, możemy wymienić NULL Filesystem Layer (NULLFS), która obsługuje niepowiązane z pętlą dowolne punkty montowania, TMPFS (Temporary Filesystem VFS), przezroczyste szyfrowanie dysków, zarządzane wsparcie SSD (Solid Storage Device), wariant (kontekst wrażliwe), dowiązania symboliczne, DNTPD (DragonFly Network Time Daemon) i DMA (DragonFly Mail Agent). Ponadto użytkownicy będą mogli w dowolnym momencie kontrolować lub zawieszać procesy na dysku. Dystrybucja zapewnia silne sterowniki AHCI, stabilne nazwy urządzeń, a także dobrze ugruntowane szyfrowanie i zarządzanie wolumenami.

Dolna linia

Ogólnie DragonFly okazuje się nowoczesnym, przyjaznym dla użytkownika i bardzo łatwym w obsłudze systemem operacyjnym typu UNIX. Może być używany codziennie jako system biurkowy lub jako potężny serwer BSD.

Co nowego w tej wersji:

  • DragonFly w wersji 5.2.1 został wydany z łagodzeniem Meltdown / Spectre, wieloma ulepszeniami HAMMER2, ipfw i przyspieszonym wideo oraz poprawką (w aktualizacji 5.2.1) dla CVE-2018-8897.

Co nowego w wersji:

  • Christian Groessler (1):
  • telnetd: wydrukuj informacje systemowe (system operacyjny i architekturę) przed monitem logowania.
  • Matthew Dillon (7):
  • hammer2 - Napraw dziel przez 0 wyścigu
  • jądro - selektywne MFC jądra umtx działa od mistrza
  • jądro - zaktualizuj dokumentację umtx
  • libc i pthreads - Napraw problemy atfork za pomocą nmalloc, update dmalloc
  • hammer2 - Naprawiono wyścig o zmianę nazwy
  • hammer2 - zoptymalizuj hammer2_pfs_memory_wakeup ()
  • hammer2 - Napraw nieskończone brudne łańcuchy z powodu zmiany nazwy
  • Sascha Wildner (5):
  • hammer2.8: Napraw błąd.
  • Powiedz "hammer2" zamiast "hammer" w różnych miejscach.
  • mtree: Napraw właściciela dla kilku katalogów w / usr / share.
  • libc / nls: Użyj bieżących ustawień narodowych (ustawionych według wątków).
  • libarchive: Cofnij zatwierdzenie, które nie miało zostać przekazane.

Co nowego w wersji 4.8.1:

  • Kernel:
  • Kod pamięci podręcznej bufora refaktora do usuwania dynamicznych rezerwacji KVA. Zamiast tego wszystkie wartości KVA są rezerwowane podczas rozruchu. Oszczędza nam niepotrzebnych IPI i umożliwia znaczne uproszczenie kodu pamięci podręcznej bufora.
  • Dodaj vfs.repurpose_enable (w teście, domyślnie wyłączone). Ta funkcja może być włączona w celu znacznego zmniejszenia obciążenia zarządzania IPI i VM na komputerze, który wykonuje ogromne ilości operacji wejścia / wyjścia pliku, na przykład z dysku SSD NVMe, z pominięciem normalnego mechanizmu odzyskiwania strony maszyny wirtualnej. Po włączeniu funkcja uruchamia się tylko w przypadku dużych obciążeń we / wy. Działa poprzez ponowne wykorzystanie stron VM stanowiących bufor na miejscu (jeśli jest to możliwe), aby nie trzeba było wstawiać / otwierać stron w KVA bufora. Normalny recykling stron VM (który w przeciwnym razie byłby przytłoczony przez obciążenie we / wy) również został ominięty.
  • Zmień sposób przetwarzania IPIQ, w szczególności utwórz niezależny mechanizm wektora przerwań dla unieważnień stron, które ignorują (będą działać), nawet jeśli sekcja krytyczna zostanie zatrzymana. Wdrożenie machdep.optimized_invltlb (domyślnie wyłączone, w trakcie testu), dzięki czemu unika się wysyłania IPI związanych z unieważnieniem tlb do bezczynnego cpus.
  • Naprawiaj liczne wyścigi, które mogą wystąpić w ekstremalnych obciążeniach. Większość przypadków użycia nigdy by ich nie wyzwoliła, ale czasami pojawiały się nasze pudełka kompilacji. Na przykład, był wyścig dwóch instrukcji, w którym procesor bitowy na pmap zostałby wyczyszczony (dla dwóch instrukcji) i spowodowałby IPI TLB występujący w tym samym czasie na innym procesorze w tym samym pmap, aby nie zorientować się, że cpu używało pmap . Poprawka polega na wyłączeniu optymalizacji ponownego ładowania CR3 dla przypadku przełącznika LWP-> LWP (ten sam proces).
  • Napraw błąd HAMMER, który może skutkować nieprawidłowym raportowaniem błędu DATA CRC.
  • Napraw podwójny zapis wywołany sposobem, w jaki HAMMER używa funkcji cluster_write (). To znacznie poprawia wydajność zapisu w grze HAMMER.
  • Liczne inne poprawki i poprawki HAMMER również zostały wprowadzone.
  • Napraw silną blokadę, która może wystąpić w getpbuf * () z powodu błędnej interpretacji zwracanej wartości op atomowej.
  • Napraw przerwanie stosu, które może wystąpić w oknie 10-instrukcji, potencjalnie (ale nie można go znaleźć w środowisku naturalnym) uruchamiającym stos jądra.
  • Ogranicz IPI związany z pmap o połowę w przypadku niektórych operacji buforowania i buforowania, nie zadając sobie trudu unieważnienia TLB, a po stronie odwrotnej zawsze unieważnia TLB przy wprowadzaniu nowego PTE, nawet jeśli wcześniejsza treść była nieprawidłowa. Poprawia to wydajność, a także ułatwia debugowanie, usuwając problematyczną optymalizację.
  • Naprawiono wiele trudnych wyścigów SMP, w szczególności związanych z robieniem równoczesnych stanowisk z różnych punktów montowania, które mogą być uruchamiane przez masową kompilację. Napraw także wyścig mountctl vs umount.
  • Zmniejsz liczbę atomowych operacji na ścieżce przełącznika.
  • Napraw rasę / panikę namecache, które mogą wystąpić w ekstremalnych obciążeniach w połączeniu z dużą aktywnością mount / umount.
  • Ogranicz pobieranie próbne% rip do katalogu głównego.
  • Napraw problem getpid () w vfork () po wątku. W szczególności równoczesne vfork () w wątkowym programie może spowodować zwrócenie błędnego PID przez getpid () w potomku przed exec.
  • Napraw rzadki wyścig o ściganie / objaśnienie, gdy licznik objaśnień zostanie wywołany przed zakończeniem konfiguracji tsleep ().
  • Wyczyść namecache wiadomości na konsoli. W szczególności należy podać prawidłowy czas, jaki upłynął, oraz wartość td_comm wątku.
  • Dalsze ograniczanie testowania pamięci i zerowanie początkowego rozruchu w celu skrócenia czasu rozruchu w systemach z dużą ilością pamięci RAM.
  • Całkowicie usuń bezczynny kod zerowania stron. Zerowanie strony na współczesnym procesorze graficznym na żądanie jest lepsze z wielu powodów i w rzeczywistości może być szybsze w połączeniu z danymi dostępowymi dla klientów na stronie, ze względu na efekty pamięci podręcznej. Usuń PG_ZERO, ponieważ nie jest już potrzebny. Usunięcie PG_ZERO powoduje również, że jądro staje się bardziej debuggable poprzez usunięcie innego możliwego źródła zanieczyszczenia krzyżowego.
  • Refaktor i zakończ implementowanie lokalizacji procesora dla przydziałów pamięci jądra. Połącz ze świadomością NUMA. Działa to w przypadku struktur danych jądra zlokalizowanych na procesorze lub krótkotrwałych danych jądra. Te dwa elementy są połączone w naszą abstrakcję PQ_L2_SIZE, która kiedyś była kodem kolorowania strony VM. Ten kod obsługuje teraz także lokalizację procesora i świadomość NUMA.
  • Naprawiono wiele problemów z vkernelem i znacznie poprawiono wydajność vkernela.
  • Zaktualizuj kern.proc.pathname, sysctl używany przez programy, aby znaleźć ścieżkę uruchomionego programu. Ten sysctl został pierwotnie zaimplementowany, zanim zgromadziliśmy wystarczającą ilość danych, aby zwrócić pełną, właściwą ścieżkę.
  • Synchronizuj ACPICA z Intelem (jest to zwykłe wydarzenie).
  • Napraw blok ABI memcpy (). Zestaw nie zwrócił oryginalnego argumentu (dst). Nie naprawia żadnych znanych problemów, ale zamyka lukę, gdy GCC czasami decyduje się na wywołanie memcpy podczas generowania kodu.
  • Wiele zatwierdzeń do czyszczenia -O2 ostrzeżeń i błędów. Jądro jest teraz skompilowane domyślnie -O2.
  • Dodaj obejście dla niewłaściwego uzysku w ścieżce ACPI (zwany również błędnym kodem ACPI).
  • Napraw wyścig STOP / CONT, który może zostać wywołany przez oczekujący sygnał o niewłaściwej porze.
  • Gwintowane poprawki coredump i naprawianie blokady związane z tym samym, gdy wiele wątków tego samego procesu seg-fault w tym samym czasie.
  • Naprawienie zakleszczenia CAM / VM, które może wystąpić z powodu błędu w uiomove_nofault (). Może to spowodować "nieokreślony bufor oczekiwania" podczas intensywnego stronicowania / wymiany.
  • Dodaj kod do wykrywania utraconych IPI i radzenia sobie z nimi. Dotyczy to głównie vkerneli, w których niektóre wirtualne hosty mogą utracić IPI. Prawdziwe procesory nie powinny tracić IPI.
  • Różne poprawki do clock_gettime ().
  • Usuń więcej śladów MPLOCK. Wszystkie krytyczne ścieżki już dawno zostały usunięte z tej blokady, ale nadal jest kilka niekrytycznych miejsc, które go używają.
  • Przerób kod niszczenia procesów o małej pamięci i napraw kilka wyścigów, które mogą uniemożliwić działanie tej funkcji.
  • Naprawienie blokady systemu za pomocą VMM i skorygowanie kodu VMX.
  • Naprawianie zakleszczenia, gdy numvnodes osiąga maxvnodes, co może wystąpić przy dużych obciążeniach. Napraw mniejszy wyciek pamięci jądra, gdy "df" lub synchronizacja systemu plików wyskakuje z umount. Zmniejsz również obliczenia maxvnodes skromnie. Na przykład maszyna z 8 GB pamięci ustawi teraz maxvnodes na 478483 zamiast 598103.
  • Napraw rzadką panikę, która może zostać wywołana przez vm_object_page_remove (), gdy user_yield () zostanie nieprawidłowo wywołana podczas trzymania blokady spinlock, a następnie decyduje się na desaturację.
  • Zmniejsz rozmiar niektórych dynamicznie przydzielanych struktur jądra. W szczególności, przydział tablic o nadmiernych rozmiarach i-węzłów jest teraz mniejszy. Dotyczy głównie UFS (którego DragonFlyBSD nie używa zbyt wiele).
  • Dodaj obejście problemu z błędem AMD 793.
  • Naprawić zakleszczenie, które może wystąpić w skumulowanym klastrze _ * () wywołania we / wy.
  • Napraw błąd, który powodowałby zakleszczenie modułu rekursywnego.
  • Napraw głupi błąd w kodzie sillyrename NFS (po stronie serwera NFS), który może spowodować, że kod sillyrename serwera NFS nigdy nie usunie pliku o przemyślanej nazwie. Jak głupio!
  • Lepsza praca z konfiguracjami o wysokiej wartości ncpu + o małej pamięci.
  • Udostępnianie spinów typu refactor w celu zmniejszenia liczby wirowań, które mogą wystąpić, gdy wiele procesorów uzyskuje wspólną blokadę spinów w tym samym czasie.
  • Dokonaj przeglądu operacji Netschebeta, aby jeszcze bardziej zmniejszyć rywalizację o SMP. Poprawia to równoczesną, nie powodującą konfliktów, jednoskładnikową wydajność co najmniej 25x w systemach z wieloma rdzeniami i znacząco redukuje operacje ref i unref vnode i mount.
  • Dokonaj przeglądu wielu innych struktur jądra, aby poprawić lokalizację pamięci podręcznej i zmniejszyć liczbę linków w pamięci podręcznej.
  • Napraw błąd w kodzie zmiany nazwy pliku SMBFS.
  • Zaimplementuj RLIMIT_RSS, ogranicznik RSS dla każdego procesu, który wymusi lokalne stronicowanie na podstawie procesu. Ta funkcja może być używana, aby jeden proces nie zamienił reszty maszyny w twardą obudowę.
  • Zwiększ maksymalną obsługiwaną przestrzeń wymiany. Maksymalna jest teraz ograniczona głównie przez RAM i będzie w dziesiątkach terabajtów (jeśli masz wystarczająco dużo pamięci RAM dla wspierających struktur zarządzania). Zwiększ także KVM kernela z 128G do 511G.
  • Wdrażaj dynamiczne usuwanie pmap (domyślnie wyłączone). To kieruje kod pmap, aby usunąć strony tabeli pośredniej i PD z PMAP w locie. Może to być przydatne, jeśli pamięć jest ważna, ale pamiętaj, że jeśli jest włączona, spowolni wykonywanie programów, które alokują i zwalniają pamięć z dużą szybkością.
  • Refactor, jak działają "ładne" poziomy użytkownika, dzięki czemu wybrane fajne wartości są bardziej znaczące niż kiedyś.
  • Dodaj wysokiej jakości natywny sterownik NVME do DragonFly, napisany przez Matta Dillona. Sterownik ten będzie używał wektorów MSI-X i wszystkich dostępnych kolejek obsługiwanych przez urządzenie, lokalizacji per-cpu bez blokowania lub minimalnego blokowania (w większości przypadków nie ma konfliktów SMP) i jest zdolny do nienormalnego IOPS i przepustowości.
  • Grafika:
  • Stabilizuje Broadwella i Skylake, doprowadza nas do DRM w systemie Linux 4.6.
  • Zaimplementuj interfejs Linux i2c API, aby ułatwić portowanie.
  • Napraw kilka starych błędów, włącznie z odwróceniem kolejności blokad, które mogą zablokować odtwarzanie wideo (i resztę X).
  • Napraw błąd priorytetu wątku drn jądra, który pozwala procesom użytkownika mieć wyższy priorytet niż wątek pomocnika drm. To naprawia większość tymczasowych przestojów wideo zgłaszanych w przeglądarkach.
  • Obsługa bufora ramki EFI przechodzącego w DRM, poprawa przełączania VT syscons i naprawienie powiązanego zakleszczenia. Niech jądro spróbuje przełączyć się z powrotem do konsoli VT od X, gdy pojawi się panika.
  • Sieci:
  • Wiele usprawnień we wszystkich dziedzinach.
  • iwm - Naprawia problem spowodowany przez odwróconą logikę. Liczne inne ulepszenia, które znacznie poprawiają wydajność.
  • wlan - Dodano obsługę asynchronicznego skanowania bg i innych funkcji.
  • Inne sterowniki:
  • nvme - Dodano do domyślnej kompilacji jądra oraz poprawek i ulepszeń wydajności.
  • mmcsd - Dodano znaczącą obsługę eMMC do DragonFly.
  • ahci - Niektóre poprawki zgodności i dodatkowe dziwactwa dodane do obsługi uszkodzonych chipsetów, w szczególności mnożników portów. Zaimplementuj także FBS (FIS-Based-Switching), jeśli jest obsługiwany przez chipset.
  • Dodano obsługę Trackpoint i Elantech.
  • Userland:
  • systat enhanced to collapse wielu przerwań należących do tego samego sterownika, ponieważ często jest ich zbyt wiele, aby je teraz wyświetlić.
  • systat -vm 1 został znacznie ulepszony i przebudowany, aby zgłaszać więcej użytecznych informacji i rozpakowywać pola, aby się do siebie nie dopuścić. I dodaj "nvme" do dopasowania urządzenia blokowego. Dostosuj również rozszerzone wyświetlanie vmstats i zmień, jak zgłaszane są ozfod i nzfod.
  • Odwzorowano wyjście "vmstat 1". Wszystkie pola wpadały na siebie ze względu na wysoką wydajność nowoczesnej maszyny, co 30 lat temu było znane.
  • Zmień sygnalizację mount / mountd, aby zredukować niepotrzebne skany i polecenia listli montowania z operacji mount_null i mount_tmpfs. Tylko naprawdę ma znaczenie przy dużym jednoczesnym korzystaniu z mount / umount, ale większość kompilacji faktycznie tworzy taką sytuację.
  • Naprawiono liczne wycieki fork / exec * (), które libc może wywołać, ponieważ nie używają O_CLOEXEC w sposób atomowy. Dodaj różne funkcje O_CLOEXEC do funkcji takich jak popen () i mk * stemp * () (dodaj mkostemp () i mkostemps ()). Napraw wyciek deskryptora pliku w popen () podczas pracy w środowisku gwintowanym.
  • Bądź milszy od pthreads w vfork (), nadając nowemu podprocesowi lwp ten sam TID, co ten, który wywołał vfork (). Pozwala to na wykonywanie funkcji pomocniczych pthread w pliku potomnym podczas vfork bez impozycji pthreadów.
  • Wiele poprawek kompatybilności z nagłówkami w celu ulepszenia zbiorczych kompilacji dportów.
  • Kilka importów OpenSSL dla poprawek bezpieczeństwa.
  • Ponownie zsynchronizuj OpenSSH, aby łatwiej było go zachować.
  • Rozdziel flagi jądra C, używając kompilacji jądra, użyj KCFLAGS zamiast CFLAGS.
  • Usuń całkowicie liczne stare sterowniki ISA z drzewa. Ponieważ DragonFlyBSD jest teraz tylko w wersji 64-bitowej, możemy zacząć usuwać stare sterowniki, które nie istnieją na 64-bitowych platformach.
  • Przedstaw WORLD_CFLAGS i WORLD_CCOPTLEVEL, domyślnie -O. Ułatwia to kompilowanie świata -O2 lub cokolwiek (np. WORLD_CCOPTLEVEL = 2). Jednak zniechęcamy do korzystania z 3 lub więcej. Poprawne wartości to 0, 1, 2, 3, s, g i "szybko".
  • Dostosuj formatowanie STAT dla ps, aby było bardziej czytelne i aby usunąć starodawne flagi, które nie są już stosowane i po prostu stwórz bałagan.
  • Napraw wyrównanie malloc () dla małych alokacji. Minimalne wyrównanie wynosi teraz 16 dla alokacji w zakresie 16-128 bajtów zamiast 8. Zauważ, że alokacja mocy 2 zawsze była naturalnie wyrównana, ale niektóre programy używają wielokrotności (np.) 16, jak "48", i przyjąć 16-bajtowe wyrównanie.
  • Fortele refaktoryzowane, dodane.
  • powerd - dodaj zarządzanie oparte na temperaturze do zasilania dzięki nowej opcji -H lotemp: hightemp. Ta funkcja jest niezwykle przydatna w laptopach o słabym chłodzeniu i które BIOSy celowo dławią w zbyt wysokiej temperaturze. Powerd teraz również wykrywa zmiany stanu zasilania (które mogą zmienić listę dostępnych częstotliwości) i prawidłowo zmienia usługę, gdy nastąpi zmiana stanu zasilania.
  • Mnóstwo poprawek i poprawek libthread_xu / pthreads w celu poprawy zgodności z formatem dport.
  • Dodaj funkcje kopiowania przy zapisie do vkernelu. Na przykład, pozwala wielu plikom VKernela używać pojedynczego obrazu dysku, posiadając każdą jedną modyfikację COW wewnętrznie do RAM.
  • / usr / src / secure rewired, konflikty usunięte z libmd, libcrypt.
  • W systemie podstawowym zaktualizowano różne narzędzia:
  • Kompilator zaktualizowany do wersji GCC 5.4.1.
  • Teraz mamy złoty linker z LTO.
  • binutils 2.25
  • mniej 481.
  • OpenSSL / LibRESSL całkowicie przebudowany. Baza używa teraz libressl.
  • Wiele aktualizacji stref czasowych.
  • Status młota:
  • Różne ulepszenia. Jedną z rzeczy, która nie dotarła do wydania, była wersja testowa do użycia szybszego algorytmu CRC z innym wielomianem. Ta praca zostanie MFC'd do -release po zakończeniu testów. Jednak użytkownicy nie powinni się o to martwić, ponieważ najpoważniejsza poprawka wydajności IS w wydaniu (poprawka do kodu cluster_write () dla zapisu systemu plików).
  • Status Hammer2:
  • Rozwój jest kontynuowany, ale nie ma jeszcze słowa w pierwszym wydaniu.
  • Status dzwonka:
  • Dodano podstawową strukturę do używania klanga jako alternatywnego podstawowego kompilatora w DragonFly, aby zastąpić gcc 4.7. To jeszcze nie jest kompletne. Clang można oczywiście dodać jako pakiet.
  • Status 64-bitowy:
  • Zauważ, że DragonFly to system operacyjny tylko w wersji 64-bitowej od wersji 4.6 i nie będzie działać na 32-bitowym sprzęcie.
  • Obsługa AMD Ryzen jest dostępna w tej wersji, a dalsze prace zostaną wprowadzone, gdy pojawią się nowe zmiany w Ryzen. Istnieje kilka problemów związanych z topologią raportowaną przez procesor, które zostaną naprawione i MFC'd. Występują pewne problemy ze stabilnością, które obecnie czekają na aktualizację mikrokodu AMD w celu rozwiązania / ponownego testowania. Użytkownicy Ryzen mogą być pewni, że jesteśmy na szczycie!

Co nowego w wersji 4.8.0:

  • Kernel:
  • Kod pamięci podręcznej bufora refaktora do usuwania dynamicznych rezerwacji KVA. Zamiast tego wszystkie wartości KVA są rezerwowane podczas rozruchu. Oszczędza nam niepotrzebnych IPI i umożliwia znaczne uproszczenie kodu pamięci podręcznej bufora.
  • Dodaj vfs.repurpose_enable (w teście, domyślnie wyłączone). Ta funkcja może być włączona w celu znacznego zmniejszenia obciążenia zarządzania IPI i VM na komputerze, który wykonuje ogromne ilości operacji wejścia / wyjścia pliku, na przykład z dysku SSD NVMe, z pominięciem normalnego mechanizmu odzyskiwania strony maszyny wirtualnej. Po włączeniu funkcja uruchamia się tylko w przypadku dużych obciążeń we / wy. Działa poprzez ponowne wykorzystanie stron VM stanowiących bufor na miejscu (jeśli jest to możliwe), aby nie trzeba było wstawiać / otwierać stron w KVA bufora. Normalny recykling stron VM (który w przeciwnym razie byłby przytłoczony przez obciążenie we / wy) również został ominięty.
  • Zmień sposób przetwarzania IPIQ, w szczególności utwórz niezależny mechanizm wektora przerwań dla unieważnień stron, które ignorują (będą działać), nawet jeśli sekcja krytyczna zostanie zatrzymana. Implementuj machdep.optimized_invltlb (domyślnie wyłączone, w trakcie testu), dzięki czemu unika się wysyłania IPI związanych z unieważnianiem tlb do bezczynnego cpus.
  • Naprawiaj liczne wyścigi, które mogą wystąpić w ekstremalnych obciążeniach. Większość przypadków użycia nigdy by ich nie wyzwoliła, ale czasami pojawiały się nasze pudełka kompilacji. Na przykład, był wyścig dwóch instrukcji, w którym procesor bitowy na pmap zostałby wyczyszczony (dla dwóch instrukcji) i spowodowałby IPI TLB występujący w tym samym czasie na innym procesorze w tym samym pmap, aby nie zorientować się, że cpu używało pmap . Poprawka polega na wyłączeniu optymalizacji ponownego ładowania CR3 dla przypadku przełącznika LWP-> LWP (ten sam proces).
  • Napraw błąd HAMMER, który może skutkować nieprawidłowym raportowaniem błędu DATA CRC.
  • Napraw podwójny zapis wywołany sposobem, w jaki HAMMER używa funkcji cluster_write (). To znacznie poprawia wydajność zapisu w grze HAMMER.
  • Liczne inne poprawki i poprawki HAMMER również zostały wprowadzone.
  • Napraw silną blokadę, która może wystąpić w getpbuf * () z powodu błędnej interpretacji zwracanej wartości op atomowej.
  • Napraw przerwanie stosu, które może wystąpić w oknie 10-instrukcji, potencjalnie (ale nie można go znaleźć w środowisku naturalnym) uruchamiającym stos jądra.
  • Ogranicz IPI związany z pmap o połowę w przypadku niektórych operacji buforowania i buforowania, nie zadając sobie trudu unieważnienia TLB, a po stronie odwrotnej zawsze unieważnia TLB przy wprowadzaniu nowego PTE, nawet jeśli wcześniejsza treść była nieprawidłowa. Poprawia to wydajność, a także ułatwia debugowanie, usuwając problematyczną optymalizację.
  • Naprawiono wiele trudnych wyścigów SMP, w szczególności związanych z robieniem równoczesnych stanowisk z różnych punktów montowania, które mogą być uruchamiane przez masową kompilację. Napraw także wyścig mountctl vs umount.
  • Zmniejsz liczbę atomowych operacji na ścieżce przełącznika.
  • Napraw rasę / panikę namecache, które mogą wystąpić w ekstremalnych obciążeniach w połączeniu z dużą aktywnością mount / umount.
  • Ogranicz pobieranie próbne% rip do katalogu głównego.
  • Napraw problem getpid () w vfork () po wątku. W szczególności równoczesne vfork () w wątkowym programie może spowodować zwrócenie błędnego PID przez getpid () w potomku przed exec.
  • Napraw rzadki wyścig o ściganie / objaśnienie, gdy licznik objaśnień zostanie wywołany przed zakończeniem konfiguracji tsleep ().
  • Wyczyść namecache wiadomości na konsoli. W szczególności należy podać prawidłowy czas, jaki upłynął, oraz wartość td_comm wątku.
  • Dalsze ograniczanie testowania pamięci i zerowanie początkowego rozruchu w celu skrócenia czasu rozruchu w systemach z dużą ilością pamięci RAM.
  • Całkowicie usuń bezczynny kod zerowania stron. Zerowanie strony na współczesnym procesorze graficznym na żądanie jest lepsze z wielu powodów i w rzeczywistości może być szybsze w połączeniu z danymi dostępowymi dla klientów na stronie, ze względu na efekty pamięci podręcznej. Usuń PG_ZERO, ponieważ nie jest już potrzebny. Usunięcie PG_ZERO powoduje również, że jądro staje się bardziej debuggable poprzez usunięcie innego możliwego źródła zanieczyszczenia krzyżowego.
  • Refaktor i zakończ implementowanie lokalizacji procesora dla przydziałów pamięci jądra. Połącz ze świadomością NUMA. Działa to w przypadku struktur danych jądra zlokalizowanych na procesorze lub krótkotrwałych danych jądra. Te dwa elementy są połączone w naszą abstrakcję PQ_L2_SIZE, która kiedyś była kodem kolorowania strony VM. Ten kod obsługuje teraz także lokalizację procesora i świadomość NUMA.
  • Naprawiono wiele problemów z vkernelem i znacznie poprawiono wydajność vkernela.
  • Zaktualizuj kern.proc.pathname, sysctl używany przez programy, aby znaleźć ścieżkę uruchomionego programu. Ten sysctl został pierwotnie zaimplementowany, zanim zgromadziliśmy wystarczającą ilość danych, aby zwrócić pełną, właściwą ścieżkę.
  • Synchronizuj ACPICA z Intelem (jest to zwykłe wydarzenie).
  • Napraw blok ABI memcpy (). Zestaw nie zwrócił oryginalnego argumentu (dst). Nie naprawia żadnych znanych problemów, ale zamyka lukę, gdy GCC czasami decyduje się na wywołanie memcpy podczas generowania kodu.
  • Wiele zatwierdzeń do czyszczenia -O2 ostrzeżeń i błędów. Jądro jest teraz skompilowane domyślnie -O2.
  • Dodaj obejście dla niewłaściwego uzysku w ścieżce ACPI (zwany również błędnym kodem ACPI).
  • Napraw wyścig STOP / CONT, który może zostać wywołany przez oczekujący sygnał o niewłaściwej porze.
  • Gwintowane poprawki coredump i naprawianie blokady związane z tym samym, gdy wiele wątków tego samego procesu seg-fault w tym samym czasie.
  • Naprawienie zakleszczenia CAM / VM, które może wystąpić z powodu błędu w uiomove_nofault (). Może to spowodować "nieokreślony bufor oczekiwania" podczas intensywnego stronicowania / wymiany.
  • Dodaj kod do wykrywania utraconych IPI i radzenia sobie z nimi. Dotyczy to głównie vkerneli, w których niektóre wirtualne hosty mogą utracić IPI. Prawdziwe procesory nie powinny tracić IPI.
  • Różne poprawki do clock_gettime ().
  • Usuń więcej śladów MPLOCK. Wszystkie krytyczne ścieżki już dawno zostały usunięte z tej blokady, ale nadal jest kilka niekrytycznych miejsc, które go używają.
  • Przerób kod niszczenia procesów o małej pamięci i napraw kilka wyścigów, które mogą uniemożliwić działanie tej funkcji.
  • Naprawienie blokady systemu za pomocą VMM i skorygowanie kodu VMX.
  • Naprawianie zakleszczenia, gdy numvnodes osiąga maxvnodes, co może wystąpić przy dużych obciążeniach. Napraw mniejszy wyciek pamięci jądra, gdy "df" lub synchronizacja systemu plików wyskakuje z umount. Zmniejsz również obliczenia maxvnodes skromnie. Na przykład maszyna z 8 GB pamięci ustawi teraz maxvnodes na 478483 zamiast 598103.
  • Napraw rzadką panikę, która może zostać wywołana przez vm_object_page_remove (), gdy user_yield () zostanie nieprawidłowo wywołana podczas trzymania blokady spinlock, a następnie decyduje się na desaturację.
  • Zmniejsz rozmiar niektórych dynamicznie przydzielanych struktur jądra. W szczególności, przydział tablic o nadmiernych rozmiarach i-węzłów jest teraz mniejszy. Dotyczy głównie UFS (którego DragonFlyBSD nie używa zbyt wiele).
  • Dodaj obejście problemu z błędem AMD 793.
  • Naprawić zakleszczenie, które może wystąpić w skumulowanym klastrze _ * () wywołania we / wy.
  • Napraw błąd, który powodowałby zakleszczenie modułu rekursywnego.
  • Napraw głupi błąd w kodzie sillyrename NFS (po stronie serwera NFS), który może spowodować, że kod sillyrename serwera NFS nigdy nie usunie pliku o przemyślanej nazwie. Jak głupio!
  • Lepsza praca z konfiguracjami o wysokiej wartości ncpu + o małej pamięci.
  • Udostępnianie spinów typu refactor w celu zmniejszenia liczby wirowań, które mogą wystąpić, gdy wiele procesorów uzyskuje wspólną blokadę spinów w tym samym czasie.
  • Dokonaj przeglądu operacji Netschebeta, aby jeszcze bardziej zmniejszyć rywalizację o SMP. Poprawia to równoczesną, nie powodującą konfliktów, jednoskładnikową wydajność co najmniej 25x w systemach z wieloma rdzeniami i znacząco redukuje operacje ref i unref vnode i mount.
  • Dokonaj przeglądu wielu innych struktur jądra, aby poprawić lokalizację pamięci podręcznej i zmniejszyć liczbę linków w pamięci podręcznej.
  • Napraw błąd w kodzie zmiany nazwy pliku SMBFS.
  • Zaimplementuj RLIMIT_RSS, ogranicznik RSS dla każdego procesu, który wymusi lokalne stronicowanie na podstawie procesu. Ta funkcja może być używana, aby jeden proces nie zamienił reszty maszyny w twardą obudowę.
  • Zwiększ maksymalną obsługiwaną przestrzeń wymiany. Maksymalna jest teraz ograniczona głównie przez RAM i będzie w dziesiątkach terabajtów (jeśli masz wystarczająco dużo pamięci RAM dla wspierających struktur zarządzania). Zwiększ także KVM kernela z 128G do 511G.
  • Wdrażaj dynamiczne usuwanie pmap (domyślnie wyłączone). To kieruje kod pmap, aby usunąć strony tabeli pośredniej i PD z PMAP w locie. Może to być przydatne, jeśli pamięć jest ważna, ale pamiętaj, że jeśli jest włączona, spowolni wykonywanie programów, które alokują i zwalniają pamięć z dużą szybkością.
  • Refactor, jak działają "ładne" poziomy użytkownika, dzięki czemu wybrane fajne wartości są bardziej znaczące niż kiedyś.
  • Dodaj wysokiej jakości natywny sterownik NVME do DragonFly, napisany przez Matta Dillona. Sterownik ten będzie używał wektorów MSI-X i wszystkich dostępnych kolejek obsługiwanych przez urządzenie, lokalizacji per-cpu bez blokowania lub minimalnego blokowania (w większości przypadków nie ma konfliktów SMP) i jest zdolny do nienormalnego IOPS i przepustowości.
  • Grafika:
  • Stabilizuje Broadwella i Skylake, doprowadza nas do DRM w systemie Linux 4.6.
  • Zaimplementuj interfejs Linux i2c API, aby ułatwić portowanie.
  • Napraw kilka starych błędów, włącznie z odwróceniem kolejności blokad, które mogą zablokować odtwarzanie wideo (i resztę X).
  • Napraw błąd priorytetu wątku drn jądra, który pozwala procesom użytkownika mieć wyższy priorytet niż wątek pomocnika drm. To naprawia większość tymczasowych przestojów wideo zgłaszanych w przeglądarkach.
  • Obsługa bufora ramki EFI przechodzącego w DRM, poprawa przełączania VT syscons i naprawienie powiązanego zakleszczenia. Niech jądro spróbuje przełączyć się z powrotem do konsoli VT od X, gdy pojawi się panika.
  • Sieci:
  • Wiele usprawnień we wszystkich dziedzinach.
  • iwm - Naprawia problem spowodowany przez odwróconą logikę. Liczne inne ulepszenia, które znacznie poprawiają wydajność.
  • wlan - Dodano obsługę asynchronicznego skanowania bg i innych funkcji.
  • Inne sterowniki:
  • nvme - Dodano do domyślnej kompilacji jądra oraz poprawek i ulepszeń wydajności.
  • mmcsd - Dodano znaczącą obsługę eMMC do DragonFly.
  • ahci - Niektóre poprawki zgodności i dodatkowe dziwactwa dodane do obsługi uszkodzonych chipsetów, w szczególności mnożników portów. Zaimplementuj także FBS (FIS-Based-Switching), jeśli jest obsługiwany przez chipset.
  • Dodano obsługę Trackpoint i Elantech.
  • Userland:
  • systat enhanced to collapse wielu przerwań należących do tego samego sterownika, ponieważ często jest ich zbyt wiele, aby je teraz wyświetlić.
  • systat -vm 1 został znacznie ulepszony i przebudowany, aby zgłaszać więcej użytecznych informacji i rozpakowywać pola, aby się do siebie nie dopuścić. I dodaj "nvme" do dopasowania urządzenia blokowego. Dostosuj również rozszerzone wyświetlanie vmstats i zmień, jak zgłaszane są ozfod i nzfod.
  • Odwzorowano wyjście "vmstat 1". Wszystkie pola wpadały na siebie ze względu na wysoką wydajność nowoczesnej maszyny, co 30 lat temu było znane.
  • Zmień sygnalizację mount / mountd, aby zredukować niepotrzebne skany i polecenia listli montowania z operacji mount_null i mount_tmpfs. Tylko naprawdę ma znaczenie przy dużym jednoczesnym korzystaniu z mount / umount, ale większość kompilacji faktycznie tworzy taką sytuację.
  • Naprawiono liczne wycieki fork / exec * (), które libc może wywołać, ponieważ nie używają O_CLOEXEC w sposób atomowy. Dodaj różne funkcje O_CLOEXEC do funkcji takich jak popen () i mk * stemp * () (dodaj mkostemp () i mkostemps ()). Napraw wyciek deskryptora pliku w popen () podczas pracy w środowisku gwintowanym.
  • Bądź milszy od pthreads w vfork (), nadając nowemu podprocesowi lwp ten sam TID, co ten, który wywołał vfork (). Pozwala to na wykonywanie funkcji pomocniczych pthread w pliku potomnym podczas vfork bez impozycji pthreadów.
  • Wiele poprawek kompatybilności z nagłówkami w celu ulepszenia zbiorczych kompilacji dportów.
  • Kilka importów OpenSSL dla poprawek bezpieczeństwa.
  • Ponownie zsynchronizuj OpenSSH, aby łatwiej było go zachować.
  • Rozdziel flagi jądra C, używając kompilacji jądra, użyj KCFLAGS zamiast CFLAGS.
  • Usuń całkowicie liczne stare sterowniki ISA z drzewa. Ponieważ DragonFlyBSD jest teraz tylko w wersji 64-bitowej, możemy zacząć usuwać stare sterowniki, które nie istnieją na 64-bitowych platformach.
  • Przedstaw WORLD_CFLAGS i WORLD_CCOPTLEVEL, domyślnie -O. Ułatwia to kompilowanie świata -O2 lub cokolwiek (np. WORLD_CCOPTLEVEL = 2). Jednak zniechęcamy do korzystania z 3 lub więcej. Poprawne wartości to 0, 1, 2, 3, s, g i "szybko".
  • Dostosuj formatowanie STAT dla ps, aby było bardziej czytelne i aby usunąć starodawne flagi, które nie są już stosowane i po prostu stwórz bałagan.
  • Napraw wyrównanie malloc () dla małych alokacji. Minimalne wyrównanie wynosi teraz 16 dla alokacji w zakresie 16-128 bajtów zamiast 8. Zauważ, że alokacja mocy 2 zawsze była naturalnie wyrównana, ale niektóre programy używają wielokrotności (np.) 16, jak "48", i przyjąć 16-bajtowe wyrównanie.
  • Fortele refaktoryzowane, dodane.
  • powerd - dodaj zarządzanie oparte na temperaturze do zasilania dzięki nowej opcji -H lotemp: hightemp. Ta funkcja jest niezwykle przydatna w laptopach o słabym chłodzeniu i które BIOSy celowo dławią w zbyt wysokiej temperaturze. Powerd teraz również wykrywa zmiany stanu zasilania (które mogą zmienić listę dostępnych częstotliwości) i prawidłowo zmienia usługę, gdy nastąpi zmiana stanu zasilania.
  • Mnóstwo poprawek i poprawek libthread_xu / pthreads w celu poprawy zgodności z formatem dport.
  • Dodaj funkcje kopiowania przy zapisie do vkernelu. Na przykład, pozwala wielu plikom VKernela używać pojedynczego obrazu dysku, posiadając każdą jedną modyfikację COW wewnętrznie do RAM.
  • / usr / src / secure rewired, konflikty usunięte z libmd, libcrypt.
  • W systemie podstawowym zaktualizowano różne narzędzia:
  • Kompilator zaktualizowany do wersji GCC 5.4.1.
  • Teraz mamy złoty linker z LTO.
  • binutils 2.25
  • mniej 481.
  • OpenSSL / LibRESSL całkowicie przebudowany. Baza używa teraz libressl.
  • Wiele aktualizacji stref czasowych.
  • Status młota:
  • Różne ulepszenia. Jedną z rzeczy, która nie dotarła do wydania, była wersja testowa do użycia szybszego algorytmu CRC z innym wielomianem. Ta praca zostanie MFC'd do -release po zakończeniu testów. Jednak użytkownicy nie powinni się o to martwić, ponieważ najpoważniejsza poprawka wydajności IS w wydaniu (poprawka do kodu cluster_write () dla zapisu systemu plików).
  • Status Hammer2:
  • Rozwój jest kontynuowany, ale nie ma jeszcze słowa w pierwszym wydaniu.
  • Status dzwonka:
  • Dodano podstawową strukturę do używania klanga jako alternatywnego podstawowego kompilatora w DragonFly, aby zastąpić gcc 4.7. To jeszcze nie jest kompletne. Clang można oczywiście dodać jako pakiet.
  • Status 64-bitowy:
  • Zauważ, że DragonFly to system operacyjny tylko w wersji 64-bitowej od wersji 4.6 i nie będzie działać na 32-bitowym sprzęcie.
  • Obsługa AMD Ryzen jest dostępna w tej wersji, a dalsze prace zostaną wprowadzone, gdy pojawią się nowe zmiany w Ryzen. Istnieje kilka problemów związanych z topologią raportowaną przez procesor, które zostaną naprawione i MFC'd. Występują pewne problemy ze stabilnością, które obecnie czekają na aktualizację mikrokodu AMD w celu rozwiązania / ponownego testowania. Użytkownicy Ryzen mogą być pewni, że jesteśmy na szczycie!

Co nowego w wersji 4.6.0:

  • mmcsd (4): Naprawiono literówkę w argumentach disk_create (). Umożliwia dostęp do> karty SD / MMC.
  • Dodaj unzip (1). Jeśli nie możesz ich pokonać, dołącz do em
  • Przywróć zdolność do budowania świata wersji Release 4.4
  • buildworld - Zezwól na budowanie na master
  • etc / rc.d - korekty bezdyskowe
  • jądro - Dodaj obsługę kingsue do NFS (napraw problemy z firefox w / nfs)
  • Zaimportuj OpenSSL 1.0.1.
  • Lokalne dostosowania dla OpenSSL 1.0.1.
  • Baza danych strefy synchronizacji z tzdata2016b z ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Nie ostrzegaj o skrótach takich jak "-05".
  • zic (8): Usuń "rejestr", który wkradł się do ostatniego zatwierdzenia.
  • kernel / acpi_timer: Dodaj brakującą wartość cpu_enable_intr () po teście timera.
  • em.4: Wspomnij o obsłudze i219.
  • ig_hal / em / emx: Dodaj obsługę I219 (Skylake)
  • sys / vfs / hammer: Napraw błąd w usuwaniu nagłówka woluminu
  • sbin / hammer: nie uzyskuj dostępu powyżej 16 KB bufora przestrzeni użytkownika HAMMER
  • sbin / hammer: dodaj zaciemnioną opcję, aby uderzyć w show
  • sys / vfs / hammer: Tymczasowa poprawka dla paniki jądra na volume-del

Co nowego w wersji 4.4.3 / 4.6.0 RC2:

  • mmcsd (4): Naprawiono literówkę w argumentach disk_create (). Umożliwia dostęp do> karty SD / MMC.
  • Dodaj unzip (1). Jeśli nie możesz ich pokonać, dołącz do em
  • Przywróć zdolność do budowania świata wersji Release 4.4
  • buildworld - Zezwól na budowanie na master
  • etc / rc.d - korekty bezdyskowe
  • jądro - Dodaj obsługę kingsue do NFS (napraw problemy z firefox w / nfs)
  • Zaimportuj OpenSSL 1.0.1.
  • Lokalne dostosowania dla OpenSSL 1.0.1.
  • Baza danych strefy synchronizacji z tzdata2016b z ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Nie ostrzegaj o skrótach takich jak "-05".
  • zic (8): Usuń "rejestr", który wkradł się do ostatniego zatwierdzenia.
  • kernel / acpi_timer: Dodaj brakującą wartość cpu_enable_intr () po teście timera.
  • em.4: Wspomnij o obsłudze i219.
  • ig_hal / em / emx: Dodaj obsługę I219 (Skylake)
  • sys / vfs / hammer: Napraw błąd w usuwaniu nagłówka woluminu
  • sbin / hammer: nie uzyskuj dostępu powyżej 16 KB bufora przestrzeni użytkownika HAMMER
  • sbin / hammer: dodaj zaciemnioną opcję, aby uderzyć w show
  • sys / vfs / hammer: Tymczasowa poprawka dla paniki jądra na volume-del

Co nowego w wersji 4.4.3:

  • mmcsd (4): Naprawiono literówkę w argumentach disk_create (). Umożliwia dostęp do> karty SD / MMC.
  • Dodaj unzip (1). Jeśli nie możesz ich pokonać, dołącz do em
  • Przywróć zdolność do budowania świata wersji Release 4.4
  • buildworld - Zezwól na budowanie na master
  • etc / rc.d - korekty bezdyskowe
  • jądro - Dodaj obsługę kingsue do NFS (napraw problemy z firefox w / nfs)
  • Zaimportuj OpenSSL 1.0.1.
  • Lokalne dostosowania dla OpenSSL 1.0.1.
  • Baza danych strefy synchronizacji z tzdata2016b z ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Nie ostrzegaj o skrótach takich jak "-05".
  • zic (8): Usuń "rejestr", który wkradł się do ostatniego zatwierdzenia.
  • kernel / acpi_timer: Dodaj brakującą wartość cpu_enable_intr () po teście timera.
  • em.4: Wspomnij o obsłudze i219.
  • ig_hal / em / emx: Dodaj obsługę I219 (Skylake)
  • sys / vfs / hammer: Napraw błąd w usuwaniu nagłówka woluminu
  • sbin / hammer: nie uzyskuj dostępu powyżej 16 KB bufora przestrzeni użytkownika HAMMER
  • sbin / hammer: dodaj zaciemnioną opcję, aby uderzyć w show
  • sys / vfs / hammer: Tymczasowa poprawka dla paniki jądra na volume-del

Co nowego w wersji 4.4.2:

  • virtio_blk: Użyj contigmalloc / contigfree dla przydziałów vtblk_request.
  • drm / radeon: Potrzebujemy fizycznego adresu strony fikcyjnej, a nie wirtualnej
  • if_iwm: Zastosuj pewne zmiany z OpenBSD, if_iwm.c rev 1.39 - & gt; 1,42
  • if_iwm: Po prostu przechowuj wskaźnik oprogramowania układowego, taki jak if_iwn.
  • if_iwm: Usuń komentarze odnoszące się do plików źródłowych Linux iwlwifi.
  • if_iwm: Napraw użycie IEEE80211_ADDR_COPY ().
  • if_iwm: Napraw kod konfiguracji sterowania prędkością transmisji.
  • etc / rc.d: Zaktualizuj rtsold
  • i915 - Dodaj opóźnienie po dołączeniu, aby uniknąć wyścigi konsoli / X
  • kernel - Zmniejsz opóźnienie lwp_signotify ()
  • devfs - Napraw panikę na dodatkowych montowaniach devfs, gdy zasady są obecne
  • ssh - Usuwanie nieudokumentowanej obsługi roamingu CVE-2016-0777 CVE-2016-0778
  • jądro - Dodaj dziwactwa dla xhci (usb)
  • hammer - usuń debugowanie kprintf
  • libc / stdtime: Napraw dwa przypadki, w których wskaźnik NULL mógł być wolny () "d.
  • kernel / vga: Usuń błędny lwkt_reltoken (). W tym momencie nie jest to już brane pod uwagę.
  • libc / nls: Sync str {błąd, sygnał} () wiadomości.
  • w (1): inet_addr () zwraca INADDR_NONE po niepowodzeniu.
  • ee (1): Napraw niezainicjowaną zmienną.
  • kernel: Napraw system sysctl kern.dumpdev.
  • Importuj OpenSSL 1.0.1r.
  • Lokalne dostosowania dla OpenSSL 1.0.1r.
  • gcc50 / libconv_supc: cp-demangle.c potrzebuje HAVE_CONFIG_H.
  • Baza danych strefy synchronizacji z tzdata2016a z ftp://ftp.iana.org/tz/releases
  • dokonaj aktualizacji: dodaj przestarzałą strefę czasową.
  • igb: Napraw ustawienia DMACR
  • ifconfig: Napraw usuwanie adresu inet6

Co nowego w wersji 4.4.1:

  • Kernel:
  • Poprawione ustawienia oszczędzania energii przez procesor
  • Zredukowany przydział plików / darmowa rywalizacja
  • Ogranicz rywalizację kqueue
  • Wdrożono wywołanie systemowe lwp_setname (2)
  • Naprawiono obsługę operacji dsp (4) bez blokowania
  • Dodaj sterownik aperf (4), aby wyświetlić efektywną częstotliwość procesora
  • Liczne poprawki i poprawki HAMMERA
  • Synchronizuj ACPICA z 20151124
  • Zwykle kończy się usuwanie bitów i386 (32-bitowych)
  • Dostosuj stertę rozruchową do obsługi większych obrazów MD
  • Czyszczenie kończy się po martwym kodzie jądra (pozostaje link syslink, itp.)
  • został usunięty (błędy w działaniu i nie działa dobrze z dyskami SSD)
  • Przekoduj algorytmy pagerów dla pkill o niskiej i niedoborem pamięci
  • Grafika:

  • Sterowniki
  • drm / i915 i drm / radeon dopasowują teraz jądro Linux 3.18
  • i915 wspiera ValleyView / Baytrail i Cherryview Atom SOCs
  • Procesory graficzne Broadwell są teraz w pełni przyspieszane
  • Prace przygotowawcze do obsługi Skylake
  • Konsola systemowa domyślnie obsługuje grafikę DRM; wirtualne terminale nie pokazują już tylko czarnego ekranu po uruchomieniu Xorg i załadowaniu jednego z modułów jądra km.
  • Lepsze zarządzanie energią. Panel Self Refresh dostępny na sprzęcie i915
  • Czujniki temperatury są teraz obsługiwane przez sprzęt Radeon
  • Sieci:
  • Obsługa Realtek 8168H w re (4)
  • iwm (4) dodano sterownik
  • Zaktualizowano rtadvd, dodano rtadvctl
  • Asynchroniczne połączenia UDP, do obsługi znacznie większego obciążenia
  • Nowe większe okno startowe TCP dla połączeń o dużym opóźnieniu
  • Wartości jądra nmbcluster są regulowane na żywo, dla dużego ruchu Sieci:
  • Stabilizuj gniazdo domeny UNIX
  • Nowy kod GC do przekazywania fd przez gniazda domeny unix
  • Różne synchronizacje IPv6 z FreeBSD
  • Lepsza wydajność gniazda (2) dla TCP i UDP
  • Ulepszono wybór lokalnego portu TCP (2)
  • Dodano polecenie systemowe accept (4)
  • Dodano obsługę flag SOCK_CLOEXEC i SOCK_NONBLOCK (2) i accept4 (2)
  • Ustaw opcje kontroli przepływu HW dla ifconfig
  • Dodaj tunables, aby umożliwić ustawianie iosize NFSROOT i ustawienia readahead
  • Przynieś rozwinięty ipfw z FreeBSD (zwanego ipfw3 w DFly)
  • Inne sterowniki:
  • Obsługa MIDI została odświeżona
  • Wiele poprawek dla programatora urządzeń
  • dm-delay i dm-flakey zostały dodane do urządzenia mapującego urządzenia
  • Modemy USB działają lepiej (lub przynajmniej nie wpadają w panikę w jądro)
  • Poprawiony dostęp do funkcji i statusu ram ECC
  • zaktualizowano aktualizację z FreeBSD (tuż przed usunięciem podzielonego urządzenia)
  • Userland:
  • biblioteka regex została zamieniona na wielobajtową i ogólnie o wiele bardziej wydajną bibliotekę regex TRE. Pasuje do OSX w funkcjach. (DF jest pierwszym BSD, który przechodzi do TRE po MacOS)
  • libm zastąpione wersją OpenBSD (jest to praca zespołowa w toku)
  • libc posiada teraz wersję symboliczną, która umożliwia uruchamianie plików binarnych utworzonych w wersji 4.4 w DragonFly przez wiele lat.
  • Kompletny przegląd i aktualizacja ustawień regionalnych, w tym implementacja sortowania.
  • malloc.h usunięty (DragonFly jest pierwszym BSD do usunięcia tego nagłówka)
  • gcc50 libstdc ++ zostało zmodyfikowane, aby umożliwić pełne wykorzystanie funkcji C99 na clang
  • W wyniku aktualizacji ustawień regionalnych wynik formatu ls (1) i formatu -T zmienił się, gdy używane są nazwane ustawienia regionalne. Warto zauważyć, że długie miesiące formatowania są zawsze skracane w języku angielskim (przy użyciu definicji POSIX gwarantowanych w ten sposób, że są zarówno szybkie, jak i o szerokości trzech liter), a informacja o roku, godzinie i drugiej jest zawsze wyświetlana. W ustawieniach regionalnych C / POSIX nie ma zmiany w wynikach ls (1) innych niż obsługa przyszłych znaczników czasowych, aby dopasować się do standardowych wymagań POSIX.
  • Jeśli używany jest moduł WPA Supplicant from base, podczas rozruchu wystąpi 10-sekundowe opóźnienie, ponieważ wyświetlany jest komunikat, który zdecydowanie zaleca użycie wersji programu DPorts (security / wpa_supplicant).
  • Improved powerd (8)
  • Lepsze wyjście z góry (1) i ps (1) dla wątków LWP i wątków jądra
  • Naprawiono obsługę pthread_set_name_np (3)
  • Portowany tcpdrop (8)
  • Dodanie wielu nowych ustawień, w tym sześciu arabskich ustawień regionalnych (Zjednoczone Emiraty Arabskie, Arabia Saudyjska, Egipt, Jordania, Maroko, Katar), dodatkowych ustawień regionalnych w Hiszpanii (Meksyk, Argentyna, Kostaryka), dodatkowych lokalizacji w języku angielskim (Filipiny, Singapur, Hongkong) , poprawione norweskie lokalizacje (tylko nb i nn), rozszerzony szwedzki (Finlandia), Sami (Finlandia, Norwegia), serbski przedstawiony obecnie zarówno w cyrylicy jak i w łacinie. ("locale -a" zawiera kompletną listę.)
  • rtadvc zaimportowano z FreeBSD
  • W systemie podstawowym zaktualizowano różne narzędzia:
  • nvi2 zaktualizowano do wersji 2.1.3
  • Dodano libexecinfo (zsynchronizowane z FreeBSD)
  • iconv zsynchronizowany z FreeBSD
  • openssl został zaktualizowany do wersji 1.0.1q
  • xz zaktualizowano do wersji 5.2.2
  • Aktualizacja biblioteki libedit do wersji 2015-03-25
  • binutils zaktualizowano do wersji 2.25.1
  • grep zaktualizowany do wersji 2.22
  • tcsh zaktualizowano do wersji 6.19.00
  • libdialog zaktualizowano do wersji 1.2-20150920
  • (tn) ftp zaktualizowano do '10 OCT 2015 '
  • gcc zaktualizowano do wersji 5.2
  • acpica zaktualizowana do 20150717
  • sort (1), który pochodził z NetBSD, został zastąpiony przez wersję FreeBSD
  • localedef (1), wewnętrzne narzędzie pochodzące z Illumos
  • cldr2def, wewnętrzne narzędzie z początkiem opuszczonego projektu FreeBSD, ale rozszerzone dla DF
  • Usunięto z systemu podstawowego:
  • hostapd (najnowsza wersja dostępna przez dports: net / hostapd)
  • mklocale (zastąpione przez localedef)
  • colldef (zastąpiony przez localedef)
  • Ulepszenia HAMMER:
  • Wiele, wiele poprawek i poprawek do Hammer1, dzięki Tomohiro Kusumi
  • Inne ulepszenia:
  • DPorts liczyć na około 22.800 portów. Wiele wcześniej złamanych portów zostało naprawionych przez zwykłych użytkowników dzięki wkładom oferowanym przez mechanizm żądania wyciągania GitHub. (Dzięki!)
  • Sześć "oficjalnych" zestawów tapety DragonFly jest dostępnych w motywach x11 / dragonfly-wallpapers (pkg install dragonfly-wallpapers). Są one automatycznie instalowane i wstępnie wybrane dla użytkowników KDE i automatycznie instalowane dla użytkowników XFCE4, ale tapety nadal są wybierane ręcznie na tym pulpicie (przynajmniej na razie). Są instalowane na share / wallpapers, które są połączone symbolami share / backgrounds / dragonfly.

Podobne oprogramowanie

Rom SENSATION XL
Rom SENSATION XL

14 Apr 15

NuttX
NuttX

10 May 15

IceCreamTosti
IceCreamTosti

14 Apr 15

Komentarze do DragonFly BSD

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!