ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ
ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ
ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ‘utilization clamping’ Π΄Π»Ρ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ
CPU, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² pidfd_open, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IPv4-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ· ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ 0.0.0.0/8, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ nftables, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HDR Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ DRM, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ACRN.
Π
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΈΠ·-Π·Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ½ΡΡΠΎΠΏΠΈΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» getrandom() ΡΡΠ°Π»Π° Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ² ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π±Π»ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ΄Π²ΠΈΡΠ°Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ»Π° ΡΠ½ΡΡΠΎΠΏΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ, ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π΄ΠΈΡΠΊΡΡΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΎΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π° ΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ Π²ΡΠ·ΠΎΠ²Π° getrandom() Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° Π΄Π»Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 15794 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 1974 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²,
ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° — 92 ΠΠ± (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 13986 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 258419 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°,
ΡΠ΄Π°Π»Π΅Π½ΠΎ 599137 ΡΡΡΠΎΠΊ). ΠΠΊΠΎΠ»ΠΎ 39% Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π² 5.3
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 12% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ, 11%
ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 3% — ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ
ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ‘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, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°; - Π ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (
Utilization clamping ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΡΠ°ΡΡΠΎΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π½Π° CPU Π·Π°Π΄Π°Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΠΊ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ «Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ» ΡΠ°ΡΡΠΎΡΡ. ΠΠΈΠ·ΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»ΠΈΠΌΠΈΡΠ° «ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΠΎΠΉ» ΡΠ°ΡΡΠΎΡΡ. ΠΠΈΠΌΠΈΡΡ Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡΡ sched_uclamp_util_min ΠΈ sched_uclamp_util_max Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ sched_setattr(). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ
Intel Speed Select , Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ Intel Xeon. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ΄Π΅Ρ CPU, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ΄ΡΠ°Ρ , ΠΆΠ΅ΡΡΠ²ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΄ΡΠ°Ρ ; - ΠΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ umwait. ΠΠ°Π½Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ umonitor ΠΈ tpause, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π² Π³ΠΎΡΠΎΠ²ΡΡΠΈΡ ΡΡ ΠΊ Π²ΡΠΏΡΡΠΊΡ ΡΠΈΠΏΠ°Ρ Intel «Tremont», ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Hyper Threading; - ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (huge pages);
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ «kprobes» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΄ΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΊΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π° ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
- Π ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ PREEMPT_RT Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π‘Π°ΠΌ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ΄ΡΠΎ, Π½ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½ΡΡ ΡΠΏΠΎΠΏΠ΅Ρ ΠΏΠΎ
ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ Realtime-Preempt Π±Π»ΠΈΠ·ΠΈΡΡΡ ΠΊ ΡΠΈΠ½Π°Π»Ρ; - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² clone3() c ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° clone(), Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΡΠ»Π°Π³ΠΎΠ²;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ bpf_send_signal(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ;
- ΠΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ perf Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ eBPF-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ;
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ‘pidfd’, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PID (pidfd ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π² ΡΠΎΠΌ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ PID ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΡΠΈΠΌ PID). Π Π°Π½Π΅Π΅ Π² ΡΠ΄ΡΠΎ ΡΠΆΠ΅ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ XFS ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π° inode (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΊΠ²ΠΎΡ). ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ioctl BULKSTAT ΠΈ INUMBERS, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠΌΡΡ Π² ΠΏΡΡΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π€Π‘, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ inode ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² BULKSTAT ΠΈ INUMBERS Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΡΠΏΠΏΡ AG (Allocation Groups);
- Π Ext4
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΡΡΠΎΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ (Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²).
ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ»Π°Π³Π° «i» (immutable) Π΄Π»Ρ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Π·Π°ΠΏΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΡΠ»Π°Π³ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» ΡΠΆΠ΅ Π±ΡΠ» ΠΎΡΠΊΡΡΡ); - Π Btrfs ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ crc32c Π½Π° Π²ΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ ;
- Π CIFS Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ smbdirect ΡΠ½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π SMB3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ GCM. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΠ· Π·Π°ΠΏΠΈΡΠ΅ΠΉ ACE (Access Π‘ontrol Entry). ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° open();
- Π F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ checkpoint=disable. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ioctl Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ· F2FS, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π° Π½Π° Π»Π΅ΡΡ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² F2FS ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²;
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ sendmsg() ΠΈ recvmsg();
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ UBIFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΆΠ°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° zstd ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π€Π‘;
- Π Π€Π‘ Ceph Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ SELinux Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²;
- ΠΠ»Ρ NFSv4 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½ΠΎΠ²Π°Ρ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π½ΠΈΡ «nconnect=», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ ΡΠΈΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. Π’ΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ NFSv4 ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /proc/fs/nfsd/clients Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΊΡΡΡΡΡ ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°Ρ ;
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- Π ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Π²ΠΊΠ»ΡΡΡΠ½ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²
ACRN , ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΎΠ³Π»ΡΠ΄ΠΊΠΎΠΉ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ACRN ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ (low latency) ΠΈ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² CPU, Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ ΠΈ Π·Π²ΡΠΊΠΎΠΌ. ACRN ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ Π±Π»ΠΎΠΊΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΡ ΠΏΠ°Π½Π΅Π»ΡΡ , Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ IoT-ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ; - Π User-mode Linux
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ «ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ UML Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ΄Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
time-travel-start, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΠ°ΡΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² epoch-ΡΠΎΡΠΌΠ°ΡΠ΅; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° «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 ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² 3 ΠΈ 4 ΡΡΠΎΠ²Π½Π΅ΠΉ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ½ΡΡΡ/ΠΎΡΠ±ΡΠΎΡΠΈΡΡ, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎ IP ΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ/ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈ ΡΠΈΠΏΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°; -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΌΠΎΡΡΠΎΠ², Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΌΡΠ»ΠΈΡΡΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ br_netfilter; - Π nf_tables
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ SYNPROXY, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· iptables, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΎΠΏΡΠΈΡΠΌ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ IPv4; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ setsockopt() ΠΈ getsockopt(), ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° (hook), ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» RTT (round-trip-time, Π²ΡΠ΅ΠΌΡ ΠΏΠΈΠ½Π³Π°);
- ΠΠ»Ρ IPv4 ΠΈ IPv6
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ nexthop, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΡΠ°Π±Π»ΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Π±ΠΎΡ Π² 743 ΡΡΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΎΠ² Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠ΄ΡΠΎ Π²ΡΠ΅Π³ΠΎ Π·Π° 4.3 ΡΠ΅ΠΊΡΠ½Π΄Ρ; - ΠΠ»Ρ Bluetooth
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ LE ping;
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π΄ΡΠ΅ΡΠΎΠ² IPv4 Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0.0.0.0/8, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½Π΅Π΅ Π±ΡΠ» Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° x86-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈZhaoxin , ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° VIA Technologies ΠΈ ΠΌΡΠ½ΠΈΡΠΈΠΏΠ°Π»ΠΈΡΠ΅ΡΠ° Π¨Π°Π½Ρ Π°Ρ. Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ CPU ZX ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86-64 Isaiah, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠ΅ΠΉ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉVIA Centaur ; - Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DRM (Direct Rendering Manager), Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ amdgpu ΠΈ i915, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π±ΠΎΡΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ΅ΡΠ΅Π· HDMI-ΠΏΠΎΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ HDR (ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HDR-ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΡΠΊΡΠ°Π½Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΡΡΠΊΠΎΡΡΠΈ;
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU AMD NAVI (RX5700), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠ΄ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ (DCN2), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ GFX ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ (GFX10),
SDMA 5 (System DMA0), ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ (VCN2). Π amdgpu ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ°ΡΡ Π½Π° Π±Π°Π·Π΅ GPU Vega12 ΠΈ Vega20, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ; - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdkfd (Π΄Π»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ GPU, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Fiji, Tonga, Polaris) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ°ΡΡ Π½Π° Π±Π°Π·Π΅ GPU VegaM;
- Π 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, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DSI-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° MSM8998 Π΄Π»Ρ 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; -
ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² SoC Amlogic Meson; - Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ v3d (Π΄Π»Ρ GPU Broadcom Video Core V, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Raspberry Pi) ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ²; -
ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ SPI-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ ΠΈ ΡΡΠ΅ΠΊΠΏΠ°Π΄ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² Apple MacBook ΠΈ MacBookPro; -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ° ioctl-Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ floppy, Π° ΡΠ°ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π±Π΅Π· ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ
(«orphaned»), ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ΄ΡΠ΅, Π½ΠΎ Π΅Π³ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ. ΠΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΄Π½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ — Π²ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 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 + 2x Cortex-A53), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ:
-
Purism 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