ΠΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ
ΡΠ΅ΠΆΠΈΠΌ βΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π³Π°ΡΠ΅β ΡΡΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ° Π·Π° Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ pidfd_open, ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ IPv4 Π°Π΄ΡΠ΅ΡΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°ΡΠ° 0.0.0.0/8, ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° Ρ
Π°ΡΠ΄Π²Π΅ΡΠΎΡ nftables, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° HDR Π²ΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ DRM, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π½Π° ACRN Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ.
Π
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ°, ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°ΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΡ Π½Π° ΡΠ»ΡΡΠ°Π΅Π½ Π±ΡΠΎΡ getrandom() ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ° ΠΏΠΎΠ±Π°Π²Π½ΠΎ ΠΈ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΠΊΠΎΠ»Π½ΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ Π·Π°ΠΌΡΠ·Π½ΡΠ²Π°ΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ ΡΓ¨ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°ΡΠ° Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΠΎΠΏΠΎΠ»Π½Π΅ΡΠΈ. ΠΠΈΠ΄Π΅ΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π΅ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΠΊΠΎΡΠΈΡΠ½Π°, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π΄ΠΈΡΠΊΡΡΠΈΡΠ° ΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ getrandom() ΠΈ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΡΠ΅ΠΊΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°, Π½ΠΎ ΡΠ°ΠΊΠ²Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° ΡΠ΅ Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΡΠ»ΡΡΠ°ΡΠ½ΠΈΡΠ΅ Π±ΡΠΎΠ΅Π²ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅ΡΠ½Π°ΡΠ° ΡΠ°Π·Π° Π½Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° 15794 ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 1974 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ,
Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π·Π°ΠΊΡΠΏΠ° - 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_PIDFD.ΠΠ΅ΡΠ½Π΅Π» 5.3 Π³ΠΎ Π²ΠΎΠ²Π΅Π΄Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ
pidfd_open() , ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ»ΠΈΠ² pidfd Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΊΠΎΡ Π½Π΅ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΡΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° clone() ΡΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ CLONE_PIDFD. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° pidfd polling ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° poll() ΠΈ epoll(), ΡΡΠΎ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π΄Π° Π³ΠΎ ΡΠ»Π΅Π΄Π°Ρ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π±Π΅Π· ΡΡΡΠ°Π² ΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΡΠΊΠ° Π΄ΠΎΠΊΠΎΠ»ΠΊΡ PID Π΅ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° Π½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ³Π° ΠΏΡΠΎΡΠ΅Ρ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ pidfd Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°Ρ Π΅ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ³Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ Π΄Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅Ρ Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°Ρ; - ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠ²Π°ΡΠΎΡ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈ (
ΠΡΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ΅ ΡΡΠ΅Π³Π°ΡΠ΅ ), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ ΠΎΠΏΡΠ΅Π³ Π½Π° ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°, Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΡΠ΅Π·Π΅Π½ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π³ΠΈ Π·Π°Π±ΡΠ·ΡΠ²Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΠΊΠΎΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π±Π°ΡΠ΅ΠΌ Π½Π° Π΄ΠΎΠ»Π½ΠΈΠΎΡ ΠΊΡΠ°Ρ Π½Π° βΠ±Π°ΡΠ°Π½Π°ΡΠ°β ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°. ΠΠ°Π΄Π°ΡΠΈΡΠ΅ ΡΠΎ Π½ΠΈΠ·ΠΎΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π³ΠΎΡΠ½Π°ΡΠ° Π³ΡΠ°Π½ΠΈΡΠ° Π½Π° βΠ΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½Π°ΡΠ°β ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°. ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠ΅ΠΊΡ Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ sched_uclamp_util_min ΠΈ sched_uclamp_util_max Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ sched_setattr(). - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΅Π½Π΅ΡΠ³ΠΈΡΠ°
ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΠΠ½ΡΠ΅Π» , Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΎ Intel Xeon ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΠ²Π°Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π·Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΈ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠΌ Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π·Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ°Π΄ΡΠ°, ΠΆΡΡΠ²ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ°Π΄ΡΠ°; - ΠΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ
ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΡΠ΅ΠΊΠ° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅Π· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° umwait. ΠΠ²Π°Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°, Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈ Π·Π° ΠΏΠ°ΡΠ·Π°, ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΠ½ΡΠ΄Π΅Π½ΠΈ Π²ΠΎ ΠΏΡΠ΅ΡΡΡΠΎΡΠ½ΠΈΡΠ΅ βΠ’ΡΠ΅ΠΌΠΎΠ½Ρβ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΠ½ΡΠ΅Π» ΠΈ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠ΄Π»ΠΎΠΆΡΠ²Π°ΡΠ° ΠΊΠΎΠΈ ΡΠ΅ Π΅Π½Π΅ΡΠ³Π΅ΡΡΠΊΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈ ΠΈ Π½Π΅ Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΈΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Hyper Threading; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ;
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ kprobes Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΏΡΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎ ΡΠ°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠ΅.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΠ° PREEMPT_RT Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘Π°ΠΌΠΈΠΎΡ ΠΊΠΎΠ΄ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, Π½ΠΎ ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΠ°ΡΠ° Π΅ Π΄ΠΎΠ±Π°Ρ Π·Π½Π°ΠΊ Π΄Π΅ΠΊΠ° Π΄ΠΎΠ»Π³ΠΎΡΠΎΡΠ½ΠΈΠΎΡ Π΅ΠΏ
ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΠ°ΠΊΡΠΏΠΈΡΠ΅ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅-ΠΡΠ΅Π΅ΠΌΡ ΡΠ΅ ΠΏΡΠΈ ΠΊΡΠ°Ρ; - ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ clone3() ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠΏΡΠΎΡΠΈΡΠ»ΠΈΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ clone(), ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π·Π½Π°ΠΌΠ΅Π½ΡΠ°;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΡΠΏΡΠ°Π²ΡΠ²Π°Ρ bpf_send_signal(), Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠΈ ΠΈΠΌ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ;
- ΠΠ° perf Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ Π½Π° KVM, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ, ΡΡΠΎ ΠΌΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΡ Π΄Π° Π³ΠΈ ΠΎΠ΄ΡΠ΅Π΄ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ ΡΡΠΎ ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π³ΠΎΡΡΠΈ;
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠΎ ΡΠΈΠΊΠ»ΡΡΠΈ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° eBPF Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΊΠ»ΡΡΠΎΡ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°Π΄ΠΌΠΈΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ Π±ΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ;
- ΠΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ ΡΠ°Π·Π²ΠΎΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° βpidfdβ Π·Π° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° PID (pidfd Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π½Π΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°, Π΄ΠΎΠ΄Π΅ΠΊΠ° PID ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π΅ ΡΠΎ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ Π·Π°Π²ΡΡΠΈ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΡΠΎΡ PID). ΠΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΠΊ, Π/Π ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠ°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ XFS ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΠΎΠ΄ΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ²ΠΎΡΠΈ). ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ ioctls BULKSTAT ΠΈ INUMBERS, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ FS, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΈΠ½ΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ BULKSTAT ΠΈ INUMBERS Π·Π° ΡΠ΅ΠΊΠΎΡΠ° AG Π³ΡΡΠΏΠ° (ΠΡΡΠΏΠΈ Π·Π° Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅);
- ΠΠΎ Ext4
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΠΏΡΠ°Π·Π½ΠΈΠ½ΠΈ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ (Π½Π΅ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ).
ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ βiβ (Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ) Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ (ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π΅ Π·Π°Π±ΡΠ°Π½Π΅ΡΠΎ Π²ΠΎ ΡΠΈΡΡΠ°ΡΠΈΡΠ° Π°ΠΊΠΎ Π·Π½Π°ΠΌΠ΅ΡΠΎ Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ³Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²Π΅ΡΠ΅ Π±ΠΈΠ»Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°); - Btrfs Π΄Π°Π²Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡΠ° Π·Π° Π±ΡΠ·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° crc32c Π½Π° ΡΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ;
- ΠΠΎ CIFS, ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° smbdirect Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ ΠΊΠ°ΠΊΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΡΠ°Π·Π²ΠΎΡ. SMB3 Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ GCM. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ ΠΎΠ΄ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ACE (Access Control Entry). ΠΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π±Π°ΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ open();
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΠ° Π²ΠΎ F2FS Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠΎΡ Π½Π° ΡΡΠ±ΡΠ΅ ΠΊΠΎΠ³Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΠΏΡΠ½ΠΊΡ=ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΡΠ΅ΠΆΠΈΠΌ. ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ioctl Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΠ΅ Π΄Π²ΠΈΠΆΠΈ ΠΎΠ΄ F2FS, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±ΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° ΡΠ°Π·ΠΌΠ΅Π½Π° Π²ΠΎ F2FS Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ I/O. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π·Π° ΡΠ»ΠΈΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π·Π° ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ;
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ sendmsg() ΠΈ recvmsg() Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π· io_uring;
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ zstd ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΡΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ FS ΡΠ»ΠΈΠΊΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ UBIFS;
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ SELinux Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ Ceph FS;
- ΠΠ° NFSv4, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ βnconnect=β, ΠΊΠΎΡΠ° Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π±ΡΠΎΡΠΎΡ Π½Π° Π²ΠΎΡΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π²ΡΡΠΊΠΈ ΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ. Π‘ΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ ΡΠ΅ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΡΠ΅ΡΠ²Π΅ΡΠΎΡ NFSv4 ΡΠ΅Π³Π° ΡΠΎΠ·Π΄Π°Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ /proc/fs/nfsd/ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΎΡΠ²ΠΎΡΠΈΠ»Π΅;
- ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
- ΠΠ°Π΄ΡΠΎΡΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π·Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ
ACRN , ΠΊΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎΡΡΠ° Π·Π° Π·Π°Π΄Π°ΡΠΈ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎΡΡ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΌΠΈΡΠΈΡΠ°ΡΠ°. ACRN ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΡΠΎΡΠΎΡΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΌΠ°Π»Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° ΡΠ΅Π°ΠΊΡΠΈΡΠ° ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΎΠΏΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, I/O, ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ, Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈ Π·Π²ΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ACRN ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π²ΠΎΠ΄Π΅ΡΠ΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π²ΠΎ Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°Π±Π»ΠΈ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠΈ IoT ΡΡΠ΅Π΄ΠΈ ΠΈ Π΄ΡΡΠ³Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°; - ΠΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ Linux
Π΄ΠΎΠ΄Π°Π΄Π΅ Π Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΠ°ΡΡΠ²Π°ΡΠ΅ Π½ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π·Π°Π±Π°Π²ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π·Π°Π±ΡΠ·Π°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π²ΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½Π° UML ΡΡΠ΅Π΄ΠΈΠ½Π° Π·Π° Π΄Π° Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΠΈΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ
time-travel-start, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΠΊ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΎΠ΄ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎ Π΅ΠΏΠΎΡ Π°Π»Π΅Π½ ΡΠΎΡΠΌΠ°Ρ; - ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ βinit_on_allocβ ΠΈ βinit_on_freeβ, ΠΊΠΎΠ³Π° Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ Π΅ Π½ΡΠ»Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ (ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠΎ Π½ΡΠ»ΠΈ Π·Π° malloc ΠΈ free), ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² Π²ΠΎΠ·Π°Ρ
Π²ΠΈΡΡΠΈΠΎ-ΠΈΠΎΠΌΠΌΡ ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΡΠ΅Π΄ ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π½Π° IOMMU ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ATTACH, DETACH, MAP ΠΈ UNMAP ΠΏΡΠ΅ΠΊΡ Π²ΠΈΡΡΠΈΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π±Π΅Π· Π΅ΠΌΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΠ°Π±Π΅Π»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ; - ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² Π²ΠΎΠ·Π°Ρ
Π²ΠΈΡΡΠΈΠΎ-ΠΏΠΌΠ΅ΠΌ , ΡΡΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΌΠ°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΠ·ΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ 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 ΠΏΠΈΠ½Π³;
- ΠΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPv4 Π°Π΄ΡΠ΅ΡΠΈ Π²ΠΎ ΠΎΠΏΡΠ΅Π³ΠΎΡ 0.0.0.0/8, ΠΊΠΎΡ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. ΠΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Ρ 86-ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°ΡΠ°HaΠ°ΠΎΠΊΡΠΈΠ½ , ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠΌΠ΅ΡΡ VIA Technologies ΠΈ ΠΎΠΏΡΡΠΈΠ½Π°ΡΠ° Π¨Π°Π½Π³Π°Ρ. Π‘Π΅ΠΌΠ΅ΡΡΡΠ²ΠΎΡΠΎ ZX CPU Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86-64 Isaiah, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ°ΠΠΠ ΠΠ΅Π½ΡΠ°ΡΡ ; - ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΡ DRM (Direct Rendering Manager), ΠΊΠ°ΠΊΠΎ ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ amdgpu ΠΈ i915, Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ HDR (Π²ΠΈΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ ΠΎΠΏΡΠ΅Π³) ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ HDMI ΠΏΠΎΡΡΠΎΡ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° HDR ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π΅ΠΊΡΠ°Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΈ Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠ΅Π·ΠΈ Π½Π° ΠΎΡΠ²Π΅ΡΠ»Π΅Π½ΠΎΡΡ;
- ΠΡΠ°ΡΠ²Π΅ΡΠΎΡ amdgpu Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° AMD NAVI GPU (RX5700), ΠΊΠΎΡ Π³ΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΠΎΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ (DCN2), GFX ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° (GFX10),
SDMA 5 (Π‘ΠΈΡΡΠ΅ΠΌ DMA0), ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΅Π½Π΅ΡΠ³ΠΈΡΠ° ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΡΠ°Π»Π½ΠΈ Π΅Π½ΠΊΠΎΠ΄Π΅ΡΠΈ/Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΈ (VCN2). amdgpu, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Vega12 ΠΈ Vega20 Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π·Π° ΠΊΠΎΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ Π΅Π½Π΅ΡΠ³ΠΈΡΠ°; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° VegaM Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ amdkfd (Π·Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π€ΠΈΡΠΈ, Π’ΠΎΠ½Π³Π°, ΠΠΎΠ»Π°ΡΠΈΡ);
- ΠΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΎΡ Π·Π° DRM Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Intel Π·Π° Icelake ΡΠΈΠΏΠΎΠ²ΠΈ
ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΠ° Π½Π° Π³Π°ΠΌΠ°. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π»Π΅Π· ΠΏΡΠ΅ΠΊΡ DisplayPort Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ YCbCr4:2:0. ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² ΡΠΈΡΠΌΠ²Π΅ΡGuC Π·Π° SKL, BXT, KBL, GLK ΠΈ ICL. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΈΡΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΠΏΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ Π²ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ ΡΠ΅ΠΆΠΈΠΌ.ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π·Π°ΡΡΠ²ΡΠ²Π°ΡΠ΅ ΠΈ Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΡ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ Π·Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Ironlake (gen5) ΠΈ gen4 (Broadwater - Cantiga), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° Π²ΡΠ°ΡΠΈΡΠ΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° ΡΠ΅ΡΠΈΡΠ° Π²ΠΎ Π΄ΡΡΠ³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°; - ΠΠΎΠ·Π°ΡΠΎΡ 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 ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ 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 DSPs + MMA) ΠΈ Amlogic G12B (4x Cortex-A73 + A2 ), ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠ°Π±Π»ΠΈ:
-
ΠΡΡΠΈΠ·Π°ΠΌ ΠΠΈΠ±ΡΠ΅ΠΌ5 , - Aspeed BMC,
- Microsoft Olympus BMC,
- ΠΠΎΠ½ΡΡΠΎΠ½ SMARC,
- Novtech Meerkat96 (i.MX7),
- ST Micro Avenger96,
- Google Cheza (Qualcomm SDM845),
- Qualcomm Dragonboard 845c (Qualcomm SDM845),
- Π’Π ΠΊΡΡΠΈΡΠ° Hugsun X99 (Rockchip RK3399),
- Khadas Edge/Edge-V/Captain (Rockchip RK3399),
- HiHope RZ/G2M,
- NXP LS1021A-TSN.
-
-
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΠ°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°ΡΠ° Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ° Π·Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ
ΠΎΠΏΡΠΈΡΠ°
ΠΠΆΡΡΠΈΡΠ°Π½ ΠΊΠΎΠ΄ Π·Π° ΡΠΈΡΡΠ΅ΡΠ΅ blob Π²ΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° Π·Π²ΡΠΊ Π·Π° skylake, ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄.
ΠΠ·Π²ΠΎΡ: opennet.ru