Liberigo de la operaciumo DragonFly BSD 5.8

Disponebla liberigi DragonFlyBSD 5.8, operaciumo kun hibrida kerno, kreita en 2003 por la celo de alternativa evoluo de la branĉo FreeBSD 4.x. Inter la funkcioj de DragonFly BSD, ni povas reliefigi distribuitan versionan dosiersistemon HAMMER, subteno por ŝarĝo de "virtualaj" sistemaj kernoj kiel uzantprocezoj, la kapablo konservi FS-datumojn kaj metadatenojn sur SSD-diskoj, kuntekst-sentemaj variantaj simbolaj ligiloj, la kapablo frostigi procezojn dum konservado de sia stato sur disko, hibrida kerno uzante malpezajn fadenojn. (LWKT) .

Ĉefa plibonigojaldonite en DragonFlyBSD 5.8:

  • La ĉefa komponado inkluzivas la utilecon dsynth, desegnita por loka kunigo kaj prizorgado de viaj propraj binaraj deponejoj de DPort. Paraleligo de la kunigo de arbitra nombro da havenoj estas subtenata, konsiderante la dependecan arbon. En preparo por la nova eldono, DPort ankaŭ faris grandan nombron da ŝanĝoj celantaj akceli la konstruon de pluraj dependaj pakaĵoj.
  • libc efektivigas efikan signal-maskan mekanismon, kiu ebligas protekti malloc*() kaj similajn funkciojn de problemoj pro ilia interrompo per signalo. Por mallongdaŭra blokado kaj malblokado de signaloj, la funkcioj sigblockall() kaj sigunblockall() estas proponitaj, kiuj funkcias sen fari sistemajn vokojn. Krome, libc adaptis la funkcion strtok() por uzo en plurfadenaj aplikoj, aldonis konstantojn TABDLY, TAB0, TAB3 kaj la funkcion __errno_location por plibonigi dports-subtenon.
  • DRM (Direct Rendering Manager) interfacaj komponantoj estas sinkronigitaj kun la Linukso-kerno 4.9, kun elektitaj funkcioj portitaj el la 4.12-kerno celante plibonigi Wayland-subtenon.
    La drm/i915-ŝoforo por Intel GPU-oj estas sinkronigita kun la Linukso-kerno 4.8.17 kun kodo transdonita de la 5.4-kerno por subteni novajn blatojn (Skylake, Coffelake, Sukcena Lago, Viskio-Lago kaj Kometa Lago). La drm/radeon-ŝoforo por AMD-vidkartoj estas sinkronigita kun la Linukso 4.9-kerno.

  • Virtuala memorpaĝigo-algoritmoj estis signife plibonigitaj, permesante al ni elimini aŭ minimumigi respondecproblemojn en la uzantinterfaco kiam ekzistas nesufiĉa memoro. Problemoj kun Chrome/Chromium-frostigo pro nesufiĉa sistema memoro estis solvitaj.
  • Plibonigita kerno-skalado sur sistemoj kun granda nombro da procesoraj kernoj. Reduktita virtuala memorpaĝa petotempo. Reduktita SMP-disputo kiam memoro estas malalta. Pliigita efikeco de la "malferma(... O_RDWR)" alvoko.
  • La pseŭdo-hazarda nombrogeneratoro en la kerno estis restrukturita. La RDRAND-ŝoforo estas adaptita por akumuli entropion de ĉiuj CPUoj. Reduktita intenseco
    kaj la grandeco de la RDRAND-fluo, kiu antaŭe prenis 2-3% de CPU-tempo dum neaktiva tempo.

  • Aldonitaj novaj sistemvokoj realpath, getrandom kaj lwp_getname (permesis la efektivigon de pthread_get_name_np).
  • Aldonita subteno por protektaj mekanismoj SMAP (Supervisor Mode Access Prevention) kaj SMEP (Supervisor Mode Execution Prevention). SMAP permesas al vi bloki aliron al uzantspacaj datumoj de privilegia kodo funkcianta ĉe la kernnivelo. SMEP ne permesas la transiron de la kerna reĝimo al la ekzekuto de kodo situanta ĉe la uzantnivelo, kio ebligas bloki la ekspluaton de multaj vundeblecoj en la kerno (ŝelkodo ne estos ekzekutita, ĉar ĝi estas en uzantspaco);
  • Reverkitaj sysctl-variabloj por agordi Jail. Aldonita la kapablo munti nullfs kaj tmpfs de Jail.
  • Aldonita kriz-reĝimo por la dosiersistemo HAMMER2, kiu povas esti uzata dum reakiro post fiasko. En ĉi tiu reĝimo, eblas detrui momentfotojn kiam ĝi ĝisdatigas la inodon loke (ebligas al vi forigi dosierojn kaj dosierujojn en foresto de libera disko, kiam estas neeble uzi la kopio-sur-skribi mekanismon). Signife plibonigita agado per relaborado de fadena sendo-subteno en HAMMER2. La procezo de lavado de bufroj estis signife plibonigita.
  • Plibonigita fidindeco kaj efikeco de TMPFS. Pliigita operacia efikeco kiam mankas libera memoro en la sistemo.
  • La reta stako IPv4 nun subtenas /31-prefiksojn (RFC 3021).
    Tap plibonigis SIOCSIFMTU ioctl-traktadon por subteni MTU > 1500. Aldonita subteno por SIOCSIFINFO_IN6 kaj SO_RERROR.

  • La iwm-ŝoforo estas sinkronigita kun FreeBSD kun subteno por Intel sendrataj blatoj (aldonita subteno por iwm-9000 kaj iwm-9260).
  • Aldonitaj funkcioj baznomo() kaj dirname() kongruaj kun Linukso por plibonigi havenkongruecon.
  • Movis fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 de FreeBSD al libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Funkcioj de math.h estis movitaj de OpenBSD.
  • Ĝisdatigitaj versioj de triaj komponantoj, inkluzive de Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. La defaŭlta kompililo estas gcc-8.

fonto: opennet.ru

Aldoni komenton