เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ FreeBSD เบชเปเบฒเบฅเบฑเบšเป„เบ•เบกเบฒเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ›เบต 2020

เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ„เบ‡เบเบฒเบ™ FreeBSD เบˆเบฒเบเป€เบ”เบทเบญเบ™เบกเบฑเบ‡เบเบญเบ™เบซเบฒเป€เบ”เบทเบญเบ™เบกเบตเบ™เบฒ 2020. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™:

  • เบšเบฑเบ™เบซเบฒเบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบฅเบฐเบšเบปเบš
    • เป€เบญเบปเบฒเบŠเบธเบ” GCC compiler เบญเบญเบเบˆเบฒเบเบ•เบปเป‰เบ™เป„เบกเป‰เปเบซเบผเปˆเบ‡ FreeBSD-CURRENT, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰ gperf, gcov เปเบฅเบฐ gtc (devicetree compiler) เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰. เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Clang เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเปเปˆเบชเป‰เบฒเบ‡เบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบˆเบฒเบเบžเบญเบ”. เบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เบชเบปเปˆเบ‡เบเบฒเบ™เบ›เปˆเบญเบ GCC 4.2.1 เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก, เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบšเบฎเบธเปˆเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบฝเบ™ 4.2.2 เป„เบ›เบซเบฒเปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” GPLv3, เป€เบŠเบดเปˆเบ‡เบ–เบทเบงเปˆเบฒเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™ FreeBSD. เบเบฒเบ™เบ›เปˆเบญเบ GCC เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบฅเบงเบกเบ—เบฑเบ‡ GCC 9, เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบ”เป‰เบˆเบฒเบเปเบžเบฑเบเป€เบเบฑเบ”เปเบฅเบฐเบžเบญเบ”.
    • เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบˆเบณเบฅเบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Linux (Linuxulator) เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš sendfile, เป‚เปเบ” TCP_CORK (เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบณเบฅเบฑเบš nginx), เปเบฅเบฐเบ—เบธเบ‡ MAP_32BIT (เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเปเบžเบฑเบเป€เบเบฑเบ”เบ”เป‰เบงเบ Mono เบˆเบฒเบ Ubuntu Bionic). เบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚ DNS เป€เบกเบทเปˆเบญเปƒเบŠเป‰ glibc เปƒเปเปˆเบเบงเปˆเบฒ 2.30 (เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเบฒเบ CentOS 8) เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง.
      เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ LTP (Linux Testing Project) เบงเบฝเบเบ—เบตเปˆเปเบฅเปˆเบ™ Linuxulator เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Linux. เบ›เบฐเบกเบฒเบ™ 400 เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฅเบปเป‰เบกเป€เบซเบฅเบงเปเบฅเบฐเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ (เบšเบฒเบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™เป€เบเบตเบ”เบˆเบฒเบเบœเบปเบ™เบšเบงเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เป€เบฅเบฑเบเบ™เป‰เบญเบ, เปเบ•เปˆเบกเบตเบšเบฒเบ‡เบญเบฑเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบšเปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚). เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบฅเบฐเบซเบฑเบ” Linuxulator เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ”เบตเบšเบฑเบเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™. Patches เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบฐเบซเบเบฒเบเปเบฅเบฐเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš fexecve เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก, เปเบ•เปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™.

    • เบเบญเบ‡โ€‹เบ›เบฐโ€‹เบŠเบธเบกโ€‹เบ‚เบญเบ‡โ€‹เบเบธเปˆเบกโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบ—เบตเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบทเป‰เบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เบเป‰เบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เปเบซเบผเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบˆเบฒเบโ€‹เบชเบนเบ™โ€‹เบเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบเบฒเบ™โ€‹เป‚เบ„เปˆเบ™โ€‹เบฅเบปเป‰เบกโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™ Git เบชเบทเบšโ€‹เบ•เปเปˆโ€‹. เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบฐเบเบฝเบก.
    • ะ’ rtld (runtime linker) เบ›เบฑเบšเบ›เบธเบ‡เป‚เปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡ (โ€œ/libexec/ld-elf.so.1 {path} {arguments}โ€).
    • เป‚เบ„เบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš fuzzing เบ‚เบญเบ‡ kernel FreeBSD เป‚เบ”เบเปƒเบŠเป‰เบฅเบฐเบšเบปเบš syzkaller เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™, เบšเบฑเบ™เบซเบฒเปƒเบ™ stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ descriptor เป„เบŸเบฅเปŒเบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเปƒเบŠเป‰ syzkaller เป„เบ”เป‰เบ–เบทเบเบฅเบปเบšเบฅเป‰เบฒเบ‡. เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบชเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆ stack SCTP เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ”เบตเบšเบฑเบเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™. เบเบปเบ”เบฅเบฐเบšเบฝเบšเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™ 2 เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ–เบปเบ”เบ–เบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš fuzz เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปƒเบซเบกเปˆ, เบฅเบงเบกเบ—เบฑเบ‡ copy_file_range(), __realpathat() เปเบฅเบฐเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบเปˆเบญเบ Capsicum. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบเบงเบกเป€เบญเบปเบฒเบŠเบฑเป‰เบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡ Linux เบ”เป‰เบงเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš fuzz. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบงเบดเป€เบ„เบฒเบฐ เปเบฅเบฐเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™ Coverity Scan เบซเบผเป‰เบฒเบชเบธเบ”.
    • เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เป„เบ”เป‰เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฒเบ‚เบฒเบซเบปเบงเบซเบ™เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเปƒเบŠเป‰ clang/lld เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เป€เบกเบทเปˆเบญเบ—เบปเบ”เบชเบญเบš RISC-V, เบเบฒเบ™เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเปเบœเปˆเบ™เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบกเปˆเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™ QEMU เป‚เบ”เบเปƒเบŠเป‰ OpenSBI. เป€เบžเบตเปˆเบกเปœเป‰เบฒเบงเบฝเบเปƒเปเปˆเบชเบณเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฎเบนเบšเบžเบฒเบš เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡ virtual powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เปƒเบ™เบเบฒเบ™เป‚เบญเบ™เบŠเบธเบ”เบ—เบปเบ”เบชเบญเบš Kyua เบˆเบฒเบเบ—เปˆเบฒเป€เบฎเบทเบญ (เบžเบฑเบ”เบ—เบฐเบ™เบฒ / kyua) เป„เบ›เบชเบนเปˆเบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒ (เบŠเบธเบ”เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเป‰เบฒเบซเบผเบฒเบ) เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ Kyua เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเปƒเบซเบกเปˆ, เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ emulator เบซเบผเบท. FPGA. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ—เบตเปˆเบเบฑเบ‡เบ•เบปเบงเปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.
    • เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป„เบ”เป€เบงเบตเบ‚เบปเบงเป€เบ„เบทเบญเบ‚เปˆเบฒเบ if_bridge, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰ mutex เบ”เบฝเบงเป€เบžเบทเปˆเบญเบฅเบฑเบญเบเบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเปƒเบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ„เบธเบเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบซเบผเบทเป€เบ„เบทเปˆเบญเบ‡ virtual เป‚เบฎเบกเบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เบฝเบง. เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ–เบปเบ”เบ–เบญเบเบˆเบฒเบเบเบฒเบ™เป€เบเบตเบ”เปƒเบซเบกเปˆเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš locks. เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ ConcurrencyKit เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบ™เบฒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™ (bridge_input(), bridge_output(), bridge_forward(), ...) เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš sigfastblock เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฐเบ—เบนเป‰เบฅเบฐเบšเบธเบšเบฅเบฑเบญเบเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบชเบฑเบ™เบเบฒเบ™เป„เบงเป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™.
    • kernel เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš LSE (เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบฅเบฐเบšเบปเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ) เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบนเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบฅเบฐเบšเบปเบš ARMv8.1. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เบเบฐเบ”เบฒเบ™ Cavium ThunderX2 เปเบฅเบฐ AWS Graviton 2. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเบกเบฒเบˆเบฐเบเบงเบ”เบžเบปเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ LSE เปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบนเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบเบฒเบ™เปƒเบŠเป‰ LSE เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบเบญเบš kernel 15%.
    • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™เบฎเบนเบšเปเบšเบš ELF.
      เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ DWARF เปƒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเบณ, เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปƒเบ™เบฅเบฐเบšเบปเบš elfcopy/objcopy utilities, เป€เบžเบตเปˆเบกเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ DW_AT_ranges,
      readelf เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบ—เบธเบ‡ PROTMAX_DISABLE, STKGAP_DISABLE เปเบฅเบฐ WXNEEDED, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Xen เปเบฅเบฐ GNU Build-ID.

  • เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž
    • เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ FreeBSD เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบกเบ„ Azure, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบปเบ™เป„เบ HyperV Socket, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡ socket เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบฐเบšเบปเบšเปเบ‚เบเปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบˆเบปเป‰เบฒเบžเบฒเบšเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเป‰เปเบฒเบญเบตเบเบ‚เบญเบ‡ FreeBSD, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เบˆเบฒเบเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบ›เบฐเบเบฒเบ”เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบžเบดเป€เบชเบ”.
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบปเบ™เป„เบเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก (ASLR, PROT_MAX, stack gap, W+X mapping) เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ elfctl utility.
  • เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบฅเบฐเป„เบŸเบฅเปŒ
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ NFS เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ TLS 1.3, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ Kerberos (sec=krb5p mode), เป€เบŠเบดเปˆเบ‡เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบ„เบงเบฒเบก RPC เปเบฅเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบŠเบญเบšเปเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเบกเปˆเปƒเบŠเป‰ TLS stack เบ—เบตเปˆเปƒเบซเป‰ kernel เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบฎเบฒเบ”เปเบง. เบฅเบฐเบซเบฑเบ” NFS เปƒเบ™เป„เบฅเบเบฐ TLS เปเบกเปˆเบ™เป€เบเบทเบญเบšเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เปเบ•เปˆเบเบฑเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเป„เบ”เป‰เป€เบŠเบฑเบ™เปเบฅเบฐเบ”เบฑเบ”เปเบ›เบ‡ kernel TLS stack เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™ NFS (เปเบœเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเบฑเบšเปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบกเปเบฅเป‰เบง).
  • เบฎเบญเบ‡เบฎเบฑเบšเบฎเบฒเบ”เปเบง
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš CPU X86 เบ‚เบญเบ‡เบˆเบตเบ™ Hygon เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต AMD;
    • เปƒเบ™โ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบชเปˆเบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ‚เบญเบ‡ CheriBSDโ€‹, เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ‚เบญเบ‡โ€‹เบชเป‰เบญเบกโ€‹เบ‚เบญเบ‡ FreeBSD เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบปเป‰เบ™โ€‹เบ„เบงเป‰เบฒโ€‹ เป€เบŠเบฃเบต (เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ Hardware Enhanced RISC), เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต ARM Morello เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ CHERI เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Capsicum. เบŠเบดเบš Morello เบเปเบฒเบฅเบฑเบ‡เบงเบฒเบ‡เปเบœเบ™ เบ›เปˆเบญเบเบ•เบปเบงเปƒเบ™เบ›เบต 2021. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก Arm Neoverse N1 เบ—เบตเปˆเปƒเบซเป‰เบญเปเบฒเบ™เบฒเบ” Morello. เบžเบญเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡ CheriBSD เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต. เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ CheriBSD เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบชเปเบฒเบฅเบฑเบšเบ•เบปเป‰เบ™เปเบšเบšเบญเป‰เบฒเบ‡เบญเบตเบ‡ CHERI เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ MIPS64.
    • เบเบฒเบ™เบžเบญเบ” FreeBSD เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบชเปเบฒเบฅเบฑเบš 64-bit SoC NXP LS1046A เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป‚เบ›เป€เบŠเบ”เป€เบŠเบต ARMv8 Cortex-A72 เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบžเบฑเบเป€เบเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 เปเบฅเบฐ USB 3.0. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบ„เบปเบ™เบ‚เบฑเบš QorIQ เปเบฅเบฐ LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบญเบ™เป„เบ›เบซเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบš FreeBSD เบ•เบปเป‰เบ™เบ•เป.
    • เป„เบ”เป€เบงเบต ena เป„เบ”เป‰เบ–เบทเบเบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเปˆเบ™ 2.1.1 เบ”เป‰เบงเบเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบญเบฐเปเบ”เบฑเบšเป€เบ•เบตเป€เบ„เบทเบญเบ‚เปˆเบฒเบ ENAv2 (Elastic Network Adapter) เบฅเบธเป‰เบ™เบ—เบตเบชเบญเบ‡เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™ Elastic Compute Cloud (EC2) เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ EC2 nodes เบ”เป‰เบงเบเบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡เป€เบ–เบดเบ‡ 25 Gb/ เบ”. เบเบณเบฅเบฑเบ‡เบเบฐเบเบฝเบกเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ•เปเปˆเบเบฑเบš ENA 2.2.0.
    • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบžเบญเบ” FreeBSD เบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบต powerpc64 เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆ. เบˆเบธเบ”เบชเบธเบกเปเบกเปˆเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเป‚เบ›เป€เบŠเบ”เป€เบŠเบต IBM POWER8 เปเบฅเบฐ POWER9. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™, FreeBSD-CURRENT เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เป„เบ›เปƒเบŠเป‰ LLVM/Clang 10.0 compiler เปเบฅเบฐเบ•เบปเบงเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ lld เปเบ—เบ™ GCC. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบฅเบฐเบšเบปเบš powerpc64 เปƒเบŠเป‰ ELFv2 ABI เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš ELFv1 ABI เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒ. FreeBSD-STABLE เบเบฑเบ‡เบกเบต gcc 4.2.1. เบšเบฑเบ™เบซเบฒเบเบฑเบšเบ„เบปเบ™เบ‚เบฑเบš virtio, aacraid เปเบฅเบฐ ixl เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง. เปƒเบ™เบฅเบฐเบšเบปเบš powerpc64 เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ QEMU เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Huge Pages.
    • เบงเบฝเบเบ‡เบฒเบ™เบชเบทเบšเบ•เปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V. เปƒเบ™เบฎเบนเบšเปเบšเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™, FreeBSD เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™เบขเบนเปˆเปƒเบ™เบเบฐเบ”เบฒเบ™ SiFive Hifive Unleashed, เป€เบŠเบดเปˆเบ‡เบ„เบปเบ™เบ‚เบฑเบšเบฅเบปเบ”เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก.
      UART, SPI เปเบฅเบฐ PRCI, เบฎเบญเบ‡เบฎเบฑเบš OpenSBI เปเบฅเบฐ SBI 0.2 firmware. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบ GCC เป„เบ›เบซเบฒ clang เปเบฅเบฐ lld.

  • เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบฅเบฐเบšเบปเบšเบžเบญเบ”
    • เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบžเบญเบ” FreeBSD เป„เบ”เป‰เบ‚เป‰เบฒเบกเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡ 39 เบžเบฑเบ™เบžเบญเบ”, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ PRs เบ—เบตเปˆเบšเปเปˆเบ›เบดเบ”เป€เบฅเบฑเบเบ™เป‰เบญเบเป€เบเบตเบ™ 2400, เป€เบŠเบดเปˆเบ‡ 640 PRs เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบฎเบฝเบ‡. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™, 8146 เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเบฒเบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ 173 เบ„เบปเบ™. เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบซเบกเปˆเบชเบตเปˆเบ„เบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบ„เบฐเบ™เบฐเบเปเบฒเบกเบฐเบเบฒเบ™ (Loรฏc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). เป€เบžเบตเปˆเบก USES=qca flag เปเบฅเบฐเป€เบญเบปเบฒ USES=zope flag (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš Python 3). เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบณเบฅเบฑเบ‡เบ”เบณเป€เบ™เบตเบ™เบขเบนเปˆเป€เบžเบทเปˆเบญเป€เบญเบปเบฒ Python 2.7 เบญเบญเบเบˆเบฒเบเบ•เบปเป‰เบ™เป„เบกเป‰เบžเบญเบ” - เบžเบญเบ”เบ—เบตเปˆเปƒเบŠเป‰ Python 2 เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบžเบญเบ”เป„เบ›เบ—เบตเปˆ Python 3 เบซเบผเบทเบˆเบฐเบ–เบทเบเป€เบญเบปเบฒเบญเบญเบ. เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ” pkg เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบžเบทเปˆเบญเบ›เปˆเบญเบ 1.13.2.
    • เบญเบฑเบšเป€เบ”เบ”เบญเบปเบ‡เบ›เบฐเบเบญเบš stack เบ‚เบญเบ‡เบเบฃเบฒเบšเบŸเบดเบ เปเบฅเบฐเบžเบญเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš xorg.
      เป€เบŠเบตเบšเป€เบงเบต X.org เป„เบ”เป‰เบ–เบทเบเบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเปˆเบ™ 1.20.8 (เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เบ–เบทเบเบˆเบฑเบ”เบชเบปเปˆเบ‡เปƒเบ™เบชเบฒเบ‚เบฒ 1.18), เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ FreeBSD เป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ backend udev/evdev เบชเบณเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™. เบŠเบธเบ” Mesa เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ DRI3 เปเบ—เบ™ DRI2 เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบณเบฅเบฑเบ‡เบ”เบณเป€เบ™เบตเบ™เบขเบนเปˆเป€เบžเบทเปˆเบญเบฎเบฑเบเบชเบฒเป„เบ”เป€เบงเบตเบเบฃเบฒเบŸเบดเบ, เบชเบฐเป€เบ•เบเบญเบธเบ›เบฐเบเบญเบ™เบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒ, เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบš drm-kmod (เบžเบญเบ”เบ—เบตเปˆเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™ amdgpu, i915 เปเบฅเบฐ radeon DRM, เป‚เบ”เบเปƒเบŠเป‰เบเบญเบš linuxkpi เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡ Linux kernel) เป€เบ–เบดเบ‡เบงเบฑเบ™เบ—เบต.

    • KDE Plasma desktop, KDE Frameworks, KDE Applications เปเบฅเบฐ Qt เบ–เบทเบเบฎเบฑเบเบชเบฒเปƒเบซเป‰เบ—เบฑเบ™เบชเบฐเปƒเป เปเบฅเบฐเบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™เบฅเบธเป‰เบ™เบซเบผเป‰เบฒเบชเบธเบ”. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเปเปˆ kstars (star atlas) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบžเบญเบ”เปเบฅเป‰เบง.
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบŠเป‰เปเบฒเบเบฑเบ™เปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก xfwm4 เบ—เบตเปˆเบ›เบฒเบเบปเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ Xfce เบเบฑเบšเบฎเบธเปˆเบ™ 4.14 (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบ›เบญเบกเบ›เบฒเบเบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ•เบปเบเปเบ•เปˆเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก).
    • เบžเบญเบ” Wine เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบžเบทเปˆเบญเบ›เปˆเบญเบ Wine 5.0 (เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ 4.0.3 เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบต).
    • เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเป€เบงเบตเบŠเบฑเบ™ 1.14, เบ•เบปเบงเบฅเบงเบšเบฅเบงเบกเบžเบฒเบชเบฒ Go เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ ARM64 เบชเปเบฒเบฅเบฑเบš FreeBSD 12.0.
    • OpenSSH เปƒเบ™เบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบžเบทเปˆเบญเบ›เปˆเบญเบ 7.9p1.
    • เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” sysctlmibinfo2 เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™เบžเบญเบ” (devel/libsysctlmibinfo2), เบชเบฐเบซเบ™เบญเบ‡ API เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ sysctl MIB เปเบฅเบฐเปเบ›เบŠเบทเปˆ sysctl เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเบงเบฅเบฐเบšเบธเบงเบฑเบ”เบ–เบธ (OIDs).
    • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™ NomadBSD 1.3.1, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ FreeBSD เบ—เบตเปˆเบ”เบฑเบ”เปเบ›เบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป€เบ›เบฑเบ™ desktop เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ”เป‰เบˆเบฒเบ USB drive. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบŸเบดเบเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก Openbox. เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบ” DSBMD (เบฎเบญเบ‡เบฎเบฑเบš CD9660, FAT, HFS+, NTFS, Ext2/3/4), เป€เบžเบทเปˆเบญเบเบณเบ™เบปเบ”เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป„เบฎเป‰เบชเบฒเบ - wifimgr, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ›เบฐโ€‹เบฅเบดโ€‹เบกเบฒเบ™โ€‹เบเบฒเบ™ - DSBMixer.
    • เป€เบฅเบตเปˆเบกเปเบฅเป‰เบง เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ„เบปเบšเบ–เป‰เบงเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ„เบธเบ เบซเบกเปเป‰. Pot 0.11.0 เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ›เบฐเบเบญเบšเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡ stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™