релиз , een besturingssysteem met een hybride kernel, in 2003 met het oog op alternatieve ontwikkeling van de FreeBSD 4.x-tak. Onder de kenmerken van DragonFly BSD kunnen we een gedistribueerd bestandssysteem met versiebeheer benadrukken , ondersteuning voor het laden van “virtuele” systeemkernels als gebruikersprocessen, de mogelijkheid om FS-gegevens en metagegevens op SSD-schijven in de cache op te slaan, contextgevoelige variante symbolische links, de mogelijkheid om processen te bevriezen terwijl ze hun status op schijf opslaan, een hybride kernel die lichtgewicht threads gebruikt (LWKT).
De belangrijkste toegevoegd in DragonFlyBSD 5.8:
- Het hulpprogramma is inbegrepen in het hoofdpakket , ontworpen voor lokale assemblage en onderhoud van DPort's eigen binaire repositories. Parallelle assemblage van een willekeurig aantal ports wordt ondersteund, rekening houdend met de afhankelijkheidsboom. Ter voorbereiding op de nieuwe release heeft DPort ook een groot aantal wijzigingen doorgevoerd om de assemblage van verschillende afhankelijke pakketten te versnellen.
- Libc implementeert een efficiënt signaalmaskeringsmechanisme, waarmee malloc*() en vergelijkbare functies worden beschermd tegen problemen als gevolg van signaalonderbreking. Voor het kortstondig blokkeren en deblokkeren van signalen worden de functies sigblockall() en sigunblockall() voorgesteld, die werken zonder systeemaanroepen. Daarnaast past libc de functie strtok() aan voor gebruik in multithreaded applicaties en voegt de constanten TABDLY, TAB0 en TAB3 toe, evenals de functie __errno_location om de dports-ondersteuning te verbeteren.
- De interfacecomponenten van DRM (Direct Rendering Manager) worden gesynchroniseerd met de kern. Linux 4.9 с портированием из ядра 4.12 отдельных возможностей, нацеленных на улучшение поддержки Wayland.
Драйвер drm/i915 для GPU Intel синхронизирован с ядром Linux 4.8.17 c переносом из ядра 5.4 кода для поддержки новых чипов (Skylake, Coffelake, Amber Lake, Whiskey Lake и Comet Lake). Драйвер drm/radeon для видеокарт AMD синхронизирован с ядром Linux 4.9. - Aanzienlijk verbeterde algoritmen voor het omwisselen van virtueel geheugen, waardoor problemen met de responsiviteit van de gebruikersinterface bij onvoldoende geheugen werden geëlimineerd of geminimaliseerd. Problemen met vastlopen van Chrome/Chromium bij onvoldoende systeemgeheugen zijn opgelost.
- Verbeterde kernelschaling op systemen met veel processorkernen. Kortere pagina-aanvraagtijd voor virtueel geheugen. Minder SMP-concurrentie bij weinig geheugen. Verhoogde efficiëntie van de "open(… O_RDWR)"-aanroep.
- De pseudo-random number generator in de kernel is herzien. De RDRAND-driver is aangepast om entropie van alle CPU's te accumuleren. De intensiteit is verlaagd.
en de grootte van de RDRAND-feed, die voorheen 2-3% van de CPU-tijd in beslag nam tijdens inactiviteit. - Nieuwe systeemaanroepen toegevoegd: realpath, getrandom en lwp_getname (waardoor pthread_get_name_np kan worden geïmplementeerd).
- Ondersteuning toegevoegd voor de beveiligingsmechanismen SMAP (Supervisor Mode Access Prevention) en SMEP (Supervisor Mode Execution Prevention). SMAP maakt het mogelijk om toegang tot gegevens in de gebruikersruimte te blokkeren voor geprivilegieerde code die op kernelniveau wordt uitgevoerd. SMEP voorkomt dat er wordt overgeschakeld van de kernelmodus naar het uitvoeren van code op gebruikersniveau, waardoor misbruik van veel kwetsbaarheden in de kernel wordt geblokkeerd (shellcode wordt niet uitgevoerd, omdat deze zich in de gebruikersruimte bevindt).
- Sysctl-variabelen voor jailconfiguratie herzien. Mogelijkheid toegevoegd om nullfs en tmpfs vanuit jail te mounten.
- Er is een noodmodus toegevoegd voor het HAMMER2-bestandssysteem, die kan worden gebruikt tijdens herstel na een storing. In deze modus kunnen snapshots worden vernietigd tijdens het bijwerken van bestaande inodes (hiermee kunt u bestanden en mappen verwijderen wanneer er geen vrije schijfruimte is, wanneer het niet mogelijk is om het copy-on-write-mechanisme te gebruiken). De prestaties zijn aanzienlijk verbeterd dankzij de verbeterde ondersteuning voor thread-dispatching in HAMMER2. Het proces voor het leegmaken van buffers is aanzienlijk verbeterd.
- Verbeterde betrouwbaarheid en prestaties van TMPFS. Verbeterde prestaties bij weinig geheugen.
- De netwerkstack voor IPv4 ondersteunt nu de prefixen /31 ().
Verbeterde SIOCSIFMTU ioctl-verwerking in tap ter ondersteuning van MTU > 1500. Ondersteuning toegevoegd voor SIOCSIFINFO_IN6 en SO_RERROR. - Bij FreeBSD is de iwm-driver gesynchroniseerd met ondersteuning voor draadloze Intel-chips (ondersteuning toegevoegd voor iwm-9000 en iwm-9260).
- Добавлены совместимые с Linux функции basename() и dirname() для улучшения совместимости в портах.
- Vanuit FreeBSD zijn fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 geporteerd naar libc/getaddrinfo(), calendar(1) en rcorder-visualize.sh. Vanuit OpenBSD zijn functies uit math.h geporteerd.
- Bijgewerkte versies van componenten van derden, waaronder Binutils 2.34, Openresolv 3.9.2 en DHCPCD 8.1.3. Standaard wordt de gcc-8-compiler gebruikt.
Bron: opennet.ru
