ukukhulula , inkqubo yokusebenza ene-hybrid kernel, ngo-2003 ngenjongo yolunye uphuhliso lwesebe leFreeBSD 4.x. Phakathi kweempawu ze-DragonFly BSD, sinokugqamisa inkqubo yefayile esasaziweyo , inkxaso yokulayisha "i-virtual" ye-kernels yenkqubo njengeenkqubo zomsebenzisi, ukukwazi ukugcina idatha ye-FS kunye nemethadatha kwi-SSD drives, ikhonkco-enovakalelo olwahlukileyo olungokomfuziselo, ukukwazi ukumisa iinkqubo ngelixa ugcina imeko yazo kwidiski, i-kernel exutyiweyo isebenzisa imisonto elula. (LWKT) .
Siseko ifakwe kwi-DragonFlyBSD 5.6:
- Inkqubo yolawulo lwenkumbulo yenyani yenziwe yala maxesha. Iinkqubo ezininzi ezisezantsi eziyelelene kwimemori ebonakalayo kunye ne-PMAP zibhalwe ngokutsha.
Ikhowudi ikhululwe ekutshixeni kwiindawo ezininzi, kuquka i-m_page_wakeup, vm_hold, kunye ne-vm_unhold imisebenzi. Ukusebenza kakuhle kokusebenzisa i-cache yeprosesa kuye kwanda ngokunciphisa ukufuduka kwezinto ze-VM phakathi kwe-CPU cores kunye nokunciphisa i-overhead xa uphatha ngaphandle (iimpazamo zephepha) kwiindawo zememori ezabelwana ngazo. Uphuculo lwe-algorithm yonikezelo lwekhasi lememori. Ulibaziseko kwi vm_page_alloc () umsebenzi ulungisiwe. I-vm_page_hash*() API yongezwe ukuvumela ukulanda ngaphandle kokuthintela.Ngenxa yoko, kwakunokwenzeka ngokuphawulekayo . Umzekelo
kuvavanyo lokwakha, ixesha elifunekayo ukwenza imisebenzi kwicala le-kernel lancitshiswa ngama-40%. Imveliso inyuke nge-7% xa usebenzisa ii-CPU zeentsapho zakwaHaswell kunye ne-14% kwi-Xeon. I-benchmark ye-SELF-EXEC S / DI ibonisa ukunyuka kwe-23% yentsebenzo ye-Haswell kunye ne-18% ye-Xeon xa kuthelekiswa nokukhululwa kwangaphambili. Kuvavanyo
I-SELF-EXEC S/SH ngokulandelelanayo i-28% kunye ne-71%, kwi-SELF-EXEC D/DI - 23% kunye ne-242% (ngenxa yokuphuculwa kwe-multi-threading), kwi-SELF-EXEC D/SH nge-24% kunye ne-234%, I-FAULTZF nge-17% ne-14%, kwiDOCOMP ngama-22% nama-42%,
kwi-NATIVEKERNEL nge-5.1% kunye ne-8.1%; - Umqhubi we-DRM kunye nomphathi wolawulo lwememori yevidiyo ye-TTM kumakhadi evidiyo e-AMD ahlaziywe kakhulu. Inkxaso eyongeziweyo yee-APU ezintsha zeRyzen. Uphuculo lwenkxaso ye-framebuffer ye-UEFI. Kwi-radeon/ttm, ukuvalwa kwempembelelo yokusebenza kuphelisiwe. Ukumiselwa kokulibaziseka ngexesha lenkqubo yokulayisha kuye kwahlaziywa ukuze kugwenywe iingxabano phakathi komqhubi we-i915 kunye nomncedisi we-X. Kongezwe umnxeba we-DRM_IOCTL_GET_PCIINFO ukuphucula inkxaso ye-mesa/libdrm. Iimpazamo ezininzi kunye neentsilelo ziye zasuswa;
- Ikhowudi yongqamaniso kwinkqubo yefayile ye-HAMMER2 ibhalwe ngokutsha, ephucule kakhulu ukusebenza kwesi sixokelelwano sefayile. Umsebenzi wokubhala ngokulandelelanayo nawo uphuculwe.
Ukuphucula ukunyamezela ukuphazamiseka, ukulandela umkhondo wokuxhomekeka kongezwe ukuphelisa ulawulo/ukwahlulwa kwefayile ngexesha lokudala, ukuthiya ngokutsha, okanye ukucima imisebenzi. Ikhowudi yokusebenza kunye ne-snapshots iye yaphinda yasetyenziswa ukunciphisa ukulibaziseka kunye nokuqinisekisa ukuhambelana kwe-snapshot. Ukuphathwa okuphuculweyo kokubhala ngaxeshanye kunye nemisebenzi yokugungxulwa kwecache. Ukuphuculwa kokuphunyezwa komsebenzi wokunyuswa. Isiqulatho solwazi semiyalezo emalunga nokwaphulwa kwentembeko (iimpazamo zeCRC) zonyusiwe.I-HAMMER2 iyacetyiswa njengendlela yefayile yengcambu. Inkxaso ye-Clustering ayikabikho. I-HAMMER2 FS iphawuleka kwimisebenzi efana nokunyuswa kwesnapshots ngokwahlukeneyo, izifinyezo ezinokubhalwa, iiquota zomgangatho wolawulo, isibuko esongezelekayo, inkxaso yee-algorithms zoxinzelelo lwedatha, isipili esine-multi-master mirroring kunye nokuhanjiswa kwedatha kwiinginginya ezininzi;
- Inkxaso yokuqala eyongeziweyo ye-FUSE subsystem yokudala iinkqubo zefayile kwindawo yomsebenzisi;
- Ukusebenza okuphuculweyo kwesihluzi sepakethe yePF kwiinkqubo ezininzi ezingundoqo;
- Inkxaso ye-SMAP (i-Supervisor Mode Access Prevention) kunye ne-SMEP (i-Supervisor Mode Execution Prevention) iindlela zokukhusela ziphunyeziwe xa zixhaswa kwi-CPU. I-SMAP ikuvumela ukuba uthintele ukufikelela kwidatha yendawo yomsebenzisi kwikhowudi enelungelo elisebenzayo kwinqanaba le-kernel. I-SMEP ayivumeli ukutshintshwa kwimodi ye-kernel ekuqhutyweni kwekhowudi ebekwe kwinqanaba lomsebenzisi, okwenza kube lula ukuvimba ukuxhaphazwa kwezinto ezininzi ezinobungozi kwi-kernel (ikhowudi yegobolondo ayiyi kuphunyezwa, ekubeni isendaweni yomsebenzisi);
- Ikhowudi yokuthintela eyongeziweyo Iklasi ye-MDS (Microarchitectural Data Sampling) kwiiprosesa ze-Intel. Ifuna i-microcode ehlaziyiweyo ukuze isebenze. Ngokungagqibekanga, ukhuseleko luvaliwe kwaye luvulwa ngokusetyenziswa kwe-'sysctl machdep.mds_mitigation=MD_CLEAR'. Ukuyivumela yazisa i-250ns eyongezelelweyo latency xa umxholo utshintsha phakathi komsebenzisi kunye ne-kernel space;
- I-kernel yakhiwe ngokungagqibekanga ngokhuseleko lwe-retpoline ngokuchasene nokuhlaselwa kweSpecter.
- Izixhobo ezininzi ezisuka kwinkqubo yesiseko ziguqulwe ukuze zisebenzise i-LibreSSL;
- Iinguqulelo ezihlaziyiweyo zamacandelo eqela lesithathu, kuquka i-xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libeit 2019-03-24. evdev, makefs, ministat, libfetch,
dd. Iifowuni reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() zisusiwe kwi OpenBSD zasiwa libc. Ngokungagqibekanga, i-gcc-5 compiler isetyenziselwa ukwakha endaweni ye-gcc-8.
umthombo: opennet.ru
