Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux 6.6. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π½ΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ EEVDF; ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π·Π°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ ΠΏΡΠΎΡΠΈΠ² Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠΈ; ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° fs-verity Π² OverlayFS; ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ²ΠΎΡΠΈ ΠΈ xattr Π² tmpfs; ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° online fsck Π² XFS; Π·Π°ΡΠΈΠ»Π΅Π½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠΎΡΡΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ βGPL-onlyβ; ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ Π² io_uring; ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² kmalloc(); ΠΎΠ±ΡΠ²Π΅Π½Π° Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π° ReiserFS; Π² Nouveau Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° NVK.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ 15291 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2058 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 39 ΠΠ (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ 14844 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 553359 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ° 284012 ΡΠ΅Π΄Π°). Π ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ°ΡΠ΅ 14674 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2016 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 78 ΠΠ. ΠΠΊΠΎΠ»ΠΎ 44% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 6.6 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠΊΠΎΠ»ΠΎ 17% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 11% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 4% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% β Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎΡΠΎ 6.6:
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ Π½ΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ EEVDF (Earliest Eligible Virtual Deadline First), ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π° ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ CFS (Completely Fair Scheduler), Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ 2.6.23. ΠΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΈ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. Π ΠΏΡΡΠ²ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°, Π° Π²ΡΠ² Π²ΡΠΎΡΠΈΡ, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΡΠ΅ ΠΎΡΠ»Π°Π³Π°. Π‘ΡΠ°ΡΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ CFS ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Ρ Π΅Π²ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΡΠΈΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π³ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΠΏΠΎ-ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΈΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ EEVDF ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ CFS ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ.
- ΠΠ½Π΅ΡΠ΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Β«GPL-onlyΒ», Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ GPL-ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° GPL. Π ΡΡΠ½ΠΊΡΠΈΡΡΠ° symbol_get() Π·Π° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ GPL-only, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, GPL-ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΠΌΠΈΡΠ°Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠΈ (unbound workqueue) Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°ΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ΅ΡΠΎΠ²Π΅ ΠΎΡ ΡΡΠ΅ΡΠΎ Π½ΠΈΠ²ΠΎ (L3). Π ΡΠ΄ΡΠΎΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ tools/workqueue/wq_dump.py Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠΈ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° io_uring Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π΅Π½ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ sysctl io_uring_disabled Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° io_uring Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π io_uring ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ ΡΡΠΊΠΎΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈΡΡ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ (Direct I/O) Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄ ΡΠ»Π΅Π΄ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΡΠΈΠ³Π° 37%.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° PA-RISC Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π·Π° BPF.
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° /sys/devices/system/cpu/smt/control Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΠ»ΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠΈ Π±ΡΠΎΡ Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ΡΠ΅, Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° Π²ΡΡΠΊΠΎ ΡΠ΄ΡΠΎ Π½Π° CPU (ΠΏΠΎ-ΡΠ°Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π° ΡΠ°ΠΌΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Β«onΒ» ΠΈ Β«offΒ» Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ). ΠΠΎΠ²Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ PowerPC, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π³ΠΎΡΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½Π°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ (Β«hotplug SMTΒ»), Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° SMT Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΄ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡ ΠΊΠ»ΠΎΠ½Π° Rust-for-Linux, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Rust Π² Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ). ΠΠ·Π²ΡΡΡΠ΅Π½ Π΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ Π²Π΅ΡΡΠΈΠΈ Rust 1.71.1 ΠΈ bindgen 0.65.1. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΡΠΈΠΏΠ°ΠΆ βZeroableβ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ βpaste!β ΠΈ β#[derive(Zeroable)]β. ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ β#[pin_data]β. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β{,pin_}init_array_from_fn()β ΠΈ ΠΌΠ΅ΡΠΎΠ΄ β{,pin_}chainβ. Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° βtypesβ. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π·Π° Π΅Π΄ΠΈΠ½Π½ΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ kunit Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π½Π° Rust.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Β«eventfsΒ», ΠΊΠΎΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°, ΡΡΠ΅Π· ΠΈΠ·Π±Π°Π²ΡΠ½Π΅ ΠΎΡ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ° Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠΎΡΠΊΠΈ Π½Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° eventfs ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ, ΡΠ°ΠΌΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ.
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° perf.
- Π ΡΠ°ΠΉΠ»Π° /proc/pid/smaps Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ (KSM, Kernel Samepage Merging).
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ API Frontswap, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ°Π·Π΄Π΅Π» Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π² ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ. ΠΠ°Π½Π½ΡΠΉ API ΡΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» ΡΠ°ΠΌΠΎ Π² zswap, ΡΠ°ΠΊΠ° ΡΠ΅ Π΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² zswap, ΠΈΠ·Π±Π°Π²ΡΠΉΠΊΠΈ ΡΠ΅ ΠΎΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC-V Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±ΡΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΄Π°ΠΌΠΏ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ»Π΅Π΄ ΡΡΠΈΠ² Π² ΠΎΠ±Π»Π°ΡΡ ΠΈΠ·Π²ΡΠ½ 4GB.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ ARM SME (Scalable Matrix Extension).
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ KDB, KGDB, kcov, KFENCE ΠΈ KASAN Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° LoongArch.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ GitLab, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ.
- ΠΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° OverlayFS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ Π΅ΡΠΎΠ²Π΅ fs-verity Π² ΡΠ°Π·ΡΠΈΡΠ΅Π½ Π°ΡΡΠΈΠ±ΡΡ (xattr) overlay.verity, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² Π΄ΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»ΠΎΠ΅Π²Π΅ Π½Π° OverlayFS ΡΡΠ΅Π· ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Ρ Π΅ΡΠΎΠ²Π΅ ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅. Π’Π°ΠΊΠ° Π² OverlayFS ΡΠ΅Π³Π° ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Composefs, Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΡΠΎ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ° Π½Π°Π΄ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ OverlayFS ΠΈ EROFS.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° XFS Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° fsck Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌ, Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π² XFS Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΈ (folios) Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΊΠ΅Ρ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΡΠΊΠΎΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²ΠΈΡΠΈΡ Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π·Π° Π½ΡΠΊΠΎΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° tmpfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ (user xattrs), Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅/ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΊΠ²ΠΎΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈ Π³ΡΡΠΏΠ°ΡΠ°. Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ Π΅ΠΊΡΠΏΠΎΡΡΠ° Π½Π° tmpfs ΠΏΡΠ΅Π· NFS.
- Π API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ FSCONFIG_CMD_CREATE_EXCL, ΠΊΠΎΠΉΡΠΎ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ (Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΡΠ½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ Π΄ΡΠ» ΠΊΡΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΎΡΠΊΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅). Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° mount Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΎΠΏΡΠΈΡ ββexclusiveβ Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ»Π°Π³.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° VFS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° (atime, mtime). ΠΠΎ-ΡΠ°Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ Π° Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅ΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΊΠ΅ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° NFS (ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ»Π°, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ Π΄Π° Π·Π°ΠΊΠ»ΡΡΠΈ, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΊΠ΅ΡΠ° ΡΠ° Π°ΠΊΡΡΠ°Π»Π½ΠΈ). ΠΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π·Π° Btrfs, Ext4, tmpfs ΠΈ XFS.
- Π Btrfs Π΅ ΠΎΠ±ΡΠ²Π΅Π½ Π·Π° ΠΎΡΡΠ°ΡΡΠ» Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ°, Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ΅ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΡΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° BTRFS_FS_CHECK_INTEGRITY. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΡΠ²Π° ΠΈ ΡΡΠ·Π΄Π°Π²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ Π½Π° CPU ΠΈ ΠΏΠ°ΠΌΠ΅Ρ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π² Btrfs Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΊΠΎΠ΄ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (scrub).
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ext4 ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° ΠΈ ΡΠ° ΡΡΠΊΠΎΡΠ΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ Π΄ΠΎΠΏΠΈΡΠ²Π°Π½Π΅ Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π°.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° FUSE Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠ° btime (βΠ²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΆΠ΄Π°Π½Π΅β), ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° inode.
- ΠΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²Π°ΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏ Π·Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π²ΠΈΠΊ fchmodat2(), ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π²ΠΈΠΊ fchmodat() Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅. ΠΡ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ Π·Π°ΡΠ΅Π³Π° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ AT_SYMLINK_NOFOLLOW ΠΈ AT_EMPTY_PATH, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π΅Π· ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΈ ΠΏΡΡΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π² libc ΡΡΠ½ΠΊΡΠΈΡΡΠ° fchmodat() Π·Π°Π±ΡΠ°Π½Π°ΡΠ° Π·Π° ΡΠ°Π·ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΡΠΈ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΡΡ ΠΏΡΡ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° EROFS (Π Π°Π·ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Deflate. ΠΠ° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° bloom filter.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° CONFIG_BUFFER_HEAD, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° buffer_head. ΠΡΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π±Π΅Π· buffer_head ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π½ΡΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ xfs, btrfs, cramfs, erofs ΠΈ squashfs.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ublk, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·Π½Π°ΡΡΠ½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·ΠΎΠ½ΠΈ ΠΎΡ Π³ΡΡΠΏΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° Π³ΡΡΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅).
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ReiserFS Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ Π² ΠΊΠ»Π°ΡΠ° Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ (Obsolete). ΠΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ReiserFS Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π·Π° 2025 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠ°ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ReiserFS Π² ΠΊΠ»Π°Ρ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ, ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π° ΡΡΠ°Π³Π½Π°ΡΠΈΡΡΠ° Π² ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΡ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°, Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΡ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠ±ΡΠΈΡΠ΅ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ² API Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, iomap ΠΈ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΈ (folios).
- Π NFS ΡΡΡΠ²ΡΡΠ° Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π΄Π΅Π»Π΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π·Π°ΠΏΠΈΡ Π·Π° NFSv4, ΠΊΠΎΠ΅ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠΊΠ»ΡΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° READ_PLUS, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² NFS 4.2.
- ΠΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ceph Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° fscrypt.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Shadow Stack, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ° Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π² ΡΡΠ΅ΠΊΠ°. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π΅, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°, Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊ, Π½ΠΎ ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ 'ΡΠ΅Π½ΡΠ΅ΡΡ' ΡΡΠ΅ΠΊ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ. ΠΡΠ΅Π΄ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡΡΠ°, Π°Π΄ΡΠ΅ΡΡΡ Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·Π²Π»ΠΈΡΠ° ΠΎΡ ΡΠ΅Π½ΡΠ΅ΡΡΠΈΡ ΡΡΠ΅ΠΊ ΠΈ ΡΠ΅ ΡΠ²Π΅ΡΡΠ²Π° Ρ Π°Π΄ΡΠ΅ΡΠ° Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΠ΅ΠΊ. ΠΠ΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΡΡ Π΅ ΡΡΠΏΡΠ» Π΄Π° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΠ΅ΠΊ. Π₯Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈΡΡ ΡΠ΅Π½ΡΠ΅ΡΡ ΡΡΠ΅ΠΊ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π² 64-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π² 32-Π±ΠΈΡΠΎΠ²ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΡΡΡΠ΅ΡΠ½Π° Π΅ΠΌΡΠ»ΡΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Ρ Clang Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π·Π°ΡΠΈΡΠ° CFI (Control Flow Integrity), ΠΊΠΎΠΉΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ° Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (control flow) Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠΈ, ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π²ΠΈΠΊ seccomp() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ SECCOMP_USER_NOTIF_FD_SYNC_WAKE_UP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
- Π ΡΡΠ½ΠΊΡΠΈΡΡΠ° kmalloc() Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° slab ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅, ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°ΡΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ.
- ΠΡ ΠΎΠΏΡΠΈΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° SELinux, Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΠ°ΡΠΈΠΎΠ½Π°Π»Π½Π°ΡΠ° Π°Π³Π΅Π½ΡΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π‘ΠΠ©. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π²Π΅ΡΠ΅ 20 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠΎΠ΄ ΠΊΡΠΈΠ»ΠΎΡΠΎ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΡΠ½ΡΡΠΈ, Π΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠΌΠ΅ΡΠΎ 'SELinux' Π²ΠΌΠ΅ΡΡΠΎ 'NSA SELinux' Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π² Kconfig (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ SECURITY_SELINUX Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ ΠΎΡ 'NSA SELinux Support' Π½Π° 'SELinux Support').
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π²ΠΈΠΊ userfaultfd() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° UFFDIO_POISON, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ Ρ 'ΠΎΡΡΠΎΠ²Π΅Π½ΠΈ' (poisoned), ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΎΡ Π΅Π΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Π΄ΡΡΠ³Π°.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° VFIO Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (/dev/vfio/devices/vfioX) Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° VFIO, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈ ΡΠ°ΠΉΠ» Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡ Π³ΡΡΠΏΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ /dev/vfio/$groupID.
- Π ΡΡΡΠ²ΡΡ ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Kerberos, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ DES ΠΈ 3DES, Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π² NFS.
- ΠΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π² ΡΡΠ΅Π΄Π° Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Hyper-V Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΠΎΡΡΡΠ²Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD SEV-SNP (Secure Nested Paging) ΠΈ Intel TDX (Trusted Domain Extensions).
- ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ βW=1β ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡΠ° β-Wformat-overflowβ, β-Wformat-truncationβ, β-Wstringop-overflowβ ΠΈ β-Wrestrictβ. ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ β-Wenum-conversionβ.
- ΠΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² AF_XDP (eXpress Data Path) Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΅Π΄ΠΈΠ½ Π±ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° Π²ΡΠ² Π²ΡΠΎΡΠΈΡ - Π΄Π°Π½Π½ΠΈ, ΠΈΠ»ΠΈ Π² Π²Π΅ΡΠΈΠ³Π° ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ jumbo ΠΊΠ°Π΄ΡΠΈ Ethernet). ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΡΠΎΠΊΠ΅ΡΠΈ AF_XDP, ΡΠ΅Π³Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ΅ΡΠ°.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° BPF Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° IPv4 ΠΈ IPv6 ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
- Π BPF Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ update_socket_protocol, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΈΡΠΊΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π½ΠΎΠ²ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP Ρ MPTCP (multipath TCP) Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π BPF ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΠΎΡΠΈ Π² MPTCP.
- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈΡΡ ΡΡΠ°ΡΡΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° ksmbd, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΡΠ²ΡΡ Π½Π° Π±Π°Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMB3, Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ (Π·Π°ΡΠ²ΠΊΠΈ βread compoundβ).
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅
- Π DRM ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (Direct Rendering Manager) ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ NVK Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈΡΠ΅ NVIDIA. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ DRM Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Nouveau Π΅ Π±ΠΈΠ» ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° OpenGL, Π·Π°ΡΠΎΠ²Π° Π² Π½Π΅Π³ΠΎ Π»ΠΈΠΏΡΠ²Π°Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° Vulkan Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΎΡΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° AMDGPU Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° SDMA 6.1.0, HDP 6.1, SMUIO 14.0, PSP 14.0, IH 6.1 ΠΈ GFX 9.4.3. ΠΠΎΠ΄ΡΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° PSP (Platform Security Processor) Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½. Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° Π°Π΄Π°ΠΏΡΠΈΠ²Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ FreeSync (Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Freesync Panel Replay V2).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Intel Meteor Lake. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ HDCP (High-bandwidth Digital Content Protection). ΠΠΎΠ΄ΡΡ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΠΈΡΠΏΠ»Π΅Ρ Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½.
- ΠΠΏΡΠΈΠΈΡΠ΅ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ β MICROCODE_INTEL ΠΈ MICROCODE_AMD ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΡ Kconfig. Π―Π΄ΡΠΎ ΡΠ΅Π³Π° Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Ρ ΠΊΠΎΠ΄ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ x86, Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΡΡΠ΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ βdis_ucode_ldrβ.
- Π Π·Π²ΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° IIO (Industrial I/O).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Intel LunarLake, Intel ArrowLake ΠΈ AMD ACP5x, ΠΊΠΎΠ΄Π΅ΡΠΈΡΠ΅ Cirrus Logic CS42L43, Realtek RT1017 ΠΈ TI TAS2781, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΠΈΠ»Π²Π°ΡΠ΅Π»ΠΈΡΠ΅ Cirrus Logic CS35L56 ΠΈ winic aw88261. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ASoC AMD Van Gogh.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ USB MIDI 2.0 Gadget, ΠΊΠΎΠΉΡΠΎ Π΅ΠΌΠΈΠ»ΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° USB MIDI 2.0, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ALSA UMP rawmidi.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ethernet ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈΡΠ΅ Broadcom ASP 2.0 ΠΈ Marvell 88Q2XXX.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅ Visionox R66451, TDO TL050HDV35, KD070FHFID015, Inanbo T28CP45TN89 ΠΈ EDT ET028013DMA, Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Loongson ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈΡΠ΅ Π·Π° ΡΡΡΡΠΊΡΠΈΠΉΠ½ Azoteq IQS7222D/IQS7210A/7211A.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM SoC Qualcomm SM4450 (Snapdragon 4 Gen 2), TI AM62P5, Intel Agilex5, Qualcomm ipq5018, AN400 (Amlogic T7).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Samsung Galaxy Tab 3 8.0, FriendlyElec NanoPC T6, Amlogic A311D2, Khadas Vim4, Xiaomi SM7125, Facebook Yosemite 4, Orange Pi Zero 3, Radxa ROCK 4SE.
ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΠ°ΡΠΈΠ½ΡΠΊΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡΡ Π€ΠΎΠ½Π΄ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π΅ ΡΡΠ·Π΄Π°Π» Π²Π°ΡΠΈΠ°Π½Ρ Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ 6.6 β Linux-libre 6.6-gnu, ΠΏΡΠ΅ΡΠΈΡΡΠ΅Π½ΠΎ ΠΎΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ». Π ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 6.6 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π½Π° TI gigabit RU ethernet, MediaTek 792x wifi, Cirrus Logic cs42l43 mfd, cs35l56 HD-audio ΠΈ aw88261 SoC. ΠΠ·Π²ΡΡΡΠ΅Π½ΠΎ Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ΡΠ΅ Π² dts-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Aarch64. ΠΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ ΡΠ° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ Π² Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ivpu, Π² bluetooth Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅, Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° ΡΡΡΡΠΊΡΠΈΠΉΠ½Π° ΠΈ Π² ΠΊΠΎΠ΄Π΅ΡΠ°/Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° Qualcomm Venus V4L2.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
