ืฉื—ืจื•ืจ ืžืขืจื›ืช ื”ื”ืคืขืœื” DragonFly BSD 5.6

ื–ืžื™ืŸ ืฉื—ืจื•ืจ DragonFlyBSD 5.6, ืžืขืจื›ืช ื”ืคืขืœื” ืขื ืœื™ื‘ื” ื”ื™ื‘ืจื™ื“ื™ืช, ื ื•ืฆืจ ื‘ืฉื ืช 2003 ืœืฆื•ืจืš ืคื™ืชื•ื— ื—ืœื•ืคื™ ืฉืœ ืกื ื™ืฃ FreeBSD 4.x. ื‘ื™ืŸ ื”ืชื›ื•ื ื•ืช ืฉืœ DragonFly BSD, ืื ื• ื™ื›ื•ืœื™ื ืœื”ื“ื’ื™ืฉ ืžืขืจื›ืช ืงื‘ืฆื™ื ื‘ื’ืจืกื” ืžื‘ื•ื–ืจืช ืคื˜ื™ืฉ, ืชืžื™ื›ื” ื‘ื˜ืขื™ื ืช ืœื™ื‘ื•ืช ืžืขืจื›ืช "ื•ื™ืจื˜ื•ืืœื™ื•ืช" ื›ืชื”ืœื™ื›ื™ ืžืฉืชืžืฉ, ื™ื›ื•ืœืช ืฉืžื™ืจื” ื‘ืžื˜ืžื•ืŸ ืฉืœ ื ืชื•ื ื™ FS ื•ืžื˜ื ื ืชื•ื ื™ื ืขืœ ื›ื•ื ื ื™ SSD, ืงื™ืฉื•ืจื™ื ืกืžืœื™ื™ื ื•ืจื™ืืฆื™ื•ืช ืจื’ื™ืฉื•ืช ืœื”ืงืฉืจ, ื”ื™ื›ื•ืœืช ืœื”ืงืคื™ื ืชื”ืœื™ื›ื™ื ืชื•ืš ืฉืžื™ืจืช ืžืฆื‘ื ื‘ื“ื™ืกืง, ืœื™ื‘ื” ื”ื™ื‘ืจื™ื“ื™ืช ื‘ืืžืฆืขื•ืช ืคืชื™ืœื™ื ืงืœื™ื. (LWKT) .

ื”ืขื™ืงืจื™ ืฉื™ืคื•ืจื™ืื ื•ืกืฃ ื‘- DragonFlyBSD 5.6:

  • ืžืขืจื›ืช ื ื™ื”ื•ืœ ื”ื–ื™ื›ืจื•ืŸ ื”ื•ื™ืจื˜ื•ืืœื™ ืขื‘ืจื” ืžื•ื“ืจื ื™ื–ืฆื™ื”. ืžืขืจื›ื•ืช ืžืฉื ื” ืจื‘ื•ืช ื”ืงืฉื•ืจื•ืช ืœื–ื™ื›ืจื•ืŸ ื•ื™ืจื˜ื•ืืœื™ ื•-PMAP ื ื›ืชื‘ื• ืžื—ื“ืฉ.
    ื”ืงื•ื“ ืžืฉื•ื—ืจืจ ืžื ืขื™ืœื” ื‘ืžืงื•ืžื•ืช ืจื‘ื™ื, ื›ื•ืœืœ ื”ืคื•ื ืงืฆื™ื•ืช m_page_wakeup, vm_hold ื•-vm_unhold. ื”ื™ืขื™ืœื•ืช ืฉืœ ื”ืฉื™ืžื•ืฉ ื‘ืžื˜ืžื•ืŸ ื”ืžืขื‘ื“ ื”ื•ื’ื“ืœื” ืขืœ ื™ื“ื™ ืฆืžืฆื•ื ื”ื”ื’ื™ืจื” ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ VM ื‘ื™ืŸ ืœื™ื‘ื•ืช ื”ืžืขื‘ื“ ื•ื”ืคื—ืชืช ื”ืชืงื•ืจื” ื‘ืขืช ื˜ื™ืคื•ืœ ื‘ื—ืจื™ื’ื™ื (ืชืงืœื•ืช ืขืžื•ื“) ืขื‘ื•ืจ ืื–ื•ืจื™ ื–ื™ื›ืจื•ืŸ ืžืฉื•ืชืคื™ื. ืืœื’ื•ืจื™ืชื ื”ืงืฆืืช ื“ืคื™ ื–ื™ื›ืจื•ืŸ ืžืฉื•ืคืจ. ืขื™ื›ื•ื‘ื™ื ื‘ืคื•ื ืงืฆื™ื” vm_page_alloc() ืชื•ืงื ื•. ื”-API vm_page_hash*() ื ื•ืกืฃ ื›ื“ื™ ืœืืคืฉืจ ืื—ื–ื•ืจ ืœืœื ื—ืกื™ืžื”.

    ื›ืชื•ืฆืื” ืžื›ืš, ื ื™ืชืŸ ื”ื™ื” ืœื”ื‘ื—ื™ืŸ ืœื”ื’ื“ื™ืœ ืืช ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช. ืœื“ื•ื’ืžื”,
    ื‘ืžื‘ื—ืŸ ื”-buildkernel, ื”ื–ืžืŸ ื”ื ื“ืจืฉ ืœื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ื‘ืฆื“ ื”ืœื™ื‘ื” ื”ืฆื˜ืžืฆื ื‘-40%. ื”ืชืคื•ืงื” ื’ื“ืœื” ื‘-7% ื‘ืฉื™ืžื•ืฉ ื‘ืžืขื‘ื“ื™ื ืžืžืฉืคื—ืช Haswell ื•ื‘-14% ืขื‘ื•ืจ Xeon. ืžื“ื“ SELF-EXEC S/DI ืžืฆื™ื’ ืขืœื™ื™ื” ืฉืœ 23% ื‘ื‘ื™ืฆื•ืขื™ื ืขื‘ื•ืจ Haswell ื•-18% ืขื‘ื•ืจ Xeon ื‘ื”ืฉื•ื•ืื” ืœืžื”ื“ื•ืจื” ื”ืงื•ื“ืžืช. ื‘ืžื‘ื—ืŸ
    SELF-EXEC S/SH 28% ื•-71% ื‘ื”ืชืืžื”, ื‘-SELF-EXEC D/DI - 23% ื•-242% (ืขืงื‘ ืจื™ื‘ื•ื™ ื”ืฉื—ืœื•ืช ืžืฉื•ืคืจ), ื‘-SELF-EXEC D/SH ื‘-24% ื•-234%, ื‘ FAULTZF ื‘-17% ื•-14%, ื‘-DOCOMP ื‘-22% ื•ื‘-42%,
    ื‘-NATIVEKERNEL ื‘-5.1% ื•-8.1%;

  • ืžื ื”ืœ ื”ืชืงืŸ DRM ื•ืžื ื”ืœ ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ื”ื•ื•ื™ื“ืื• TTM ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ ืžืกืš AMD ืขื•ื“ื›ื ื• ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™. ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ APUs ื—ื“ืฉื™ื ืฉืœ Ryzen. ืชืžื™ื›ืช UEFI framebuffer ืžืฉื•ืคืจืช. ื‘-radeon/ttm, ืžื‘ื•ื™ ืกืชื•ื ื”ืžืฉืคื™ืข ืขืœ ื”ื‘ื™ืฆื•ืขื™ื ื‘ื•ื˜ืœ. ื”ื’ื“ืจืช ื”ืขื™ื›ื•ื‘ื™ื ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ื˜ืขื™ื ื” ืฉื•ื ื• ืžื—ื“ืฉ ื›ื“ื™ ืœืžื ื•ืข ื”ืชื ื’ืฉื•ื™ื•ืช ื‘ื™ืŸ ืžื ื”ืœ ื”ื”ืชืงืŸ i915 ืœืฉืจืช X. ื ื•ืกืคื” ืงืจื™ืืช DRM_IOCTL_GET_PCIINFO ืœืฉื™ืคื•ืจ ืชืžื™ื›ืช mesa/libdrm. ืฉื’ื™ืื•ืช ื•ื—ืกืจื•ื ื•ืช ืจื‘ื™ื ื‘ื•ื˜ืœื•;
  • ืงื•ื“ ื”ืกื ื›ืจื•ืŸ ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื HAMMER2 ืฉื•ื›ืชื‘, ืžื” ืฉืฉื™ืคืจ ืžืฉืžืขื•ืชื™ืช ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ื–ื•. ื’ื ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืจืฆื™ืคื•ืช ืฉื•ืคืจื•.
    ื›ื“ื™ ืœืฉืคืจ ืืช ืกื‘ื™ืœื•ืช ื”ืชืจืกืงื•ืช, ื ื•ืกืฃ ืžืขืงื‘ ืชืœื•ืช ื›ื“ื™ ืœืžื ื•ืข ืคื™ืฆื•ืœ ืกืคืจื™ื•ืช/ืงื‘ืฆื™ื ื‘ืžื”ืœืš ืคืขื•ืœื•ืช ื™ืฆื™ืจื”, ืฉื™ื ื•ื™ ืฉื ืื• ืžื—ื™ืงื”. ื”ืงื•ื“ ืœืขื‘ื•ื“ื” ืขื ืชืฆืœื•ืžื™ื ืขื•ื‘ื“ ืžื—ื“ืฉ ื›ื“ื™ ืœืฆืžืฆื ืขื™ื›ื•ื‘ื™ื ื•ืœื”ื‘ื˜ื™ื— ืขืงื‘ื™ื•ืช ืฉืœ ืชืžื•ื ืช ืžืฆื‘. ื˜ื™ืคื•ืœ ืžืฉื•ืคืจ ื‘ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื•ืฉื˜ื™ืคื” ื‘ื•-ื–ืžื ื™ืช ืฉืœ ืžื˜ืžื•ืŸ. ื™ื™ืฉื•ื ืžืฉื•ืคืจ ืฉืœ ืคืขื•ืœืช umount. ืชื•ื›ืŸ ื”ืžื™ื“ืข ืฉืœ ื”ื•ื“ืขื•ืช ืขืœ ื”ืคืจื•ืช ืฉืœืžื•ืช (ืฉื’ื™ืื•ืช CRC) ื”ื•ื’ื“ืœ.

    HAMMER2 ืžื•ืžืœืฅ ื›ืžืขืจื›ืช ืงื‘ืฆื™ ื”ืฉื•ืจืฉ ื”ืžื•ื’ื“ืจืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืชืžื™ื›ืช ืืฉื›ื•ืœื•ืช ืขื“ื™ื™ืŸ ืœื ื–ืžื™ื ื”. HAMMER2 FS ื‘ื•ืœื˜ ื‘ืคื•ื ืงืฆื™ื•ืช ื›ื’ื•ืŸ ื”ืจื›ื‘ื” ื ืคืจื“ืช ืฉืœ ืฆื™ืœื•ืžื™ ืžืฆื‘, ืฆื™ืœื•ืžื™ ืžืฆื‘ ืœื›ืชื™ื‘ื”, ืžื›ืกื•ืช ื‘ืจืžืช ืกืคืจื™ื™ื”, ืฉื™ืงื•ืฃ ืžืฆื˜ื‘ืจ, ืชืžื™ื›ื” ื‘ืืœื’ื•ืจื™ืชืžื™ื ืฉื•ื ื™ื ืฉืœ ื“ื—ื™ืกืช ื ืชื•ื ื™ื, ืฉื™ืงื•ืฃ ืจื‘ ืžืืกื˜ืจ ืขื ื”ืคืฆืช ื ืชื•ื ื™ื ืœืžืกืคืจ ืžืืจื—ื™ื;

  • ื ื•ืกืคื” ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ื‘ืชืช-ืžืขืจื›ืช FUSE ืœื™ืฆื™ืจืช ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ;
  • ื‘ื™ืฆื•ืขื™ื ืžืฉื•ืคืจื™ื ืฉืœ ืžืกื ืŸ ืžื ื•ืช PF ื‘ืžืขืจื›ื•ืช ืžืจื•ื‘ื•ืช ืœื™ื‘ื•ืช;
  • ืชืžื™ื›ื” ื‘ืžื ื’ื ื•ื ื™ ื”ื”ื’ื ื” ืฉืœ SMAP (ืžื ื™ืขืช ื’ื™ืฉื” ื‘ืžืฆื‘ Supervisor) ื•-SMEP (ืžื ื™ืขืช ื‘ื™ืฆื•ืข ืžืฆื‘ ืžืคืงื—) ื™ื•ืฉืžื” ื›ืืฉืจ ื”ื™ื ื ืชืžื›ืช ื‘-CPU. SMAP ืžืืคืฉืจ ืœืš ืœื—ืกื•ื ื’ื™ืฉื” ืœื ืชื•ื ื™ ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ืžืงื•ื“ ืžื™ื•ื—ืก ื”ืคื•ืขืœ ื‘ืจืžืช ื”ืงืจื ืœ. SMEP ืื™ื ื• ืžืืคืฉืจ ืžืขื‘ืจ ืžืžืฆื‘ ืœื™ื‘ื” ืœื‘ื™ืฆื•ืข ืงื•ื“ ื”ืžืžื•ืงื ื‘ืจืžืช ื”ืžืฉืชืžืฉ, ืžื” ืฉืžืืคืฉืจ ืœื—ืกื•ื ืืช ื”ื ื™ืฆื•ืœ ืฉืœ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ืจื‘ื•ืช ื‘ืงืจื ืœ (ืงื•ื“ ืžืขื˜ืคืช ืœื ื™ื‘ื•ืฆืข, ืžืื—ืจ ืฉื”ื•ื ื ืžืฆื ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ);
  • ื ื•ืกืฃ ืงื•ื“ ื—ืกื™ืžื” ื”ืชืงืคื•ืช ืžื—ืœืงืช MDS (Microarchitectural Data Sampling) ื‘ืžืขื‘ื“ื™ ืื™ื ื˜ืœ. ื“ื•ืจืฉ ืžื™ืงืจื•ืงื•ื“ ืžืขื•ื“ื›ืŸ ื›ื“ื™ ืœืขื‘ื•ื“. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื”ื”ื’ื ื” ืžื•ืฉื‘ืชืช ื•ืžื•ืคืขืœืช ื‘ืืžืฆืขื•ืช 'sysctl machdep.mds_mitigation=MD_CLEAR'. ื”ืคืขืœืชื• ืžืฆื™ื’ื” ื”ืฉื”ื™ื™ื” ื ื•ืกืคืช ืฉืœ 250ns ื‘ืขืช ืžืขื‘ืจ ื”ื”ืงืฉืจ ื‘ื™ืŸ ืžืฉืชืžืฉ ืœืžืจื—ื‘ ืœื™ื‘ื”;
  • ื”ืœื™ื‘ื” ื‘ื ื•ื™ื” ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืขื ื”ื’ื ืช retpoline ืžืคื ื™ ื”ืชืงืคื•ืช Spectre.
  • ื›ืœื™ ืขื–ืจ ืจื‘ื™ื ืžืžืขืจื›ืช ื”ื‘ืกื™ืก ื”ื•ืžืจื• ืœืฉื™ืžื•ืฉ ื‘-LibreSSL;
  • ื’ืจืกืื•ืช ืžืขื•ื“ื›ื ื•ืช ืฉืœ ืจื›ื™ื‘ื™ ืฆื“ ืฉืœื™ืฉื™, ื›ื•ืœืœ xz 5.2.4,
    libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
    ืœื™ื‘ื“ื™ื˜ 2019-03-24. evdev, makefs, ministat, libfetch,
    dd. ื”ืงืจื™ืื•ืช reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() ื”ื•ืขื‘ืจื• ืž-OpenBSD ืœ-libc. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžื”ื“ืจ gcc-5 ืžืฉืžืฉ ืœื‘ื ื™ื™ื” ื‘ืžืงื•ื gcc-8.

ืžืงื•ืจ: OpenNet.ru

ืงื ื” ืื™ืจื•ื— ืืžื™ืŸ ืœืืชืจื™ื ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS ๐Ÿ”ฅ ืงื ื” ืื—ืกื•ืŸ ืืชืจื™ื ืืžื™ืŸ ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS | ProHoster