ΠΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° 13702 ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 1810 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ,
Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π·Π°ΠΊΡΠΏΠ° - 40 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»ΠΈΡΠ°Π΅ΡΠ° Π½Π° 11577 Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ 610012 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄,
ΠΡΡΡΡΠ°Π½Π΅ΡΠΈ ΡΠ΅ 294828 ΡΠ΅Π΄ΠΎΠ²ΠΈ). ΠΠΊΠΎΠ»Ρ 45% ΠΎΠ΄ ΡΠΈΡΠ΅ ΠΏΡΠ΅Π·Π΅Π½ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ 5.6
ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄ΠΎΡ, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 15% ΠΎΠ΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΠ°Π°Ρ
ΡΡΠ°Π² ΠΊΠΎΠ½ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 12%
ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅ΠΊ, 4% ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% ΡΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅
ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ.
- ΠΡΠ΅ΠΆΠ΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° VPN ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡWireGuard , ΠΊΠΎΡ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ (ChaCha20, Poly1305, Curve25519, BLAKE2s), Π΅ Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°, Π±Π΅Π· ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅ Π΄ΠΎΠΊΠ°ΠΆΠ° Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ (3,9 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ·ΠΈ ΠΎΠ΄ OpenVPN Π²ΠΎ ΡΠΌΠΈΡΠ»Π° Π½Π° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΌΠΎΡ). WireGuard Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° ΡΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΡ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅, ΠΊΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ΅Π½ ΠΊΠ»ΡΡ Π½Π° ΡΠ΅ΠΊΠΎΡ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π·Π° Π²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π²Π½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ. ΠΠ°Π²Π½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π·Π° Π΄Π° ΡΠ΅ Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΠΈ Π²ΡΡΠΊΠ° Π½Π° ΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΊΠΎ SSH. ΠΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ WireGuardΠ±Π΅Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°ΡΠΈΠ½ΠΊ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ Crypto API ΠΈΠ²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ5.5 . -
ΠΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° MPTCP (MultiPath TCP), ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ TCP Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ° ΡΠΎ ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°Π²ΡΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. ΠΠ° ΠΌΡΠ΅ΠΆΠ½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠ²Π°ΡΠ° Π·Π±ΠΈΡΠ½Π° Π²ΡΡΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ ΠΎΠ±ΠΈΡΠ½Π° TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ°, Π° ΡΠ΅Π»Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΡΠ°Π·Π΄Π²ΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΡ ΡΠ° ΠΈΠ·Π²Π΅Π΄ΡΠ²Π° MPTCP. Multipath TCP ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ Π·Π° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΌΠΎΡ ΠΈ Π·Π° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, MPTCP ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ WiFi ΠΈ 4G Π²ΡΡΠΊΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ, ΠΈΠ»ΠΈ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠΎΡΠΎΡΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΅Π²ΡΠΈΠ½ΠΈ Π²ΡΡΠΊΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΅Π΄Π½Π° ΡΠΊΠ°ΠΏΠ°. -
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ½Π°ΡΠ° ΡΠ΅Π΄ΠΈΡΠ° sch_ets (ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΏΡΠ΅Π½ΠΎΡ , IEEE 802.1Qaz), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠΏΡΡΠ½ΠΈΠΎΡ ΠΎΠΏΡΠ΅Π³ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΈ Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ. ΠΠΊΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠ½Π° ΠΊΠ»Π°ΡΠ° Π΅ ΠΏΠΎΠ΄ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΠΎΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½ ΠΎΠΏΡΠ΅Π³, ΡΠΎΠ³Π°Ρ ETS ΠΈΠΌ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΈ Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠ°Ρ Π΄ΠΎΡΡΠ°ΠΏΠ½Π°ΡΠ° (Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½Π°) ΠΏΡΠΎΠΏΡΡΠ½ΠΎΡΡ. Qdisc sch_ets Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΠΊΠ°ΠΊΠΎ PRIO Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π° ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΈ Π·Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΡΡΡΠΎΠ³ΠΈ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΏΡΡΠ½ΠΈΠΎΡ ΠΎΠΏΡΠ΅Π³. ΠΠ’Π‘ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ° Π½Π° Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½ΠΈΠΠ ΠΠ ΠΈDRR β Π°ΠΊΠΎ ΠΈΠΌΠ° ΡΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΠΈ Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ PRIO, Π½ΠΎ Π°ΠΊΠΎ Π½Π΅ΠΌΠ° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π²ΠΎ ΡΠ΅Π΄ΠΎΡ, ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ DRR. - ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² ΡΠΈΠΏ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ
BPF_PROG_TYPE_STRUCT_OPS , ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ ΠΏΡΠ΅ΠΊΡ BPF. ΠΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π·Π°ΡΡΠΎΡΠΎΡ Π½Π° TCP Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌDCTCP . - ΠΡΠΈΡΠ°ΡΠ΅Π½ΠΎ Π²ΠΎ ΡΡΠΆΡΠ°
ΠΏΡΠΎΠΌΠ΅Π½ΠΈ , Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠ΅Π΅ΡΠΈΠ» ΡΠΎ ioctl() Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈnetlink ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ . ΠΠΎΠ²ΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΡΠ²Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ, Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ° ΠΊΠΎΠ³Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ°, ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΠΈ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π±ΡΠΎΡΠΎΡ Π½Π° ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ ΡΠΏΠΈΡΠΎΡΠΈ ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π°Ρ. - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΡΠ΅ΠΆΠ½Π°ΡΠ° ΡΠ΅Π΄ΠΈΡΠ° FQ-PIE (Flow Queue PIE), ΡΠΈΡΠ° ΡΠ΅Π» Π΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΡΠΎ Π²Π»ΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π΄Π½ΠΎΡΠΎ Π±Π°ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΠΎΠΏΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° (bufferbloat). FQ-PIE ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π²ΠΈΡΠΎΠΊΠ° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΊΠ°Π±Π΅Π»ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅ΠΌΠΈ.
-
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΠΊ, Π/Π ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Btrfs
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° DISCARD (ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ΅Π±Π° ΡΠΈΠ·ΠΈΡΠΊΠΈ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ). ΠΡΠ²ΠΈΡΠ½ΠΎ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ DISCARD ΡΠ΅ ΠΈΠ·Π²Π΅Π΄ΡΠ²Π°Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ΠΊΠ°Π°Ρ Π΄Π° ΡΠ΅ Π·Π°Π²ΡΡΠ°Ρ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π΅ ΡΠ΅ΠΊΠ°ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ½ΠΎΡ Π΄Π° Π·Π°Π²ΡΡΠΈ DISCARD ΠΈ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΎΠ²Π°Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°. - ΠΠΎ XFS
ΡΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π§ΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π» ΡΡΠ°ΡΠΈ 32-Π±ΠΈΡΠ½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ Π±ΡΠΎΡΠ°ΡΠΈ (ΡΠΈΠΏΠΎΡ time_t Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Ρ ΡΠΎ time64_t), ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π²ΠΎ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΎΡΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈΡΠ° Π½Π° 32-Π±ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠΎΠ΄ΠΎΡ Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ. - ΠΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ext4
Π²ΠΎΠ²Π΅Π΄Π΅Π½ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π° ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΠΎΠ΄Π°ΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ Direct I/O. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ Π΄ΠΈΡΠ°Π³Π½ΠΎΠ·Π°ΡΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΏΡΠ²ΠΈΠΎΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ. - ΠΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ F2FS
ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ°. ΠΠ° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βchattr +c fileβ ΠΈΠ»ΠΈ βchattr +c dir; Π΄ΠΎΠΏΡΠ΅ΡΠ΅ dir/Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°β. ΠΠ° Π΄Π° ΡΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»Π°ΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° β-o compress_extension=extβ Π²ΠΎ Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅. - ΠΠ°Π΄ΡΠΎΡΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ
ZoneFS , ΡΡΠΎ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΡΠΎ Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄ Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π°Ρ ΡΡΠ΅Π΄ΠΈ Π½Π° ΡΠ²ΡΠ΄ΠΈ ΠΌΠ°Π³Π½Π΅ΡΠ½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΈΠ»ΠΈ NVMe SSD, ΠΏΡΠΎΡΡΠΎΡΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΊΠΎΡ Π΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° Π·ΠΎΠ½ΠΈ ΠΊΠΎΠΈ ΡΠΎΡΠΈΠ½ΡΠ²Π°Π°Ρ Π³ΡΡΠΏΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ, Π²ΠΎ ΠΊΠΎΠΈ Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π°ΠΆΡΡΠΈΡΠ°ΡΡΠΈ ΡΠ° ΡΠ΅Π»Π°ΡΠ° Π³ΡΡΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ. FS ZoneFS Π±Π΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Western Digital ΠΈ ΡΠ° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π° ΡΠ΅ΠΊΠΎΡΠ° Π·ΠΎΠ½Π° Π²ΠΎ ΡΡΠ΅Π΄ΠΎΡ ΡΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ΅ΠΊΡΠΎΡ ΠΈ Π±Π»ΠΎΠΊ, Ρ.Π΅. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ API-ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°Π°Ρ Π΄ΠΎ Π±Π»ΠΎΠΊ-ΡΡΠ΅Π΄ΠΎΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ioctl. - ΠΠΎ NFS, ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΡΡΠΈΡΠΈΠΈ ΠΏΡΠ΅ΠΊΡ UDP Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° NFS 4.2. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ βsoftrevalβ, ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π° ΡΠ° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ ΠΎΠ²Π°Π° ΠΎΠΏΡΠΈΡΠ°, ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½, ΠΎΡΡΠ°Π½ΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈΡΠ΅ ΠΏΠΎ ΠΏΠ°ΡΠ΅ΠΊΠΈΡΠ΅ Π²ΠΎ ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°ΡΠ° NFS ΠΈ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈΡΠ΅ Π΄ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠ΅ΡΠΎΡ.
-
ΠΠ·Π²ΡΡΠ΅Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ fs-verity, ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ. ΠΠ³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½Π° Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΡΠΈΡΠ°ΡΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Ρ Π°Ρ Π΄ΡΠ²ΠΎΡΠΎ Merkle. ΠΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° FS_IOC_ENABLE_VERITY ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ³Π° Π½Π΅ΠΌΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠ΅ΡΠΎΡ (ΠΏΡΠΈΠΌΠ΅Π½Π΅ΡΠΎ Π΅ ΠΏΡΠ΅Π²Π΅Π½ΡΠΈΠ²Π½ΠΎ ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ).
- ΠΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Btrfs
- ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ SELinux Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½Π°, Π° ΠΈΡΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π²Π΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ SELinux ΡΠ΅ Π±ΠΈΠ΄Π΅ Π·Π°Π±ΡΠ°Π½Π΅ΡΠΎ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°. ΠΠ° Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ SELinux ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ βselinux=0β Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ.
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ (Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡΠΈ), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΠΊ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ (CLOCK_REALTIME,
CLOCK_MONOTONIC, CLOCK_BOOTTIME), ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π³ΠΎ Π²Π°ΡΠ΅ΡΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΈ, ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π²ΠΎ Π΄ΡΡΠ³ Π΄ΠΎΠΌΠ°ΡΠΈΠ½, ΠΏΠΎΠ³ΡΠΈΠΆΠ΅ΡΠ΅ ΡΠ΅ ΡΠΈΡΠ°ΡΠ°ΡΠ° Π½Π° CLOCK_MONOTONIC ΠΈ CLOCK_BOOTTIME Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠΈ (Π·Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΠΎ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΠΎ ΠΈΠ»ΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΡΠ΅ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΌΠΈΡΡΠ²Π°ΡΠ΅ ). - ΠΠ°Π·Π΅Π½ΠΎΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ /dev/ΡΠ»ΡΡΠ°Π΅Π½ Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ. ΠΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° /dev/random Π΅ ΡΠ»ΠΈΡΠ½ΠΎ Π½Π° /dev/urandom Π²ΠΎ ΡΠΌΠΈΡΠ»Π° Π½Π° ΡΠΏΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°ΡΠ° ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π΅Π½ΠΎΡ.
- ΠΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ΠΊΠΎΡ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° Π³ΠΎΡΡΠΈΠ½ΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠΎΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ VirtualBox Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ ΠΈΠ·Π²Π΅Π·Π΅Π½ΠΈ ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ (VirtualBox Shared Folder).
- ΠΠ±ΠΈΡ Π½Π° Π·Π°ΠΊΡΠΏΠΈ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π²ΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ BPF (
BPF Π΄ΠΈΡΠΏΠ΅ΡΠ΅Ρ ), ΠΊΠΎΠ³Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Retpoline Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ ΠΎΠ΄ ΠΊΠ»Π°ΡΠ°ΡΠ° Specter V2, ΡΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ BPF ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ Π½Π°ΡΡΠ°Π½ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π½ΠΈΠ² (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ Π½Π° XDP ΠΊΠΎΠ³Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΈΡΡΠΈΠ³Π½ΡΠ²Π°). - ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° TEE (Trusted Execution Environment) Π²Π³ΡΠ°Π΄Π΅Π½ Π²ΠΎ AMD APU.
- ΠΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ
- BPF Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π°Π·Π²ΠΎΡΠΎΡ ΡΠ΅ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΈΠ²Π°ΡΠ° Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° BPF. Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅ Π²ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π°. ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΡ BPF, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π²Π°ΡΠΈΡΠ°Π½ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠ°ΡΡΠ°ΡΠ° (ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ), ΠΊΠΎΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠ΅ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ.
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π£ΡΠ΅Π΄ΠΎΡ βcpu_coolingβ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π»Π°Π΄ΠΈΡΠ΅ ΠΏΡΠ΅Π³ΡΠ΅Π°Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠΎ ΡΠΎΠ° ΡΡΠΎ ΡΠ΅ Π³ΠΎ ΡΡΠ°Π²ΠΈΡΠ΅ Π²ΠΎ ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΠΌΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΡΠ°ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ. - ΠΠΎΠ΄Π°Π΄Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ
openat2() , ΠΊΠΎΡ Π½ΡΠ΄ΠΈ Π·Π±ΠΈΡ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡΠ° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° (Π·Π°Π±ΡΠ°Π½Π° Π·Π° Π²ΠΊΡΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΡΠΊΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅, ΡΠΈΠΌΠ±ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠΊΠΈ, ΠΌΠ°Π³ΠΈΡΠ½ΠΈ Π²ΡΡΠΊΠΈ (/proc/PID/fd), ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ β../β). - ΠΠ° Ρ
Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° big.LITTLE, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΡΠΈ ΠΌΠΎΡΠ½ΠΈ ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈ Π΅Π½Π΅ΡΠ³Π΅ΡΡΠΊΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈ ΡΠ°Π΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π²ΠΎ Π΅Π΄Π΅Π½ ΡΠΈΠΏ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ uclamp_min ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π·Π°Π΄Π°ΡΠΈ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (
ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ 5.3 ΠΏΠΎΡΡΠΎΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΏΡΠΈΡΠ²ΡΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠ²Π°ΡΠΎΡ). ΠΠ²ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄Π΅ΠΊΠ° Π·Π°Π΄Π°ΡΠ°ΡΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° ΠΎΠ΄ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΡΡΠΎ ΠΈΠΌΠ° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. - ΠΠ°Π΄ΡΠΎΡΠΎ Π΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΎ ΠΎΠ΄
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΠ΄ 2038 Π³ΠΎΠ΄ΠΈΠ½Π° . ΠΠ°ΠΌΠ΅Π½Π΅ΡΠΈ ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈ ΡΠ°ΠΊΡΠ²Π°ΡΠΈ, ΠΊΠΎΠΈ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π° 32-Π±ΠΈΡΠ½ΠΈΠΎΡ (ΠΏΠΎΡΠΏΠΈΡΠ°Π½ int) ΡΠΈΠΏ time_t Π·Π° Π΅ΠΏΠΎΡ Π°Π»Π½ΠΈΠΎΡ Π±ΡΠΎΡΠ°Ρ Π½Π° Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΡ, Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ ΠΎΠ΄ 1970 Π³ΠΎΠ΄ΠΈΠ½Π°, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π΅ Π²ΠΎ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°. - ΠΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠΎΡ I/O ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ
io_uring Π²ΠΎ ΠΊΠΎΠΈΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: IORING_OP_FALLOCATE (ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΡΠ° Π½Π° ΠΏΡΠ°Π·Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ), IORING_OP_OPENAT,
IORING_OP_OPENAT2,
IORING_OP_CLOSE (ΠΎΡΠ²ΠΎΡΠ°ΡΠ΅ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ),
IORING_OP_FILES_UPDATE (Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΎΠ΄ ΡΠΏΠΈΡΠΎΠΊΠΎΡ Π·Π° Π±ΡΠ· ΠΏΡΠΈΡΡΠ°ΠΏ),
IORING_OP_STATX (Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°),
IORING_OP_READ,
IORING_OP_WRITE (ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π½Π° IORING_OP_READV ΠΈ IORING_OP_WRITEV),
IORING_OP_FADVISE,
IORING_OP_MADVISE (Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ Π²Π°ΡΠΈΡΠ°Π½ΡΠΈ Π½Π° ΠΏΠΎΠ²ΠΈΡΠΈ posix_fadvise ΠΈ madvise), IORING_OP_SEND,
IORING_OP_RECV (ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ),
IORING_OP_EPOLL_CTL (Π²ΡΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ epoll). - ΠΠΎΠ΄Π°Π΄Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ
pidfd_getfd() , Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠΈ ΠΌΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΎΠ΄ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ. -
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ βbootconfigβ, ΠΊΠΎΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°, ΠΏΠΎΠΊΡΠ°Ρ ΠΎΠΏΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°, Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΏΡΠ΅ΠΊΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ. ΠΠ° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΠ°ΠΊΠ²ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ° Π½Π° initramfs, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π°Π»Π°ΡΠΊΠ°ΡΠ° bootconfig. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° kprobes ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠ΅. -
ΠΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠ΅ΠΊΠ°ΡΠ΅ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈ ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π½Π΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ ΡΠ΅Π²ΠΊΠΈ. ΠΡΠΎΠΌΠ΅Π½Π°ΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ·Π°Π°Ρ Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΡΠΊΠ° Π²ΠΎ GNU make ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠ° Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 4.2.1, ΠΊΠΎΠ΅ Π±Π΅ΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΎ Π²ΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 4.3. - ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ PR_SET_IO_FLUSHER Π½Π° prctl(), ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π±Π΅Π· ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΊΠΎΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈΠΌΠ° ΠΌΠ°Π»Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°.
- ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ION ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Android, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π΅ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ
dma-buf ΠΊΡΠΏΠΈΡΡΠ° , ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π°ΡΠ° Π½Π° DMA Π±Π°ΡΠ΅ΡΠΈ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ, Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ.
- Π₯Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°ΡΠ° E0PD, ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ ARMv8.5 ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠ°ΡΡΠΈΡΠ°ΡΠ° Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° E0PD ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΌΠ°Π»ΠΈ ΡΡΠΎΡΠΎΡΠΈ ΠΎΠ΄ KPTI (ΠΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π½Π° ΡΠ°Π±Π΅Π»Π° ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ).
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARMv8.5, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° RNG, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ. ΠΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° RNG ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π΅Π½ΡΡΠΎΠΏΠΈΡΠ° ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ ΠΎΠ΄ ΡΠ°Π΄ΡΠΎΡΠΎ.
- ΠΡΡΡΡΠ°Π½Π΅ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° MPX (ΠΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°) Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ
3.19 ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ°ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π°Ρ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ²Π°Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π½Π΅ Π±Π΅ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½Π° Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΈ ΠΈ Π±Π΅ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π΅ΡΠ° ΠΎΠ΄ GCC. - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ KASan (Kernel address sanitizer), ΠΊΠΎΡΠ° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°Π°Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π°
USB 4.0 , ΠΊΠΎΡ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Thunderbolt 3 ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΡΠΎΠΏΡΡΠ½ΠΎΡΡ Π΄ΠΎ 40 Gbps, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ° ΠΎΠ΄ΡΠΆΡΠ²Π° Π½Π°Π½Π°Π·Π°Π΄ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΡΠΎ USB 2.0 ΠΈ USB 3.2. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ° ΡΠΎΠΠ°ΠΊΠ°Π½Π° USB 4.0 ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΡΠ½Π΅Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΏΡΠ΅ΠΊΡ Π΅Π΄Π΅Π½ ΠΊΠ°Π±Π΅Π» ΡΠΎ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡΠ’ΠΈΠΏ-Π¦ , Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ PCIe, Display Port ΠΈ USB 3.x, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ Π²ΡΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ Π½Π°Π΄ΠΎΠ²ΡΠ·ΡΠ²Π° Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ Thunderbolt Π²Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° Linux ΠΈ Π³ΠΎ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΡΠΎ USB4. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Thunderbolt 3 ΡΡΠ΅Π΄ΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Connection Manager, ΠΊΠΎΡ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΡΠ½Π΅Π»ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠ΅ΠΊΡ Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡ. - ΠΠΎ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° amdgpu
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° HDCP 2.x (High-bandwidth Digital Content Protection) ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° AMD Pollock ASIC ΡΠΈΠΏΠΎΡ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Raven 2. Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π·Π° ΡΠ΅ΠΌΠ΅ΡΡΡΠ²Π°ΡΠ° Renoir ΠΈ Navi. - DRM Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Intel
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° DSI VDSC Π·Π° ΡΠΈΠΏΠΎΠ²ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΠ΅Π΄Π΅Π½ΠΎ ΠΠ·Π΅ΡΠΎ ΠΈ Π’ΠΈΠ³Π°Ρ ΠΠ΅ΡΠΊ, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ LMEM mmap (Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ), ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° VBT (Π’Π°Π±Π΅Π»Π° Π·Π° Π²ΠΈΠ΄Π΅ΠΎ BIOS-ΠΎΡ), ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° HDCP 2.2 Π·Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π½Π° ΠΠ°ΡΠ΅ ΠΠ·Π΅ΡΠΎ. - Π Π°Π±ΠΎΡΠ°ΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» amdkfd (Π·Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π€ΠΈΡΠΈ, Π’ΠΎΠ½Π³Π°, ΠΠΎΠ»Π°ΡΠΈΡ) ΡΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ amdgpu.
- ΠΡΠ°ΡΠ²Π΅ΡΠΎΡ k10temp Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΠΏΠΎΠ½ΡΠΊΠΈ ΠΈ ΡΡΡΡΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° AMD Zen ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ΅Π½Π·ΠΎΡΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Zen ΠΈ Zen 2.
- ΠΠΎ Π²ΠΎΠ·Π°ΡΠΎΡ Π½ΠΎΠ²
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠΎΡΠ²ΡΠ΄Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΠΌΠ²Π΅ΡΠΎΡ Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° NVIDIA Π·Π°ΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π’ΡΡΠΈΠ½Π³ (GeForce RTX 2000), ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° 3D Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π·Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ (ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ Π½Π° ΠΎΡΠΈΡΠΈΡΠ°Π»Π΅Π½ ΡΠΈΡΠΌΠ²Π΅Ρ ΡΠΎ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π΅Π½ ΠΏΠΎΡΠΏΠΈΡ Π½Π° NVIDIA). ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΌΠΎΡΠΎΡ TU10x. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠΎ HD Π°ΡΠ΄ΠΈΠΎ ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈ. - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΠΏΡΠ΅ΠΊΡ DisplayPort MST (Multi-Stream Transport).
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π½ΠΎΠ² Π΄ΡΠ°ΡΠ²Π΅Ρ "
ath11k Β» Π·Π° Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Qualcomm ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ 802.11ax.
ΠΡΠ°ΡΠ²Π΅ΡΠΎΡ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΌΠ°Π³Π°ΡΠΈΠ½ΠΎΡ mac80211 ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏΠ½Π° ΡΠΎΡΠΊΠ°, ΡΠ°Π±ΠΎΡΠ½Π° ΡΡΠ°Π½ΠΈΡΠ° ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΠ°Π·Π»ΠΈ. - ΠΡΠ΅ΠΊΡ sysfs, ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ Π΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠΈΡΠ»ΠΈΠ²ΠΈ ΠΎΡΡΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅Π½Π·ΠΎΡΠΎΡ Π·Π° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΈ SSD-Π΄ΠΈΡΠΊΠΎΠ²ΠΈ.
-
ΠΠΎΠ΄Π½Π΅ΡΠ΅Π½ΠΈ Π·Π½Π°ΡΠ°ΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π·Π²ΡΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ALSA, Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΠΎΠ½ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΠ΄ 2038 Π³ΠΎΠ΄ΠΈΠ½Π° (ΠΈΠ·Π±Π΅Π³Π½ΡΠ²Π°ΡΡΠΈ ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° 32-Π±ΠΈΡΠ½ΠΈΠΎΡ ΡΠΈΠΏ time_t Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈΡΠ΅ snd_pcm_mmap_status ΠΈ snd_pcm_mmap_control). ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΡΠΈ
Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770. -
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° LCD ΠΏΠ°Π½Π΅Π»ΠΈ Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM
BOE NV140FHM-N49,
Satoz SAT050AT40H12R2,
ΠΡΡΡΠΎ LS020B1DD01D. -
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ARM ΡΠ°Π±Π»ΠΈ ΠΈ Gen1 ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Amazon Echo (Π±Π°Π·ΠΈΡΠ°Π½ OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
Π§ΠΈΡΠ°Ρ Π½Π° Π΅-ΠΊΠ½ΠΈΠ³ΠΈ Tolino Shine 3,
Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX ΠΈ HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, QuSCal.9863mSCA, Unis. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° PCIe ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΎΡ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Raspberry Pi 7180.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π°
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΠ°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°ΡΠ° Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ° Π·Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ
ΠΎΠΏΡΠΈΡΠ°
ΠΠ·Π²ΠΎΡ: opennet.ru