utgivning , ett operativsystem med ett hybridkernel, Är 2003 för att alternativt utveckla grenen FreeBSD 4.x. Bland de sÀrskilda egenskaperna hos DragonFly BSD finns en distribuerad versionskontrollfilssystem , stöd för att ladda 'virtuella' kÀrnor av systemet som anvÀndarprocesser, möjlighet till cachelagring av data och metadata pÄ SSD-lagringsenheter, kontextberoende symboliska lÀnkar, möjlighet att frysa processer med bibehÄllande av deras tillstÄnd pÄ disk, en hybridkernel som anvÀnder lÀtta trÄdar (LWKT).
Huvud , som lades till i DragonFlyBSD 5.6:
- Systemet för virtuell minneshantering har uppgraderats. MÄnga delsystem relaterade till virtuellt minne och PMAP har skrivits om.
I mÄnga delar av koden har lÄs tagits bort, inklusive i funktionerna m_page_wakeup, vm_hold och vm_unhold. Effektiviteten i anvÀndningen av CPU-cache har ökat genom att migrationen av VM-objekt mellan CPU-kÀrnor har minskat och overheaden vid hantering av undantag (page-fault) för delade minnesomrÄden har minskat. Algoritmen för minnesallokering av sidor har förbÀttrats. Fördröjningar vid funktionen vm_page_alloc() har eliminerats. API:et vm_page_hash*() har lagts till för att möjliggöra operationer utan lÄs.Som ett resultat har det blivit möjligt att avsevÀrt . Till exempel,
i buildkernel-testet har tiden för operationer pÄ kÀrnsidan minskat med 40%. Bandbredden har ökat med 7% med CPU-familjen Haswell och 14% för Xeon. I SELF-EXEC S/DI-testet jÀmfört med den tidigare versionen observeras en prestandaökning pÄ 23% för Haswell och 18% för Xeon. I testet
SELF-EXEC S/SH Ă€r det respektive 28% och 71%, i SELF-EXEC D/DI â 23% och 242% (pĂ„ grund av förbĂ€ttrad multitasking), i SELF-EXEC D/SH 24% och 234%, i FAULTZF 17% och 14%, i DOCOMP 22% och 42%,
i NATIVEKERNEL 5.1% och 8.1%; - DRM-drivrutinen och hanteringen av videominne TTM för AMD-grafikkort har uppdaterats markant. Stöd för nya APU Ryzen har lagts till. Stödet för UEFI-framebuffer har förbÀttrats. I radeon/ttm har en negativt prestandapÄverkande dödlÀge tagits bort. En omarbetning av fördröjningar under uppstarten har gjorts för att undvika konflikt mellan i915-drivrutinen och X-servern. Anropet DRM_IOCTL_GET_PCIINFO har lagts till för att förbÀttra stödet för mesa/libdrm. MÄnga fel och brister har ÄtgÀrdats;
- Kod för synkronisering i filsystemet HAMMER2 har skrivits om, vilket har gjort det möjligt att avsevĂ€rt öka prestandan för detta filsystem. Ăven prestandan för sekventiella skrivoperationer har ökat.
För att öka motstÄndskraften mot krascher har vi lagt till spÄrning av beroenden för att förhindra separation av kataloger/filer under skapande, omdöpning eller borttagningsoperationer. Koden för hantering av snapshots har omarbetats för att minska latensen och garantera konsistens i snapshotet. Bearbetningen av samtidiga skrivoperationer och cacheutlÀsning till disk har förbÀttrats. Genomförandet av umount-operationen har förbÀttrats. Meddelandena om integritetsövertrÀdelser (CRC-fel) har blivit mer informativa.HAMMER2 rekommenderas som standardrotfilsystem. Stöd för klustring Àr för nÀrvarande inte tillgÀngligt. Filssystemet HAMMER2 kÀnnetecknas av funktioner som separat montering av snapshots, skrivbara snapshots, kvoter pÄ katalognivÄ, inkrementell spegling, stöd för olika datakomprimeringsalgoritmer och multi-master spegling med datadistribution över flera vÀrdar.
- Inledande stöd för FUSE-underrutinen för att skapa filsystem i anvÀndarrummet har lagts till.
- Prestandan för paketfiltret PF har ökat pÄ flerkÀrniga system.
- Stöd för skyddsmekanismerna SMAP (Supervisor Mode Access Prevention) och SMEP (Supervisor Mode Execution Prevention) har implementerats, om de stöds av CPU. SMAP tillÄter blockering av tillgÄng till anvÀndardata frÄn privilegierad kod som körs pÄ kÀrnnivÄ. SMEP förhindrar övergÄng frÄn kÀrnlÀge till körning av kod pÄ anvÀndarnivÄ, vilket blockerar utnyttjande av mÄnga sÄrbarheter i kÀrnan (shell-kod kommer inte att köras eftersom den finns i anvÀndarrummet).
- Kod för att blockera MDS (Microarchitectural Data Sampling) klass i Intel-processorer. För att fungera krÀvs uppdaterad mikrokod. Standard Àr skyddet avaktiverat och aktiveras genom 'sysctl machdep.mds_mitigation=MD_CLEAR'. Aktivering medför en extra fördröjning pÄ cirka 250ns vid kontextbyten mellan anvÀndarrum och kÀrna.
- KÀrnan Àr som standard kompilerad med retpoline-skydd mot Spectre-attacker.
- MÄnga verktyg frÄn baskomponenten har översatts till att anvÀnda LibreSSL.
- Versionerna av tredjeparts komponenter har uppdaterats, inklusive xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 2019-03-24. evdev, makefs, ministat, libfetch har överförts frÄn FreeBSD.
dd. Funktionsanropen reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() har överförts frÄn OpenBSD till libc. Som standard anvÀnds kompilatorn gcc-8 istÀllet för gcc-5 för bygget.
KĂ€lla: opennet.ru
