ΠΡΠ΄Π΅Π»Π½ΠΎ, ΠΈΠΌΠ° 8 ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΏΠΎΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠΎΡΠΌΠΈΡΠ°Ρ ΡΠ΄ΡΠΎΡΠΎ Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 ΠΈ xen. 49 ΠΏΠΎΡΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΊΠ°ΡΠΎ alpha, hppa, m68010, m68k, sh3, sparc ΠΈ vax, ΡΠ° ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π²ΡΠ² Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, Ρ.Π΅. Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ, Π½ΠΎ ΡΠ° Π·Π°Π³ΡΠ±ΠΈΠ»ΠΈ ΡΠ²ΠΎΡΡΠ° ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡ ΠΈΠ»ΠΈ Π½ΡΠΌΠ°Ρ Π΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈ ΠΎΡ ΡΡΡ Π½ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. ΠΠ΄ΠΈΠ½ ΠΏΠΎΡΡ (acorn26) Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΠ΅ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π½Π΅ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅, Π°ΠΊΠΎ Π½ΡΠΌΠ° Π΅Π½ΡΡΡΠΈΠ°ΡΡΠΈ, Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈ ΠΎΡ ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
ΠΠ»ΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ
NVMM , ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ SVM Π·Π° AMD CPU ΠΈ VMX Π·Π° Intel CPU. Π‘ΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° NVMM Π΅, ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ ββΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ»ΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π° ΠΈΠ·Π²ΡΠ½ ΡΠ΄ΡΠΎΡΠΎ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libnvmm, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ qemu-nvmm Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ NVMM. API Π½Π° libnvmm ΠΎΠ±Ρ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π³ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° VCPU. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, libnvmm Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΎΡ, Π° ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ API, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° NVMM Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ ΠΊΠ°ΡΠΎ QEMU; - ΠΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° 64-Π±ΠΈΡΠΎΠ²Π° AArch64 Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° (ARMv8-A), Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ARM-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
Π‘ΡΡΠ²ΡΡΡΡ Π΅ Π³ΠΎΡΠΎΠ² (SBBR+SBSA) ΠΈ big.LITTLE ΡΠΈΡΡΠ΅ΠΌΠΈ (ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ ΠΌΠΎΡΠ½ΠΈ, Π½ΠΎ Π΅Π½Π΅ΡΠ³ΠΎΠ΅ΠΌΠΊΠΈ ΡΠ΄ΡΠ° ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈ, Π½ΠΎ ΠΏΠΎ-Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ΄ΡΠ° Π² Π΅Π΄ΠΈΠ½ ΡΠΈΠΏ). Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² 64-Π±ΠΈΡΠΎΠ²Π° ΡΡΠ΅Π΄Π° ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° COMPAT_NETBSD32. ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΎ 256 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Π² QEMU Π΅ΠΌΡΠ»Π°ΡΠΎΡ ΠΈ SoC:- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- SBSA/SBBR ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ ΠΊΠ°ΡΠΎ Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ARMv7-A Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π°. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° big.LITTLE ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΡΡΠ΅Π· UEFI. ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΎ 8 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° SoC:
- Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
- Amlogic S805
- Arm Versatile Express V2P-CA15
- Broadcom BCM2836, BCM2837
- Intel Cyclone V SoC FPGA
- NVIDIA Tegra K1 (T124)
- Samsung Exynos 5422
- TI AM335x, OMAP3
- Xilinx Zynq 7000
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Intel GPU (Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Intel Kabylake), NVIDIA ΠΈ AMD Π·Π° x86 ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM/KMS Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π° Ρ ΡΠ΄ΡΠΎΡΠΎ Linux 4.4. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ GPU Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π½Π° ARM ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ DRM/KMS Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Allwinner DE2, Rockchip VOP ΠΈ TI AM335x LCDC, Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° ΠΊΠ°Π΄ΡΠΎΠ² Π±ΡΡΠ΅Ρ Π·Π° ARM PrimeCell PL111 ΠΈ TI OMAP3 DSS;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° NetBSD ΠΊΠ°ΡΠΎ Π³ΠΎΡΡ OS. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° fw_cfg ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (QEMU ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ°), Virtio MMIO ΠΈ PCI Π·Π° ARM. ΠΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° HyperV Π·Π° x86;
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈ ΡΠ° Π±ΡΠΎΡΡΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° tprof. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Armv7, Armv8 ΠΈ x86 (AMD ΠΈ Intel);
- ΠΠ° x86_64 Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (KASLR, Kernel Address Space Layout Randomization), ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π°ΡΠ°ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠ°ΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° x86_64 Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΠΠΠΠ , ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 25 Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ x86_64 ΠΈ Aarch64 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ KASan (Kernel address sanitizer), ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅Ρ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ KUBSAN (Kernel Undefined Behavior Sanitizer) Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ»ΡΡΠ°ΠΈ Π½Π° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ΄ΡΠΎΡΠΎ
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ KCOV (Kernel Coverage) Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Userland Sanitizer Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ KHH (Kernel Heap Hardening) Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΊΡΠΏΡΠΈΠ½Π°ΡΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°;
-
ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ; - ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ptrace;
- Π―Π΄ΡΠΎΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠΈΡΡΠ΅Π½ΠΎ ΠΎΡ ΡΡΠ°ΡΠΈ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ NETISDN (Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 ΠΈ ipkdb;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ»ΡΡΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π°
ΠΠΠ€ , ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅; - Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ZFS Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°, Π·Π° Π΄Π° ΡΡΠ°Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ ZFS ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ZFS Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π΄ΡΠ» Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ bwfm Π·Π° Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Broadcom (Full-MAC), ena Π·Π° Amazon Elastic Network Adapter ΠΈ mcx Π·Π° Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ ;
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° SATA Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½Π°, Π΄ΠΎΠ±Π°Π²ΡΠΉΠΊΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° NCQ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ;
-
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½ΠΎΠ²Π° usbnet ΡΠ°ΠΌΠΊΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Ethernet Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ Ρ USB ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ; - ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 ΠΈ SQLite 3.26.0.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru