Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ
ΡΠ΅ΠΆΠΈΠΌ βΠ·Π°ΡΡΠ³Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎβ, ΠΊΠΎΠΉΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π·Π° Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ pidfd_open, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° IPv4 Π°Π΄ΡΠ΅ΡΠΈ ΠΎΡ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°ΡΠ° 0.0.0.0/8, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° nftables, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HDR Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° ACRN Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ.
Π
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ°, Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠΈΡΠ»Π° getrandom() Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΏΠ²Π° ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΈ Π² Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π·Π°ΠΌΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ Π΅Π½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΈΡΡ ΠΏΡΠ» Π½Π΅ Π±Π΅ΡΠ΅ Π·Π°ΠΏΡΠ»Π½Π΅Π½Π°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π΅ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΠ»Π΅Π·Π½Π°, ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π° Π΄ΠΈΡΠΊΡΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΠ΅Π· Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ getrandom() ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ ΡΠ»Π°Π³ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠ°Π²Π° ΠΏΡΠΎΠΌΡΠ½Π° Π±ΠΈ Π·Π°ΡΠ΅Π³Π½Π°Π»Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΡΠ»Π° Π² Π½Π°ΡΠ°Π»Π½ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° 15794 1974 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ XNUMX XNUMX ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ,
ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° - 92 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°Ρ
Π° 13986 ΡΠ°ΠΉΠ»Π°, Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ 258419 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄,
599137 ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ ΡΠ΅Π΄Π°). ΠΠΊΠΎΠ»ΠΎ 39% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 5.3
ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 12% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 11%
ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 3% Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅
ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° βpidfdβ Π·Π° ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π°Π½Π΅ ΡΠΏΡΠ°Π²ΡΠ½Π΅ΡΠΎ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PID (pidfd Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ PID ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠΎΠ·ΠΈ PID, ΠΏΡΠΈΠΊΠ»ΡΡΠΈ). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ
ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ pidfd_send_signal() ΠΈ ΡΠ»Π°Π³Π° CLONE_PIDFD Π² ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ clone() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° pidfd Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² idfd_send_signal(). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° clone() Ρ ΡΠ»Π°Π³Π° CLONE_PIDFD ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° fork() ΠΈΠ»ΠΈ clone() Π±Π΅Π· CLONE_PIDFD.Π―Π΄ΡΠΎΡΠΎ 5.3 Π²ΡΠ²Π΅Π΄Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ
pidfd_open() , ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ pidfd Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° clone() Ρ ΡΠ»Π°Π³Π° CLONE_PIDFD. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°Π½ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° pidfd Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° poll() ΠΈ epoll(), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΡΡΠ°Ρ ΡΠ²Π°Ρ ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅, Π°ΠΊΠΎ PID Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π½Π° Π½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅, ΡΠ΅ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ²ΡΡΠ·Π°Π½ Ρ pidfd, Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½, Π΅ ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½; - ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΈΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ (
ΠΠ°Ρ Π²Π°ΡΠ°Π½Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ), ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΠΆΠ°ΡΠ΅ ΠΊΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΡΠ½ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π·Π°Π΄Π°ΡΠΈΡΠ΅, Π°ΠΊΡΠΈΠ²Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΡΡΠΊΠΎΡΡΠ²Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΡΡ Π²ΡΡΡ Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΈΠ·ΠΆΠΈΠ²ΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ΅Π·ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠ½Π΅ Π² Π΄ΠΎΠ»Π½ΠΈΡ ΠΊΡΠ°ΠΉ Π½Π° βΠ·Π°ΡΠ²Π΅Π½Π°ΡΠ°β ΡΠ΅ΡΡΠΎΡΠ°. ΠΠ°Π΄Π°ΡΠΈΡΠ΅ Ρ Π½ΠΈΡΡΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π³ΠΎΡΠ½Π°ΡΠ° Π³ΡΠ°Π½ΠΈΡΠ° Π½Π° βΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π°ΡΠ°β ΡΠ΅ΡΡΠΎΡΠ°. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΡΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ sched_uclamp_util_min ΠΈ sched_uclamp_util_max Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ sched_setattr(). - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡΡΠ°
Intel Speed ββββSelect , Π½Π°Π»ΠΈΡΠ΅Π½ Π½Π° ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel Xeon. Π’Π°Π·ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π·Π° Π·Π°Π΄Π°ΡΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΄ΡΠ°, ΠΊΠ°ΡΠΎ ΠΆΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ΄ΡΠ°; - ΠΡΠΎΡΠ΅ΡΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠ΅ Π·Π° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΈΠΊΠ»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° umwait. Π’Π°Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π° umonitor ΠΈ tpause, ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ βTremontβ Π½Π° Intel ΠΈ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΈΡΠΊΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Hyper Threading; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Ρ ΠΏΠ°ΠΌΠ΅Ρ;
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° kprobes Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄Π΅ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΊΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈ, ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ PREEMPT_RT ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘Π°ΠΌΠΈΡΡ ΠΊΠΎΠ΄ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ, Π½ΠΎ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° Π΅ Π΄ΠΎΠ±ΡΡ Π·Π½Π°ΠΊ, ΡΠ΅ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½Π°ΡΠ° Π΅ΠΏΠΎΠΏΠ΅Ρ
ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Realtime-Preempt ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΊΡΠΌ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅; - ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ clone3() Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° clone(), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ»Π°Π³ΠΎΠ²Π΅;
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ bpf_send_signal(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ;
- ΠΠ° perf ΡΡΠ±ΠΈΡΠΈΡ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° KVM Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π³ΠΎΡΡΠΈ;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ ΡΠΈΠΊΠ»ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ eBPF, Π°ΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠΊΡΠ»Π° Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ;
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° βpidfdβ Π·Π° ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π°Π½Π΅ ΡΠΏΡΠ°Π²ΡΠ½Π΅ΡΠΎ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PID (pidfd Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ PID ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠΎΠ·ΠΈ PID, ΠΏΡΠΈΠΊΠ»ΡΡΠΈ). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ
- ΠΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, I/O ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- Π€Π°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° XFS Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ² Π±Π°ΠΉΠΏΠ°Ρ Π½Π° inode (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ²ΠΎΡΠΈ). ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ioctl BULKSTAT ΠΈ INUMBERS, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° Π² ΠΏΠ΅ΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° FS ΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° inode ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ BULKSTAT ΠΈ INUMBERS Π·Π° Π²ΡΡΠΊΠ° AG Π³ΡΡΠΏΠ° (Π³ΡΡΠΏΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅);
- Π Ext4
Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΏΡΠ°Π·Π½ΠΈΠ½ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (Π½Π΅ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅).
ΠΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ»Π°Π³ βiβ (Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½) Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΡ, Π°ΠΊΠΎ ΡΠ»Π°Π³ΡΡ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΉΠ»ΡΡ Π²Π΅ΡΠ΅ Π΅ Π±ΠΈΠ» ΠΎΡΠ²ΠΎΡΠ΅Π½); - Btrfs ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡ Π·Π° Π±ΡΡΠ·ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° crc32c Π½Π° Π²ΡΠΈΡΠΊΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ;
- Π CIFS ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° smbdirect Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. SMB3 Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ GCM. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ACE (Access Control Entry). ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° open() ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ ΠΊΡΠΌ F2FS Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ checkpoint=disable. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ioctl Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ ΠΎΡ F2FS, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΄ΡΠ»Π° Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°ΠΏ ΡΠ°ΠΉΠ» Π²ΡΠ² F2FS, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ I/O. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ» ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ sendmsg() ΠΈ recvmsg() ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ io_uring;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° zstd ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ FS ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° UBIFS;
- Ceph FS Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° SELinux Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅;
- ΠΠ° NFSv4 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ βnconnect=β, ΠΊΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π±ΡΠΎΡ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ ΡΡΡ ΡΡΡΠ²ΡΡΠ°. Π’ΡΠ°ΡΠΈΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π·ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΠ΅Π· Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, NFSv4 ΡΡΡΠ²ΡΡΡΡ Π²Π΅ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ /proc/fs/nfsd/clients Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ° ΠΎΡΠ²ΠΎΡΠΈΠ»ΠΈ;
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- Π―Π΄ΡΠΎΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π·Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ACRN , ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°ΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΌΠΈΡΠΈΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ. ACRN ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½ΠΈΡΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° ΡΠ΅Π°ΠΊΡΠΈΡ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° CPU ΡΠ΅ΡΡΡΡΠΈ, I/O, ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ACRN ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π² Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΡΠ°Π±Π»Π°, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ IoT ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ; - Π ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ Linux
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΡΡΠ²Π°Π½Π΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π±Π°Π²ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΡΠΊΠΎΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½Π° UML ΡΡΠ΅Π΄Π°, Π·Π° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π°, ΡΠ²ΡΡΠ·Π°Π½ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
time-travel-start, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΠΊ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΅ΠΏΠΎΡ Π°; - ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ βinit_on_allocβ ΠΈ βinit_on_freeβ, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ, Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅ Ρ Π½ΡΠ»ΠΈ Π·Π° malloc ΠΈ free), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅Ρ
virtio-iommu Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ IOMMU Π·Π°ΡΠ²ΠΊΠΈ ΠΊΠ°ΡΠΎ ATTACH, DETACH, MAP ΠΈ UNMAP ΠΏΡΠ΅Π· virtio ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°, Π±Π΅Π· Π΄Π° Π΅ΠΌΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°; - ΠΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅Ρ
virtio-pmem , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π½Π°Π½Π΅ΡΠ΅Π½ΠΈ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠ°ΡΠΎ NVDIMM; - Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΊΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠ»ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° (ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΡΠ°Π²Π°Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΈΠ·Π²ΡΠ½ ΠΈΠ·Π±ΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π°ΡΠΈΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ACL;
- ΠΡΠΌ ΠΊΡΠΈΠΏΡΠΎ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ· Π½Π΅ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅xxhash , ΡΠΈΡΡΠΎ ΡΠΊΠΎΡΠΎΡΡ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°;
- Π―Π΄ΡΠΎΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π·Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPv4 Π°Π΄ΡΠ΅ΡΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0.0.0.0/8, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΈ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°
ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ ΠΎΡΠ΅ 16 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° IPv4 Π°Π΄ΡΠ΅ΡΠ°; - Π Netfilter Π·Π° nftables
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈFlow Block API . Π¦Π΅Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Ρ Π²ΡΠΈΡΠΊΠΈ Π²Π΅ΡΠΈΠ³ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³Π° NFT_TABLE_F_HW ΠΊΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Layer 3 ΠΈ Layer 4, Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅/ΠΎΡΡ Π²ΡΡΠ»ΡΠ½Π΅, ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ ΠΏΠΎ IP ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠ΅Π»/ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π» ΠΈ ΡΠΈΠΏ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»; -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΡΡΠΎΠ²Π΅, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΉ br_netfilter; - Π nf_tables
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° SYNPROXY, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΡ iptables, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΈ Π² IPv4 Ρ Π΅Π΄ΡΡΠ°; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ setsockopt() ΠΈ getsockopt(), ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΠΊΠ°ΡΠ²Π°ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΊΡΠΌ ΡΠ΅Π·ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½ΠΎΠ²Π° ΡΠΎΡΠΊΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ (ΠΊΡΠΊΠ°), Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° BPF Π²Π΅Π΄Π½ΡΠΆ Π·Π° Π²ΡΠ΅ΠΊΠΈ RTT ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» (Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½ΠΎ ΠΏΡΡΡΠ²Π°Π½Π΅, Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΠΈΠ½Π³);
- ΠΠ° IPv4 ΠΈ IPv6
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° nexthop, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠ°Π»ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅. Π’Π΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π°, ΡΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°Π±ΠΎΡ ΠΎΡ 743 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΌΠ°ΡΡΡΡΡΠ° Π΅ Π·Π°ΡΠ΅Π΄Π΅Π½ Π² ΡΠ΄ΡΠΎΡΠΎ ΡΠ°ΠΌΠΎ Π·Π° 4.3 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ; - ΠΠ° Bluetooth
ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° LE ping;
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPv4 Π°Π΄ΡΠ΅ΡΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0.0.0.0/8, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΈ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
-
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° x86-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°ΠΠ°ΠΎΠΊΡΠΈΠ½ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ VIA Technologies ΠΈ ΠΎΠ±ΡΠΈΠ½Π° Π¨Π°Π½Ρ Π°ΠΉ. Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ ZX CPU Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΎ Π²ΡΡΡ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86-64 Isaiah, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅VIA ΠΠ΅Π½ΡΠ°Π²ΡΡ ; - ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM (Direct Rendering Manager), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ amdgpu ΠΈ i915, Π΄ΠΎΠ±Π°Π²ΠΈΡ Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° HDR (Π²ΠΈΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½) ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΏΡΠ΅Π· HDMI ΠΏΠΎΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° HDR ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π΅ΠΊΡΠ°Π½ΠΈ, ΡΠΏΠΎΡΠΎΠ±Π½ΠΈ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° ΡΡΠΊΠΎΡΡ;
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ amdgpu Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° AMD NAVI GPU (RX5700), ΠΊΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π±Π°Π·ΠΎΠ²ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠ΄ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΅ΠΊΡΠ°Π½Π° (DCN2), GFX ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (GFX10),
SDMA 5 (ΡΠΈΡΡΠ΅ΠΌΠ° DMA0), ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ Π΅Π½ΠΊΠΎΠ΄Π΅ΡΠΈ/Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΈ (VCN2). amdgpu ΡΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΊΠ°ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° GPU Vega12 ΠΈ Vega20, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Π½Π΅ΡΠΎ; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠ°ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° VegaM GPU ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdkfd (Π·Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ GPU, ΠΊΠ°ΡΠΎ Fiji, Tonga, Polaris);
- Π DRM Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈ Intel Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Icelake
ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ Π½ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³Π°ΠΌΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ ΠΏΡΠ΅Π· DisplayPort Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ YCbCr4:2:0. ΠΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΡΡΡΠΌΡΠ΅ΡGuC Π·Π° SKL, BXT, KBL, GLK ΠΈ ICL. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Ironlake (gen5) ΠΈ gen4 (Broadwater - Cantiga), ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° GPU ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΡΠ΅ ΠΎΡ Π΅Π΄Π½Π° ΠΏΠ°ΡΡΠΈΠ΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΡΠΌ Π΄ΡΡΠ³Π°; - ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Nouveau ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΡΠ΅ΡΠ° NVIDIA Turing TU116;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° DRM/KMS Π·Π° Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ ARM Komeda (Mali D71) ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ, ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅/ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ»ΠΎΠ΅Π²Π΅, ΡΠΎΡΠ°ΡΠΈΡ, ΠΎΡΠ»ΠΎΠΆΠ΅Π½ Π·Π°ΠΏΠΈΡ, AFBC, SMMU ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²Π΅ΡΠΎΠ²Π΅ Y0L2, P010, YUV420_8/10BIT Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅;
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ MSM Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅ΡΠΈΡΡΠ° A540 GPU Adreno, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Qualcomm, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° MSM8998 DSI Π·Π° Snapdragon 835;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° LCD ΠΏΠ°Π½Π΅Π»ΠΈ Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ΠΈ VXT VL050-8048NT-C01; -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅
Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Amlogic Meson SoC; - Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° v3d (Π·Π° Broadcom Video Core V GPU, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Raspberry Pi) ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ
ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ; -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° SPI ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΈ ΠΈ ΡΡΠ°ΠΊΠΏΠ°Π΄ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π»Π°ΠΏΡΠΎΠΏΠΈ Apple MacBook ΠΈ MacBookPro; -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π·Π°ΡΠΈΡΠ° Π·Π° ioctl ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ»ΠΎΠΏΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, Π° ΡΠ°ΠΌΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½
(βΠΎΡΠΈΡΠΎΡΡΠ»ΠΎβ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² ΡΠ΄ΡΠΎΡΠΎ, Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΌΡ ΡΠ°Π±ΠΎΡΠ° Π½Π΅ Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π°. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΠΎΡΡΠ°ΡΡΠ», ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ - Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠΈ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ USB ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ cpufreq Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° Raspberry Pi ΠΏΠ»Π°ΡΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ² ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSP + MMA) ΠΈ Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53 ), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°Π±Π»Π°:
-
ΠΡΡΠΈΠ·ΡΠΌ Librem5 , - Aspeed BMC,
- Microsoft Olympus BMC,
- Kontron SMARC,
- Novtech Meerkat96 (i.MX7),
- ST Micro Avenger96,
- Google Cheza (Qualcomm SDM845),
- Qualcomm Dragonboard 845c (Qualcomm SDM845),
- Hugsun X99 TV Box (Rockchip RK3399),
- Khadas Edge/Edge-V/Captain (Rockchip RK3399),
- HiHope RZ/G2M,
- NXP LS1021A-TSN.
-
-
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°ΡΠ° ΡΠΎΠ½Π΄Π°ΡΠΈΡ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ
Π²Π°ΡΠΈΠ°Π½Ρ
ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΊΠΎΠ΄ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΠ½Π° Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, Π·Π²ΡΠΊΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° skylake, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru