Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux 6.12. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, sched_ext Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΡΡΠ΅Π· eBPF, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° QR ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΈΠ·Π²ΡΠ½ΡΠ΅Π΄Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, TCP ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ SCHED_DEADLINE ΡΡΡΠ²ΡΡ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° EEVDF ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ, IPE ΠΌΠΎΠ΄ΡΠ» Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π½ΠΎΡΡ.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° 14607 2167 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 37 13087 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π΅ 507913 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°Ρ Π° 234083 15130 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 2078 85 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, 6.10 41 ΡΠ΅Π΄Π° ΡΠ° ΠΈΠ·ΡΡΠΈΡΠΈ). ΠΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΈΠΌΠ°ΡΠ΅ 45 6.12 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 12 13 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ 6 MB (Π² ΡΠ΄ΡΠΎΡΠΎ 3 ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Ρ ΡΠ°Π·ΠΌΠ΅Ρ XNUMX MB). ΠΠΊΠΎΠ»ΠΎ XNUMX% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π² XNUMX, ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ XNUMX% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, XNUMX% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ, XNUMX% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ XNUMX% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ 6.12:
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΡΠ΄ΡΠΎΡΠΎ Ρ ΠΎΠΏΡΠΈΡΡΠ° PREEMPT_RT Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π»ΠΈΠΏΡΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ PREEMPT_RT Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½, Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ Π°ΡΠΎΠΌΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ ΡΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡΡΠ° printk, ΠΊΠΎΡΡΠΎ ΡΡΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠ΄ΡΠΎΡΠΎ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° PREEMPT_RT Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π·Π° x86, x86_64, ARM64 ΠΈ RISC-V Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΠΎΡΠ΅Π³Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° PREEMPT_RT ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠΈΡΠΎ Π½ΡΠΊΠΎΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΊΠ°ΡΠΎ RHEL, SUSE ΠΈ Ubuntu, ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΡΡΡΡΠ΅Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ , ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π°ΡΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π°Π²ΠΈΠ°ΡΠΈΡ, ΠΌΠ΅Π΄ΠΈΡΠΈΠ½Π°, ΡΠΎΠ±ΠΎΡΠΈΠΊΠ°, ΡΠ΅Π»Π΅ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠΌΠΈΡΠ»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΡ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ "sched_ext" (SCX), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° eBPF Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ. Π’Π°ΠΊΠΈΠ²Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° eBPF. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ sched_ext ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π·Π°Π΄Π°ΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΡΠ·ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ ΠΈ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ sched_ext, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΡΠΈΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° ΡΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈ.
- ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΡΡΠ°Π½Π°Π»Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΡΠΎΠ²Π΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ SCHED_DEADLINE, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ Π΅ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡΠ°Π½ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ Ρ Π²ΠΈΡΠΎΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ (Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅). ΠΠ° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΡΠ΄ΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π΄ΡΠΎΡΠ΅Π»ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ 5% Π·Π° Π·Π°Π΄Π°ΡΠΈ Ρ Π½ΠΈΡΡΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ 95% ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°Π΄Π°ΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΎΡΡΠ°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° ΡΠ΅ ΠΆΠ΅Π»Π°Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘ΡΡΠ²ΡΡΡΡ SCHED_DEADLINE ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ.
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ EEVDF (Earliest Eligible Virtual Deadline First) Π΅ Π·Π°Π²ΡΡΡΠ΅Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° CFS (Completely Fair Scheduler), Π΄ΠΎΡΡΠ°Π²ΡΠ½, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ΄ΡΠΎΡΠΎ 2.6.23. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·Π±ΠΈΡΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π΅Π·Π°ΡΠ»ΡΠΆΠ΅Π½ΠΎ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΠΏΡΡΠ²ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ, Π° Π²ΡΠ² Π²ΡΠΎΡΠΈΡ, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΡΠ΅ ΠΎΡΠ»Π°Π³Π°. Π‘ΡΠ°ΡΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° CFS ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π²ΡΠΈΡΡΠΈΠΊΠ° ΠΈ ΡΠΈΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π³ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΠΏΠΎ-ΡΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΈΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΡΠ°ΠΊΠ²Π° ΡΠ΅ EEVDF Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π² Π·Π°Π΄Π°ΡΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ CFS ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ.
- Π Π°Π²Π°ΡΠΈΠΉΠ½ΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ - DRM Panic, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM (Direct Rendering Manager) Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ ΠΎΡΡΠ΅Ρ Π² ΡΡΠΈΠ»Π° Π½Π° βΡΠΈΠ½ΠΈΡ Π΅ΠΊΡΠ°Π½ Π½Π° ΡΠΌΡΡΡΡΠ°β, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎ ΠΈ QR ΠΊΠΎΠ΄ Ρ kmsg ΠΎΡΡΠ΅Ρ Π½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΅ΠΊΡΠ°Π½ΡΡ ΠΏΡΠΈ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎ 2953 Π±Π°ΠΉΡΠ° ΡΠ΅ ΠΏΠΎΠ±ΠΈΡΠ°Ρ Π² QR ΠΊΠΎΠ΄, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΠΏΡΠΈΡΡΠ° DRM_PANIC_SCREEN_QR_CODE_URL, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ kmsg ΠΎΡΡΠ΅ΡΡΡ ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° zlib ΠΈ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΡΠΌ URL Π°Π΄ΡΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΠΊΠΎΠ»ΠΎ 40 Π±Π°ΠΉΡΠ° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΡΡΠ΅Π· V7500 QR ΠΊΠΎΠ΄Π°. ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΡΠ΄ΡΠΎΡΠΎ, Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°Π΄Π°Π΄Π°Ρ ΠΎΡΠ½ΠΎΠ²Π΅Π½ URL Π°Π΄ΡΠ΅Ρ Π·Π° URL Π°Π΄ΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π°Π²ΠΈΠ³ΠΈΡΠ°Ρ Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° QR ΠΊΠΎΠ΄Π°, Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° DRM_PANIC_SCREEN_QR_VERSION.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM POE (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° Π½Π°ΡΠ»Π°Π³Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ), ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΎΠ²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ARM64 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²Π½Π΅Π΄ΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Loongarch, ARM64, PowerPC ΠΈ s390 Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ getrandom() Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° vDSO (Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΠΎΠ±Π΅ΠΊΡ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ ΠΊΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΠΈΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠΊΠΎΡΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠΈΡΠ»Π° Π΄ΠΎ 15 ΠΏΡΡΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½ΠΈΡ, Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΠΊ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° io_uring (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠΊΠ°Π·Π²Π°Ρ Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ).
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libcpupower Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° SWIG, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΎΡ C/C++ ΠΊΠΎΠ΄ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. Π‘Π²ΡΡΠ·Π²Π°Π½ΠΈΡΡΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Python ΠΈ Π΄ΡΡΠ³ΠΈ Π΅Π·ΠΈΡΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libcpupower, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° cpufreq ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° cpuidle ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° βΠΏΡΠ΅Π±ΠΈΠ²Π°Π²Π°Π½Π΅ΡΠΎβ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΡΠ΅Π· ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ, Π·Π° Π΄Π° ΠΎΠΏΡΠ°Π²Π΄Π°Π΅ Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π² ΠΈ ΠΈΠ·Π²ΡΠ½ ΡΠΎΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Clang Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° nolibc, ΠΊΠΎΡΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° nolibc Π² Clang Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π²ΡΡΠ·ΠΊΠ° (LTO).
- ΠΡΠΊΠΎΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° cgroup1 ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ, ΠΊΠ°ΡΠΎ TCP ΡΡΠ΅ΡΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΌΠ΅ΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡ XNUMX ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΡΠ΅Π³Π° ΠΎΡΡΠ°Π²Π° ΠΏΡΠ»Π½Π° ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΡΠΈ Π±ΡΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΡΠ΅Ρ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π·Π²ΡΠ½Π΅Π½Π΅ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π΅ Π·Π°Π³ΡΠ±ΠΈΡΠ΅ Π½Π°ΡΡΡΠΏΠ°Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² Π½Π° ΡΠ΄ΡΠΎΡΠΎ. ΠΠ°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ trace_instance, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° βtrace_instance=boot_map@0x285400000:12Mβ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ 12 MB ΠΏΠ°ΠΌΠ΅Ρ Π½Π° 0x285400000 Π·Π° Π±ΡΡΠ΅ΡΠ° βboot_mapβ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΅Π· ΡΠ°ΠΉΠ»Π° /sys/kernel /tracing/instances/boot_map.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡ ΠΊΠ»ΠΎΠ½Π° Rust-for-Linux, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Rust ΡΡΠ΅Π΄ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°ΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΡΠ΄ΡΠΎΡΠΎ). ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΌΠΎΠ΄ΡΠ»ΠΈ βΡΠΏΠΈΡΡΠΊβ ΠΈ βrbtreeβ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΠΏΠΈΡΡΡΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅Π½ΠΎ-ΡΠ΅ΡΠ½ΠΈ Π΄ΡΡΠ²Π΅ΡΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ 'init', 'sync', 'types' ΠΈ 'error' ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ΄ Π½Π° Rust ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎ ββΡΡΡ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Π½Π° Spectre (ΠΎΠΏΡΠΈΠΈ MITIGATION_{RETHUNK,RETPOLINE,SLS}), ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ KASAN, kCFI (ΡΡΠ»ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ) ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Shadow Call, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ GCC. ΠΠΎΠ±Π°Π²Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° Applied Micro QT2025 PHY Ethernet ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust. ΠΠ·Π³ΠΎΡΠ²Π΅Π½ Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ - rust.docs.kernel.org.
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° xdrgen Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° XDR (eXternal Data Representation) Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° XDR, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° C ΡΡΠΈΠ»Π°, Π²ΡΠ·ΠΏΡΠΈΠ΅Ρ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux.
- Π―Π΄ΡΠΎΡΠΎ Π΅ ΠΏΡΠΈΠ΅Π»ΠΎ ΠΏΡΠΎΠΌΡΠ½Π° Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π», Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π±ΡΠΎΡ Π½Π° Π±Π°Π²Π½ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ barrier_nospec() Π² 64-Π±ΠΈΡΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ copy_from_user(), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ ΡΡΠΊΠΎΡΡΠ²Π° Ρ 2.6% ΡΠ΅ΡΡΠ° βper_thread_opsβ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ΅Π½ΡΠ²Π° Π±ΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π² Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² USB Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° 9pfs ΠΊΠ°ΡΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ 9p ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π· USB (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ βmount -t 9p -o trans=usbg, aname=/path/to/ fs /mnt/9"). ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° NFS Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π΄ΡΠ» ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, I/O ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΡΠΌ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° VFS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠΈΠΉΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π±Π»ΠΎΠΊΠ° Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π² XFS.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° FUSE, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ ΡΡΠΆΠ΄ Π΄ΡΠ» Ρ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π½ΠΎΠ²Π° fcntl ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, F_CREATED_QUERY, ΠΊΠΎΡΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ ΡΠ°ΠΉΠ», ΠΎΡΠ²ΠΎΡΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π°Π³Π° O_CREAT, Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΈΠ»ΠΈ Π²Π΅ΡΠ΅ Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π» ΠΏΡΠ΅Π΄ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ 64-Π±ΠΈΡΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΡΠΎΡΠΊΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ name_to_handle_at(), Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° /proc/mountinfo.
- Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° βΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ°β ΡΡΡΡΠΊΡΡΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΡ 232 Π½Π° 184 Π±Π°ΠΉΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΡΠΌ ΡΠΎΡΠΊΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π² ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΡΠ° /proc, ΠΊΠ°ΡΠΎ /proc/PID/fd, Π±Π΅ΡΠ΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
- ΠΡΠ΅Π²Π΄ΠΎ-FS NSFS (NameSpace FS), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡ ΠΈΠΌΠ΅Π½Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° ΠΎΡ ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΠΎΡΠΊΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅.
- Π€Π°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° EROFS (Π Π°Π·ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ²ΠΈ ioctl ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ XFS_IOC_START_COMMIT ΠΈ XFS_IOC_COMMIT_RANGE ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ XFS Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°.
- NFS Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° βLOCALIOβ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΄Π°Π»ΠΈ NFS ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈ ΡΡΡΠ²ΡΡΡΡ ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ Ρ ΠΎΡΡ, Π·Π° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
- ΠΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Btrfs ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠ΄ΡΡ Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½, Π·ΠΎΠ½Π°ΡΠ° Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΡΠ΅Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠ»Π° ΠΏΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Ρ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ»ΠΈΠΎ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π·Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° btrfs_path.
- ΠΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ext4 Π±ΡΡ Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΊΡΡΠ΅Π½ΡΠΈΡΠ΅, Π±ΡΡΠ·ΠΎΡΠΎ Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅ ΠΈ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ IPE (Integrity Policy Enforcement) LSM ΠΌΠΎΠ΄ΡΠ», ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Microsoft Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ°. ΠΠΎΠ΄ΡΠ»ΡΡ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΎΠ±ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅Ρ Π·Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠΎΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π°Π²ΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ IPE, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ, ΠΊΠ°ΡΠΎ Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΡ Π½ΠΎΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Ρ Π΅ΡΠΎΠ²Π΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° dm-verity.
- ΠΠ° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ»Π°Ρ Spectre Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. Kconfig ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ: MITIGATE_MDS (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° Microarchitectural Data Sampling), MITIGATE_TAA (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° MMIO Stale Data), MITIGATE_L1TF (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° L1 Terminal Fault), MITIGATE_RETBLEED (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Retbleed ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° Spectre), MITIGATE_SRBDS (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈ ΠΎΡ Π±ΡΡΠ΅ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΡ), MITIGATE_SSB (Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Speculative Store Bypass).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ proc_mem.force_override Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π² Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE ΠΈ PROC_MEM_FORCE_NEVER), Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ΅Π· /proc/pid/mem.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° LSM (ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Linux) Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ΄ΡΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64 Π² ΡΡΠ΅Π΄ΠΈ Π·Π° Π³ΠΎΡΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Android Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ KVM (Π·Π°ΡΠΈΡΠ΅Π½ KVM) Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ.
- ΠΠΎΠ΄ΡΠ»ΡΡ Landlock LSM, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Π³ΡΡΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ Ρ Π²ΡΠ½ΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°, ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° βIPC scopingβ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ ΠΏΡΡΡΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Unix ΡΠΎΠΊΠ΅ΡΠΈ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π±ΡΠ°Π½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Unix ΡΠΎΠΊΠ΅ΡΠΈ ΠΎΡ ΡΡΠ΅Π΄Π° Π½Π° ΠΏΡΡΡΡΠ½ΠΈΠΊ, ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΡΡΡΠΈΡ ΠΎΠ±Ρ Π²Π°Ρ.
- Π KVM Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ ΠΊΡΠΌ CPUID Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΡΡΠΈ, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ AVX10.1.
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Device Memory TCP, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΠ΅ΡΠΈΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° (ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π½ΡΠ»Π΅Π²ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅) ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΡΠ°Π½Π° Π½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ. ΠΠ°Π½Π½ΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΊΠ°ΡΡΠ° ΠΊΡΠΌ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΠ΅ΡΠΈΡΠ΅ΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΊΡΠΌ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΊΠ°ΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π·Π°Π²ΡΡΡΠ²Π°Ρ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π±ΡΡΠ΅ΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Ethernet ΠΈ Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Intel iwlwifi Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° RLC/SMPS ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΡΠΌ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ°, Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ RealTek rtw89 ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° RTL8852BT/8852BE-VT (WiFi 6) ΡΠΈΠΏΠΎΠ²Π΅, Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Π·Π° ΠΌΠΈΠΊΡΠΎΡΠΈΠΏ Ethernet Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° IEEE 802.3 bw (100BASE) ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ -T1) ΠΈ IEEE 802.3bp, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ethernet ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Microsoft vNIC ΠΈ IBM veth. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 ΠΈ Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet ΡΠΈΠΏΠΎΠ²Π΅.
- Π MPTCP (MultiPath TCP), ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° TCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° TCP ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΡΡΡΡΠ° ΠΏΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ΅Π³Π»Π°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ, Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ ΠΎΡ 8 Π½Π° 16 Π±ΠΈΡΠ°. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³ΡΠ±Π΅Π½ (blackhole) ΡΡΠ°ΡΠΈΠΊ ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠΏΠΈΡΠΈ Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠ°ΡΠΈΠΊ.
- ΠΠ° IPv6 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ»Π°Π³Π° βpβ Π² PIO (ΠΎΠΏΡΠΈΡ Π·Π° ΠΏΡΠ΅ΡΠΈΠΊΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² RA ΡΠ΅ΠΊΠ»Π°ΠΌΠΈ (IPv6 Router Advertisements) Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΠ΅Π· DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ Π°Π΄ΡΠ΅ΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ SLAAC (ΠΠ²ΡΠΎΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅Ρ Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅). IPv6 IOAM6 Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½Π΅ tunsrc Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPsec ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° nftables. nfnetlink_queue ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° SCTP ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°.
- API Π½Π° ethtool Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° AMDGPU ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD RDNA4 (βGFX12β). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ ΡΡΡ Π·Π°Π΄Π°ΡΠΈ Π±Π΅Π· Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ GPU.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Xe drm (Direct Rendering Manager) Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Intel Xe, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠ² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈΡΠ΅ ΠΎΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° Intel Arc ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Tiger Lake. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Battlemage ΠΈ Lunar Lake. ΠΡΠ²Π΅Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° CCS (Color Control Surface) Xe2 ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΠΈ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ.
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ i915 ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π²Π΅Π½ΡΠΈΠ»Π°ΡΠΎΡΠ° ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° HWMON ΠΈΠ»ΠΈ sysfs (Π°ΡΡΠΈΠ±ΡΡΡΡ βfan1_inputβ). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ "i915.modeset" Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½; ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ "i915.nomodeset" ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΠΌΠ΅ΡΡΠΎ "i0.modeset=915".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ A615, A306 ΠΈ A621 ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° msm DRM (GPU Qualcomm Adreno).
- ΠΠΎΠ΄Π°ΡΡΡ Nouveau Π΅ Ρ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΡΠΈΡΡΠ΅Π½ΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ.
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ intel_pstate, ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ (P-state) Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel, ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ρ ΠΈΠ±ΡΠΈΠ΄Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ (Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ) ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Granite Rapids ΠΈ Sierra Forest ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Xeon Granite Rapids CPU ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° intel_idle. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ intel_rapl ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΌΠ΅ΠΉΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ AMD 1Ah ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel ArrowLake-U.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM SoC Snapdragon X Elite, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ 12-ΡΠ΄ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Oryon Π½Π° Qualcomm ΠΈ GPU Qualcomm Adreno. Π§ΠΈΠΏΡΡ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Π»Π°ΠΏΡΠΎΠΏΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ΅Π²Π°ΡΠ²Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Apple M3 ΠΈ Intel Core Ultra 155H Π² ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM ΠΏΠ»Π°ΡΠΊΠΈ, SoC ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010, Surface Laptop 7, Anbernic RG35XXSP , Firefly Core-PX30-JD4, Lunzn Fastrhino R68S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS433, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R2S Plus, ExynosAuto v920, SOPHGO SG2002, Qualcomm IPQ5332, LG G4 (h815) ΠΠΎΡΠΈΠ½ ΠΠΈ CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΊΡΠ°Π½Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1, BOE TV101WUM-LL2, BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, BOE NE140WUM-N6G, CMN N116BCA-EA2, CMN N116BCP-EA2 , CSW MNB601LS1-4, Starry er88577.
- ΠΡΠ΄ΠΈΠΎΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Π‘ΡΠ°ΡΠΈΡΠ΅ Π·Π²ΡΠΊΠΎΠ²ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Intel ASoC ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ AVS Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° SoundWire.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
