ΠΠ΄Π΄Π΅Π»Π½ΠΎ, ΠΈΠΌΠ° 8 ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΏΠΎΡΡΠΈ ΠΊΠΎΠΈ Π³ΠΎ ΡΠΎΡΠΌΠΈΡΠ°Π°Ρ ΡΠ°Π΄ΡΠΎΡΠΎ Π½Π° ΡΠ°Π·Π²ΠΎΡΠ½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ° Π½Π° NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 ΠΈ xen. 49 ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π°Π»ΡΠ°, hppa, m68010, m68k, sh3, sparc ΠΈ vax ΡΠ΅ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°, Ρ.Π΅. ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ, Π½ΠΎ ΡΠ° ΠΈΠ·Π³ΡΠ±ΠΈΠ»Π΅ ΡΠ²ΠΎΡΠ°ΡΠ° Π²Π°ΠΆΠ½ΠΎΡΡ ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ°Π°Ρ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π·Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ ΡΠ°Π·Π²ΠΎΡ. ΠΠ΄Π½Π° ΠΏΠΎΡΡΠ° (acorn26) Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π²ΠΎ ΡΡΠ΅ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°, ΠΊΠΎΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ Π½Π΅ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΈΡΡΠ°Π½ΠΈΡΡΠ° ΠΊΠΎΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π½Π΅ΠΌΠ° Π΅Π½ΡΡΠ·ΠΈΡΠ°ΡΡΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π·Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ ΡΠ°Π·Π²ΠΎΡ.
ΠΠ»ΡΡ
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π½ΠΎΠ² Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ
ΠΠΠΠ , ΠΊΠΎΡ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ SVM Π·Π° AMD ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΠΈ VMX Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Intel. ΠΠΎΡΠ΅Π±Π½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° NVMM Π΅ ΡΠΎΠ° ΡΡΠΎ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΡΠ΅ Π²ΡΡΠΈ ΡΠ°ΠΌΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ ΡΠ΅Ρ Π½Π° Π²ΡΠ·ΡΠ²Π°ΡΠ° ΠΎΠΊΠΎΠ»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΠΈ ΡΠ΅Π»ΠΈΠΎΡ ΠΊΠΎΠ΄ Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡΠ²Π° Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ. ΠΠ° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libnvmm, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ qemu-nvmm Π·Π° Π²ΠΎΠ΄Π΅ΡΠ΅ Π½Π° Π³ΠΎΡΡΠΈΠ½ΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° NVMM. Libnvmm API ΠΎΠΏΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ Π²ΠΎΠ΄Π΅ΡΠ΅ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π³ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ 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
- Π Π°ΠΊ ΡΠ°Π·Π½ΠΎΠ²ΡΡΠ½Π° 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. ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ARM, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° DRM/KMS Π·Π° Allwinner DE2, Rockchip VOP ΠΈ TI AM335x LCDC, Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° Π±Π°ΡΠ΅Ρ Π·Π° ΡΠ°ΠΌΠΊΠ° Π·Π° ARM PrimeCell PL111 ΠΈ TI OMAP3 DSS;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π²ΠΎΠ΄Π΅ΡΠ΅ Π½Π° NetBSD ΠΊΠ°ΠΊΠΎ Π³ΠΎΡΡΠΈΠ½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° fw_cfg ΡΡΠ΅Π΄ (QEMU ΡΠΈΡΠΌΠ²Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°), Virtio MMIO ΠΈ PCI Π·Π° ARM. ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° HyperV Π·Π° x86;
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ Π±ΡΠΎΡΠ°ΡΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ Π»Π΅Ρ. ΠΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° ΡΠ΅ Π²ΡΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° tprof. ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Armv7, Armv8 ΠΈ x86 (AMD ΠΈ Intel);
- ΠΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° x86_64
Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΡΠΎΡΠΎΡ Π·Π° Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ (KASLR, Π Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π½Π° ΠΏΡΠΎΡΡΠΎΡ Π·Π° Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ), ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΎΡΠΏΠΎΡΠΎΡ ΠΊΠΎΠ½ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π½Π°ΠΏΠ°Π΄ΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΠΈΡΠΊΠΎΡΠΈΡΡΡΠ²Π°Π°Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°Π΅Π½ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΏΡΠΈ ΡΠ΅ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠ΅; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64
ΠΠΠΠ , ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ, ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅ΠΌΠ΅ ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 25 Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ x86_64 ΠΈ Aarch64, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ KASan (Kernel address sanitizer), ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΈ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ KUBSAN (Kernel Undefined Behavior Sanitizer) Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ Π½Π° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64, Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ KCOV (ΠΠΎΠΊΡΠΈΠ΅Π½ΠΎΡΡ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ) Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π·Π° Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎΠΊΡΠΈΠ΅Π½ΠΎΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Userland Sanitizer Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ KHH (Kernel Heap Hardening) Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΊΡΠΏΠΎΡ ΠΎΠ΄ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°;
-
Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠ΅Π²ΠΈΠ·ΠΈΡΠ° Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΎΡΠ°ΠΊ; - ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ°Π³ΠΈ;
- ΠΠ΅ΡΠ½Π΅Π»ΠΎΡ Π±Π΅ΡΠ΅ ΠΈΡΡΠΈΡΡΠ΅Π½ ΠΎΠ΄ ΡΡΠ°ΡΠΈ ΠΈ Π½Π΅ΠΎΠ΄ΡΠΆΡΠ²Π°Π½ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 ΠΈ ipkdb;
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ»ΡΠ΅ΡΠΎΡ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅
ΠΠΠ€ , ΡΡΠΎ ΡΠ΅Π³Π° Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ; - ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ZFS Π΅ Π°ΠΆΡΡΠΈΡΠ°Π½Π° Π·Π° Π΄Π° ΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° ΡΠ΅ΠΊΠΎΡΠ΄Π½Π΅Π²Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ ΠΎΠ΄ ZFS ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ZFS Π½Π° root ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°ΡΠ° ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π°;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ bwfm Π·Π° Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ Broadcom (Full-MAC), ena Π·Π° Amazon Elastic Network Adapter ΠΈ mcx Π·Π° Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Π΅ΡΠ΅ΡΠ½Π΅Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ ;
- ΠΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ SATA Π΅ ΡΠ΅Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° NCQ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ³ΠΎΠ½ΠΎΡ;
-
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½ΠΎΠ²Π° usbnet ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° Π΅ΡΠ΅ΡΠ½Π΅Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ ΡΠΎ USB ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ; - ΠΠΆΡΡΠΈΡΠ°Π½ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 ΠΈ SQLite 3.26.0.
ΠΠ·Π²ΠΎΡ: opennet.ru