ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ
ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 13702 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 1810 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²,
ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° — 40 ΠΠ± (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 11577 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 610012 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°,
ΡΠ΄Π°Π»Π΅Π½ΠΎ 294828 ΡΡΡΠΎΠΊ). ΠΠΊΠΎΠ»ΠΎ 45% Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π² 5.6
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 15% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ, 12%
ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 4% — c ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ
ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ VPN-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°WireGuard , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (ChaCha20, Poly1305, Curve25519, BLAKE2s), ΠΏΡΠΎΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π»ΠΈΡΡΠ½ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ Π² ΡΡΠ΄Π΅ ΠΊΡΡΠΏΠ½ΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (Π² 3,9 ΡΠ°Π· ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ OpenVPN ΠΏΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ). Π WireGuard ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΡΡΠ°ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ±ΠΌΠ΅Π½ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ SSH. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ WireGuard ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΡΠ±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈZinc Π² ΡΠΎΡΡΠ°Π² ΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ Crypto API ΠΈΠ²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ°5.5 . -
ΠΠ°ΡΠ°Π»Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ MPTCP (MultiPath TCP), ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ ΡΠ°Π·Π½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π° Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠ»Π°ΠΌΠΈ MPTCP. Multipath TCP ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, MPTCP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»ΠΈΠ½ΠΊΠΎΠ² WiFi ΠΈ 4G ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π·Π° ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄Π΅ΡΡΠ²ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎΠ³ΠΎ. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ sch_ets (Enhanced Transmission Selection , IEEE 802.1Qaz), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΡΠ°ΡΠΈΠΊΠ°. ΠΡΠ»ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΡΠ°ΡΠΈΠΊΠ° Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΡΠΎ ETS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΡΡΠ°ΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ (Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ) ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. Qdisc sch_ets Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π° PRIO ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΡ ΡΡΠ°ΡΠΈΠΊΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠ³ΠΈΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ETS ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½PRIO ΠΈDRR — ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΆΡΡΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ°ΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ PRIO, Π½ΠΎ Π΅ΡΠ»ΠΈ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΠΈΠΊΠ° Π½Π΅Ρ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ DRR. - ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
BPF_PROG_TYPE_STRUCT_OPS , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ° ΡΠ΅ΡΠ΅Π· BPF. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ TCP Π² Π²ΠΈΠ΄Π΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°DCTCP . - Π ΡΠ΄ΡΠΎ ΠΏΡΠΈΠ½ΡΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ , ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉethtool Ρ ioctl() Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° netlink . ΠΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠ»ΡΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΡΠΎΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ². - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ FQ-PIE (Flow Queue PIE), Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° Π³ΡΠ°Π½ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ (bufferbloat). FQ-PIE Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΡΠΎΠΊΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΠΊΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅ΠΌΠ°ΠΌΠΈ.
-
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Btrfs
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ DISCARD (ΠΏΠΎΠΌΠ΅ΡΠΊΠ° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ). ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ DISCARD Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ, ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·-Π·Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΠΆΠ΄Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ DISCARD Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π² ΡΠΎΠ½Π΅. - Π XFS
ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠ΅ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠ΅ ΡΡΡΡΡΠΈΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΡΠΈΠΏ time_t Π·Π°ΠΌΠ΅Π½ΡΠ½ Π½Π° time64_t), ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ 2038 Π³ΠΎΠ΄Π°. Π£ΡΡΡΠ°Π½Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠΏΠ»ΡΠ²Π°Π²ΡΠΈΠ΅ Π½Π° 32-ΡΠ°Π·ΡΡΠ΄ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ. - Π ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ext4
Π²Π½Π΅ΡΠ΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ c ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ inode ΠΏΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (Direct I/O). ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ. - Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ F2FS
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΆΠ°ΡΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «chattr +c file» ΠΈΠ»ΠΈ «chattr +c dir; touch dir/file». ΠΠ»Ρ ΡΠΆΠ°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π² ΡΡΠΈΠ»ΠΈΡΠ΅ mount ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ «-o compress_extension=ext». - Π ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° ΠΏΡΠΈΠ½ΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
ZoneFS , ΡΠΏΡΠΎΡΠ°ΡΡΠ°Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΎΠ΄ Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΆΡΡΡΠΊΠΈΡ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ Π΄ΠΈΡΠΊΠ°Ρ ΠΈΠ»ΠΈ NVMe SSD, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π±ΠΈΡΠΎ Π½Π° Π·ΠΎΠ½Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Π±Π»ΠΎΠΊΠΎΠ². Π€Π‘ ZoneFS ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Western Digital ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ Π·ΠΎΠ½Ρ Π² Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² raw-ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΠΊΡΠΎΡΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΎΠ², Ρ.Π΅. ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ API Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π±Π»ΠΎΡΠ½ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ioctl. - Π NFS ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΠΎΠ²Π΅ΡΡ UDP. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ NFS 4.2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ «softreval», Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΡΡΠΌ Π² NFS-ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π»Π° Π² ΠΊΡΡΠ΅.
-
ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° fs-verity, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Π΅Ρ-Π΄Π΅ΡΠ΅Π²Π° ΠΠ΅ΡΠΊΠ»Π°. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π»ΡΡΡ FS_IOC_ENABLE_VERITY Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΡΡΠ΅ (ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ).
- ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Btrfs
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ SELinux Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ, Π° Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠ³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ SELinux Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°. ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ SELinux ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «selinux=0» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΄ΡΠ°.
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (time namespaces), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°ΡΠΎΠ² (CLOCK_REALTIME,
CLOCK_MONOTONIC, CLOCK_BOOTTIME), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΎΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ CLOCK_MONOTONIC ΠΈ CLOCK_BOOTTIME (ΡΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΡΡΡΡΠΎΠΌ ΠΈΠ»ΠΈ Π±Π΅Π· ΡΡΡΡΠ° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠΏΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅). - Π£Π΄Π°Π»ΡΠ½ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΡΠ» /dev/random. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ /dev/random ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΎ ΠΊ /dev/urandom Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ»Π°.
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Π²ΠΊΠ»ΡΡΡΠ½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π³ΠΎΡΡΠ΅Π²ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ VirtualBox, ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ (VirtualBox Shared Folder).
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΡΠ΅ΠΉ (
BPF dispatcher ), Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Retpoline Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ ΠΊΠ»Π°ΡΡΠ° Spectre V2 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ Π½ΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² XDP-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°). - ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² APU AMD ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ TEE (Trusted Execution Environment).
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- Π BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄ΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ BPF. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ BPF ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ map (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ «cpu_cooling» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΎΡ Π»Π°ΠΆΠ΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅ΡΡΠΉ CPU ΠΏΡΡΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π΅Π³ΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΡ (idle) Π½Π° ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²
openat2() , ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π°Π³ΠΎΠ² Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΡΠΈ (Π·Π°ΠΏΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ, magic-ΡΡΡΠ»ΠΎΠΊ (/proc/PID/fd), ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² «../»). - ΠΠ»Ρ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ big.LITTLE, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΠΈΡ
Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΏΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΄ΡΠ° CPU, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° uclamp_min (
ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠΉΡΡ Π² ΡΠ΄ΡΠ΅ 5.3 ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ). Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π½Π° ΡΠ΄ΡΠ΅ CPU, ΠΈΠΌΠ΅ΡΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. - Π―Π΄ΡΠΎ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΎ ΠΎΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ 2038 Π³ΠΎΠ΄Π° . ΠΠ°ΠΌΠ΅Π½Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄Π»Ρ ΡΡΡΡΡΠΈΠΊΠ° ΡΠΏΠΎΡ Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ (signed int) ΡΠΈΠΏ time_t, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΡΡΡΠΎΠΌ ΠΎΡΡΡΡΠ° ΠΎΡ 1970 Π³ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΡΡΡΡ Π² 2038 Π³ΠΎΠ΄Ρ. - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
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 Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. -
ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°Π½Π°Π»Π°Ρ (pipe). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠΏΡΠΌΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ Π² GNU make ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π²ΡΠΏΡΡΠΊΠ΅ 4.2.1, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈ 4.3. - Π prctl() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ PR_SET_IO_FLUSHER, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΡ ΡΡ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
- ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² Android ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ION ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
dma-buf heaps , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ DMA-Π±ΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
- ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ E0PD, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅Π³ΠΎΡΡ Π² ARMv8.5 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΎ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² CPU. ΠΠ°ΡΠΈΡΠ° Π½Π° Π±Π°Π·Π΅ E0PD ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠ΅Π½ΡΡΠΈΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌ, ΡΠ΅ΠΌ Π·Π°ΡΠΈΡΠ° KPTI (Kernel Page Table Isolation).
- ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARMv8.5 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ RNG, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». Π ΡΠ΄ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ RNG Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΄ΡΠΎΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π».
- Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ MPX (Memory Protection Extensions), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Π°Ρ Π² ΡΠ΄ΡΠ΅
3.19 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ ΠΈ Π±ΡΠ»Π° ΡΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· GCC. - ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° KASan (Kernel address sanitizer), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
USB 4.0 , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ Thunderbolt 3 ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΎ 40 ΠΠ±ΠΈΡ/Ρ, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ USB 2.0 ΠΈ USB 3.2. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΡThunderbolt ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ USB 4.0 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΠ²Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±Π΅Π»Ρ Ρ ΡΠ°Π·ΡΡΠΌΠΎΠΌType-C , Π²ΠΊΠ»ΡΡΠ°Ρ PCIe, Display Port ΠΈ USB 3.x, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠ°ΠΌΠΈ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠΆΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π² ΡΠ΄ΡΠΎ Linux Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Thunderbolt ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Ρ ΠΎΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ USB4. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΡΡΠΎΠΉΡΡΠ² Thunderbolt 3 Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (Connection Manager), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½Π½Π΅Π»Π΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·ΡΡΠΌ. - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdgpu
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ HDCP 2.x (High-bandwidth Digital Content Protection). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ASIC-ΡΠΈΠΏΠ° AMD Pollock, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Raven 2. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΡΠΎΡΠ° GPU Π΄Π»Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² Renoir ΠΈ Navi. - Π DRM-Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Intel
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DSI VDSC Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ice Lake ΠΈ Tiger Lake, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ LMEM mmap (device local memory), ΡΠ»ΡΡΡΠ΅Π½ ΠΏΠ°ΡΡΠΈΠ½Π³ VBT (Video BIOS Table), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HDCP 2.2 Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² Coffee Lake. - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdkfd (Π΄Π»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ GPU, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Fiji, Tonga, Polaris) Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ amdgpu.
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ k10temp, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΠ»Ρ ΡΠΎΠΊΠ° Π΄Π»Ρ CPU AMD Zen, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ c Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² CPU Zen ΠΈ Zen 2.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ nouveau
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄Π»Ρ GPU NVIDIA Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Turing (GeForce RTX 2000), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ 3D-ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠ°ΡΡ (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ NVIDIA). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° TU10x. Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ HD Audio. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π· DisplayPort MST (Multi-Stream Transport).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ «
ath11k » Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠΈΠΏΠΎΠ² Qualcomm Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ 802.11ax.
ΠΡΠ°ΠΉΠ²Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΡΠ΅ΠΊΠ΅ mac80211 ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ ΠΈ ΡΠ·Π»Π° Mesh-ΡΠ΅ΡΠΈ. - Π§Π΅ΡΠ΅Π· 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 GPM940B0,
BOE NV140FHM-N49,
Satoz SAT050AT40H12R2,
Sharp LS020B1DD01D. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM-ΠΏΠ»Π°Ρ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Gen1 Amazon Echo (OMAP3630-based), 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 eBook reader,
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, Unisoc SC9863A, Qualcomm SC7180. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PCIe-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Raspberry Pi 4.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π€ΠΎΠ½Π΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ
Π²Π°ΡΠΈΠ°Π½Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru