Kutulutsidwa kwa makina opangira a DragonFly BSD 5.8

Ipezeka kumasula DragonFlyBSD 5.8, makina ogwiritsira ntchito okhala ndi hybrid kernel, adalengedwa mu 2003 ndi cholinga cha chitukuko china cha nthambi ya FreeBSD 4.x. Zina mwazinthu za DragonFly BSD, titha kuwunikira mawonekedwe amafayilo omwe amagawidwa NYAMBO, kuthandizira kutsitsa ma "virtual" ma kernels ngati njira za ogwiritsa ntchito, kuthekera kosungira deta ya FS ndi metadata pa ma drive a SSD, maulalo ophiphiritsa okhudzana ndi zochitika, kutha kuyimitsa njira ndikusunga dziko lawo pa disk, kernel wosakanizidwa pogwiritsa ntchito ulusi wopepuka. (LWKT).

waukulu kuwongoleraanawonjezera DragonFlyBSD 5.8:

  • Waukulu zikuchokera zikuphatikizapo zofunikira dsynth, yopangidwira kusonkhana kwanuko ndikukonza nkhokwe zanu za binary za DPort. Kufanana kwa kusonkhana kwa madoko owerengeka kumathandizidwa, poganizira mtengo wodalira. Pokonzekera kumasulidwa kwatsopano, DPort yapanganso kusintha kwakukulu pofuna kufulumizitsa kumanga kwa mapaketi angapo odalira.
  • libc imagwiritsa ntchito njira yotsekera ma siginecha, yomwe imatheketsa kuteteza malloc*() ndi ntchito zofananira kumavuto chifukwa cha kusokonezedwa ndi chizindikiro. Pakutsekereza kwakanthawi kochepa komanso kumasula ma siginecha, ntchito za sigblockall () ndi sigunblockall () zimaperekedwa, zomwe zimagwira ntchito popanda kuyimba mafoni. Kuphatikiza apo, libc yasintha ntchito ya strtok() kuti igwiritsidwe ntchito mumitundu yambiri, idawonjezera zosinthika TABDLY, TAB0, TAB3 ndi __errno_location ntchito kuti ithandizire dports.
  • Zida za mawonekedwe a DRM (Direct Rendering Manager) zimalumikizidwa ndi Linux kernel 4.9, ndi mawonekedwe osankhidwa kuchokera ku 4.12 kernel yomwe cholinga chake ndi kukonza chithandizo cha Wayland.
    Dalaivala wa drm/i915 wa Intel GPUs amalumikizidwa ndi Linux kernel 4.8.17 ndi code yochotsedwa ku 5.4 kernel kuti ithandizire tchipisi tatsopano (Skylake, Coffelake, Amber Lake, Whisky Lake ndi Comet Lake). Dalaivala wa drm/radeon wamakhadi amakanema a AMD amalumikizidwa ndi Linux 4.9 kernel.

  • Ma Virtual memory paging ma algorithms asinthidwa kwambiri, kutilola kuti tichotse kapena kuchepetsa mavuto oyankha pamawonekedwe a ogwiritsa ntchito pakakhala kukumbukira kosakwanira. Mavuto ndi kuzizira kwa Chrome/Chromium chifukwa chosakwanira kukumbukira makina atha.
  • Kukweza kwa kernel pamakina okhala ndi ma processor cores ambiri. Kuchepetsa nthawi yopempha tsamba lokumbukira. Kuchepetsa mikangano ya SMP pamene kukumbukira kuli kochepa. Kuchulukitsa kwachangu kwa kuyimba kwa "open(... O_RDWR)".
  • Jenereta ya pseudo-random manambala mu kernel yakonzedwanso. Dalaivala wa RDRAND amasinthidwa kuti apeze entropy kuchokera ku ma CPU onse. Kuchepetsa mphamvu
    ndi kukula kwa chakudya cha RDRAND, chomwe m'mbuyomu chinatenga 2-3% ya nthawi ya CPU panthawi yopanda ntchito.

  • Dongosolo latsopano lowonjezera limayimba realpath, getrandom ndi lwp_getname (lolola kukhazikitsidwa kwa pthread_get_name_np).
  • Zowonjezera zothandizira njira zotetezera za SMAP (Supervisor Mode Access Prevention) ndi SMEP (Supervisor Mode Execution Prevention). SMAP imakulolani kuti mulepheretse kupeza kwa data-data kuchokera ku code yamwayi yomwe ikuyenda pamlingo wa kernel. SMEP sichilola kusintha kuchokera ku kernel mode kupita ku machitidwe a code omwe ali pamtunda wogwiritsa ntchito, zomwe zimapangitsa kuti zitheke kulepheretsa kugwiritsira ntchito ziwopsezo zambiri mu kernel (chipolopolo cha chipolopolo sichidzachitidwa, popeza chiri mu malo ogwiritsira ntchito);
  • Zosintha za sysctl zosinthira Jail. Adawonjezera kuthekera kokweza ma nullfs ndi ma tmpfs kuchokera ku Jail.
  • Anawonjezera mode mwadzidzidzi kwa HAMMER2 wapamwamba dongosolo, amene angagwiritsidwe ntchito pochira pambuyo kulephera. Munjira iyi, ndizotheka kuwononga zithunzithunzi mukakonza inode kwanuko (imakupatsani mwayi wochotsa mafayilo ndi zolemba pakalibe malo aulere a disk, pomwe sizingatheke kugwiritsa ntchito makina olembera). Kuchita bwino kwambiri pokonzanso chithandizo chotumizira ulusi mu HAMMER2. Njira yothamangitsira ma buffers yawongoleredwa kwambiri.
  • Kudalirika kodalirika komanso magwiridwe antchito a TMPFS. Kuchulukitsa kogwira ntchito pakakhala kusowa kwa kukumbukira kwaulere mudongosolo.
  • The IPv4 network stack tsopano imathandizira /31 prefixes (RFC 3021).
    Tap yathandiza kuti SIOCSIFMTU ioctl igwire bwino ntchito kuti ithandizire MTU > 1500. Zowonjezera zothandizira SIOCSIFINFO_IN6 ndi SO_RERROR.

  • Dalaivala wa iwm amalumikizidwa ndi FreeBSD mothandizidwa ndi tchipisi ta Intel opanda zingwe (thandizo lowonjezera la iwm-9000 ndi iwm-9260).
  • Anawonjezera Linux-compatible basename() ndi dirname() ntchito kuti muwongolere mayendedwe adoko.
  • Zasunthidwa fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 kuchokera ku FreeBSD kupita ku libc/getaddrninfo(), kalendala(1), rcorder-visualize.sh. Ntchito za math.h zachotsedwa ku OpenBSD.
  • Mabaibulo osinthidwa a zigawo za chipani chachitatu, kuphatikizapo Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Wopanga kusanja ndi gcc-8.

Source: opennet.ru

Kuwonjezera ndemanga