- ΠΠ±ΡΠΈΠ΅ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
- ΠΠ· Π΄Π΅ΡΠ΅Π²Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² FreeBSD-CURRENT ΡΠ΄Π°Π»ΡΠ½ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² GCC, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ gperf, gcov ΠΈ gtc (ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ devicetree). ΠΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ 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 ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ, Π½ΠΎ Π΅ΡΡ Π½Π΅ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½Ρ, ΠΏΠ°ΡΡΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° fexecve. - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π·Π°ΡΠ΅Π΄Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΈΠ· ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ Subversion Π² Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Git. ΠΡΡΡΡ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ.
- Π
rtld (runtime linker) ΡΠ»ΡΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ («/libexec/ld-elf.so.1 {ΠΏΡΡΡ} {Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ}»). - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ fuzzing-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄ΡΠ° FreeBSD Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ syzkaller. ΠΠ° ΠΎΡΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΠ΅ΠΊΠ΅ ΠΈ ΠΊΠΎΠ΄Π΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², Π²ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ syzkaller. ΠΠΎ ΡΠ»Π΅Π΄Π°ΠΌ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΡΠ΅ΠΊ SCTP Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΡ. Π Π½Π°Π±ΠΎΡ stress2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΉ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° fuzzing-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ copy_file_range(), __realpathat() ΠΈ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Capsicum. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΡ Π²Π°ΡΡ fuzzing-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ Linux. ΠΡΠΎΠ²Π΅Π΄ΡΠ½ ΡΠ°Π·Π±ΠΎΡ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π² ΡΠ²Π΅ΠΆΠΈΡ ΠΎΡΡΡΡΠ°Ρ Coverity Scan.
- Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ² Π²Π΅ΡΠΊΠΈ head ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ clang/lld. ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π»Ρ RISC-V ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ² Π² QEMU Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenSBI. ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
- ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Kyua ΠΈΠ· ΠΏΠΎΡΡΠΎΠ² (devel/kyua) Π² Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΠ°Π²ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ), Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Kyua Π½Π° Π½ΠΎΠ²ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²Π΅Π΄ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ FPGA. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
- Π‘ΡΠ°ΡΡΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΌΠΎΡΡΠΎΠ²
if_bridge , ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ mutex Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΠ΅ΡΡ. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π² ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ConcurrencyKit Π΄Π»Ρ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ (bridge_input(), bridge_output(), bridge_forward(), …). - ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² sigfastblock, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
- Π ΡΠ΄ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΎΠΌΠ°ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ LSE (Large System Extension), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ARMv8.1. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΠ°Ρ Cavium ThunderX2 ΠΈ AWS Graviton 2. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ LSE ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ atomic Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅. ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ LSE ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π° 15% ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΄ΡΠ°.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ DWARF, ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠΈΠ»ΠΈΡΠ°Ρ elfcopy/objcopy, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° DW_AT_ranges,
Π² readelf ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² PROTMAX_DISABLE, STKGAP_DISABLE ΠΈ WXNEEDED, Π° ΡΠ°ΠΊΠΆΠ΅ Xen ΠΈ GNU Build-ID.
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ FreeBSD Π² ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Azure Π²Π΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° HyperV Socket, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠΈ.
- ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΡ ΡΠ±ΠΎΡΠΎΠΊ FreeBSD, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
- Π ΡΡΠΈΠ»ΠΈΡΡ elfctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ (ASLR, PROT_MAX, stack gap, W+X mapping) Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
- Π‘ΠΈΡΡΠ΅ΠΌΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ NFS ΠΏΠΎΠ²Π΅ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ Π½Π° Π±Π°Π·Π΅ TLS 1.3, Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Kerberos (ΡΠ΅ΠΆΠΈΠΌ sec=krb5p), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ RPC-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΄ΡΠΎΠΌ ΡΡΠ΅ΠΊ TLS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ NFS ΠΏΠΎΠ²Π΅ΡΡ TLS ΡΠΆΠ΅ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π΅ΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ TLS-ΡΡΠ΅ΠΊΠ° ΡΠ΄ΡΠ° Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ NFS (ΠΏΠ°ΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΡΠΌΠ° ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²Ρ).
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
- ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ x86 CPU Hygon Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ AMD;
- Π ΡΠ°ΠΌΠΊΠ°Ρ
CheriBSD, ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡ FreeBSD Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
CHERI (Capability Hardware Enhanced RISC Instructions), ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ARM Morello, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ CHERI, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Capsicum. Π§ΠΈΠΏ MorelloΠΏΠ»Π°Π½ΠΈΡΡΡΡ Π²ΡΠΏΡΡΡΠΈΡΡ Π² 2021 Π³ΠΎΠ΄Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ° ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Arm Neoverse N1, Π»Π΅ΠΆΠ°ΡΠ΅ΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Morello. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ CheriBSD Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ CheriBSD Π΄Π»Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° CHERI Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ MIPS64. - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ FreeBSD Π΄Π»Ρ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ SoC NXP LS1046A Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ARMv8 Cortex-A72 Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ΠΈ USB 3.0. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² FreeBSD Π³ΠΎΡΠΎΠ²ΡΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ QorIQ ΠΈ LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI.
- ΠΠΎ Π²Π΅ΡΡΠΈΠΈ 2.1.1 ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ena Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² ENAv2 (Elastic Network Adapter), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Elastic Compute Cloud (EC2) Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ EC2 Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΡ Π΄ΠΎ 25 Gb/s. ΠΠΎΡΠΎΠ²ΠΈΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ENA 2.2.0.
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ° FreeBSD Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ powerpc64. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ IBM POWER8 ΠΈ POWER9. ΠΠ° ΠΎΡΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ FreeBSD-CURRENT Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° LLVM/Clang 10.0 ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° 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. ΠΠ° ΠΎΡΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ° Π±ΡΠ»Π° ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ GCC Π½Π° clang ΠΈ lld.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΡΡΠΎΠ²
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² FreeBSD ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π»Π° ΡΡΠ±Π΅ΠΆ Π² 39 ΡΡΡΡΡ ΠΏΠΎΡΡΠΎΠ², ΡΠΈΡΠ»ΠΎ Π½Π΅Π·Π°ΠΊΡΡΡΡΡ PR Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 2400, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ 640 PR Π΅ΡΡ Π½Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ. ΠΠ° ΠΎΡΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²Π½Π΅ΡΠ΅Π½ΠΎ 8146 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ 173 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ°Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ USES=qca ΠΈ ΡΠ΄Π°Π»ΡΠ½ ΡΠ»Π°Π³ USES=zope (ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Python 3). ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Python 2.7 ΠΈΠ· Π΄Π΅ΡΠ΅Π²Π° ΠΏΠΎΡΡΠΎΠ² — Π²ΡΠ΅ Π·Π°Π²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π° Python 2 ΠΏΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Python 3 ΠΈΠ»ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ. ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ pkg ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° 1.13.2.
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΈ ΠΏΠΎΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ xorg.
CΠ΅ΡΠ²Π΅Ρ X.org ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 1.20.8 (ΡΠ°Π½Π΅Π΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ Π²Π΅ΡΠΊΠ° 1.18), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ FreeBSD ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠΊΠ΅Π½Π΄Π° udev/evdev Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°. ΠΠ°ΠΊΠ΅Ρ Mesa ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ DRI3 Π²ΠΌΠ΅ΡΡΠΎ DRI2. ΠΠ΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΡΠ΅ΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² drm-kmod (ΠΏΠΎΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ DRM-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ amdgpu, i915 ΠΈ radeon, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ linuxkpi Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Direct Rendering Manager ΡΠ΄ΡΠ° Linux). - Π Π°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» KDE Plasma, KDE Frameworks, KDE Applications ΠΈ Qt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΠΎ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ². Π ΠΏΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ kstars (Π·Π²ΡΠ·Π΄Π½ΡΠΉ Π°ΡΠ»Π°Ρ).
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠ²Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ xfwm4, Π²ΡΠΏΠ»ΡΠ²ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Xfce Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 4.14 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½).
- ΠΠΎΡΡ Ρ Wine ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° Wine 5.0 (ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΡΡ 4.0.3).
- ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 1.14 Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° Go Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM64 Π΄Π»Ρ FreeBSD 12.0.
- OpenSSH Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° 7.9p1.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Π² ΠΏΠΎΡΡΠ°Ρ (devel/libsysctlmibinfo2) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° sysctlmibinfo2, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ API Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ sysctl MIB ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈΠΌΡΠ½ sysctl Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (OID).
- Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°
NomadBSD 1.3.1 , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ FreeBSD, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ USB-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅Openbox . ΠΠ»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡDSBMD (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ CD9660, FAT, HFS+, NTFS, Ext2/3/4), Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ —wifimgr , Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡΡ —DSBMixer . - ΠΠ°ΡΠ°Π»Π°ΡΡ
ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉpot . ΠΠΎΡΠΎΠ²ΠΈΡΡΡ ΠΊ Π²ΡΠΏΡΡΠΊΡ pot 0.11.0, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru