ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π»ΠΈΠ· ΡΠ΄ΡΠ° Linux 7.3. Π‘ΡΠ΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π€Π‘ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ failfs ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° fchroot(), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² SCHED_EXT, BPF-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² NTFS3, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ FUSE, Btrfs ΠΈ Ext4, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Apple Time Machine Π² ksmbd, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π€Π‘ EFS ΠΈ FreeVxFS, ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π»ΠΎΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π· userfaultfd, ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ» AppArmor, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ AF_ALG, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² Apple M3 Pro, Max ΠΈ Ultra.
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 20260 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 3171 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
807 Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ. Π Π°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° β 63 ΠΠ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 14923 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 943849 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°,
ΡΠ΄Π°Π»Π΅Π½ΠΎ 297515 ΡΡΡΠΎΠΊ). Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π±ΡΠ»ΠΎ 17833 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 2766 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° β 68 ΠΠ. ΠΠΊΠΎΠ»ΠΎ 44% Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π² 7.3 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 12% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ, 12% ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 5% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° Π² ΡΠ΄ΡΠ΅ 7.3 (1, 2, 3):
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€Π‘ Btrfs. ΠΠ»Ρ Π½Π΅ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ΄Π°Π»Π΅Π½Π° Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΡΡΠΈΠΊΡΠ°ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°Π³ΡΡΠ·ΠΎΠΊ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ fsync, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΎΠ². Π fsync ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΈ Π±Π΅Π· ΠΏΡΡΡΠΎΡ, ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ² Π² 5 ΡΠ°Π·.
ΠΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΊΡΡΠΈΡΡΠ΅ΠΌΡΡ Π±ΡΡΠ΅ΡΠΎΠ² ΡΠΊΡΡΠ΅Π½ΡΠΎΠ² ΡΡΡΡΠΊΡΡΡΠ° xarray Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ LRU-ΡΠΏΠΈΡΠΎΠΊ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² 3 ΡΠ°Π·Π°. Π£ΡΡΡΠ°Π½Π΅Π½Ρ ΠΏΡΠΎΠ²Π°Π»Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡΠΌΠΈ Π² ΠΏΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊΠ°Ρ ΡΠ΄ΡΠ°. Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅ΠΌ ΡΡΠ΅Π½ΠΈΠΈ ΡΠΊΡΡΠ΅Π½ΡΠΎΠ², ΡΡΠΎ ΡΠ½ΠΈΠ·ΠΈΠ»ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠΌΡΡ ΠΎΠ±Π»Π°ΡΡΡΠΌ.
- Π Btrfs ΡΠ΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΡΡΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. Π€Π‘, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π° Π²ΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΡΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ btrfstune, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π’Π°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«usebackuprootΒ», Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«rescue=usebackuprootΒ».
- Π Π€Π‘ Ext4 ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈ ΠΏΡΡΠΌΠΎΠΌ Π²Π²ΠΎΠ΄Π΅/Π²ΡΠ²ΠΎΠ΄Π΅ (Direct I/O) ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² fallocate(). Π£ΡΡΡΠ°Π½Π΅Π½Π° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ, ΡΠ½ΠΈΠΆΠ°Π²ΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
- Π Π€Π‘ Ext4 ΡΠ΅ΠΆΠΈΠΌ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«data=journalΒ» ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π² ΡΠ°Π·ΡΡΠ΄ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ Π² 2028 Π³ΠΎΠ΄Ρ. ΠΠΏΡΠΈΡ Β«data=journalΒ» Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π² ΠΆΡΡΠ½Π°Π» Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΈ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΠ΅Π², Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Β«data=orderedΒ» ΠΈ Β«data=writebackΒ».
- Π£Π΄Π°Π»Π΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° EFS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π² ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΠ‘ IRIX, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 30 Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΠΈ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠ΅Ρ ΠΊΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌ Ρ EFS ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅.
- Π£Π΄Π°Π»Π΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° FreeVxFS, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ ΡΠΎΡΠΌΠ°Ρ Π€Π‘ VERITAS VxFS, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²ΡΠΈΠΉΡΡ Π² SCO UnixWare Π² 1990-Π΅ Π³ΠΎΠ΄Ρ ΠΈ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ FUSE ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring. Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠ»ΠΎΠ² Π±ΡΡΠ΅ΡΠΎΠ² ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π² ΡΠ΄ΡΠΎ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΡΠ½Π΅ΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (zero-copy) ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ FUSE-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠΌΡ ΠΊΡΡΡ.
- ΠΠ»Ρ Π±Π»ΠΎΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»Π°Π³ RWF_DONTCACHE, ΠΏΠΎΡ
ΠΎΠΆΠΈΠΉ Π½Π° ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
(Direct I/O), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ preadv2() ΠΈ pwritev2() ΠΈΠ»ΠΈ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ Π½Π° ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ΅ΡΠ΅Π· io_uring Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π»ΠΎΡΠ½ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π² ΠΎΠ±Ρ ΠΎΠ΄ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π°Π³ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Π‘Π£ΠΠ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π»ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. - Π Π€Π‘ overlayfs Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΌ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΆΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π€Π‘ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ ntfs3 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Π² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«touch file:ΠΏΠΎΡΠΎΠΊΒ», ΡΡΠ΅Π½ΠΈΡ β Β«cat file:ΠΏΠΎΡΠΎΠΊΒ», ΡΠ΄Π°Π»Π΅Π½ΠΈΡ β Β«rm file:ΠΏΠΎΡΠΎΠΊΒ», Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² β Β«cat file:query_streamsΒ».
- Π Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ NTFS (ntfsplus) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² WOF (Windows Πverlay Filter).
- Π NFS-ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ CB_NOTIFY, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- Π Π€Π‘ F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ (Π±Π΅Π· ΠΎΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π€Π‘) ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ· ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠ»Π° Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΡΡΡΡ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π½ΡΠΆΠ΄).
- Π XFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ»Π°Π³Π° FALLOC_FL_WRITE_ZEROES Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ fallocate(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π½ΡΠ»ΡΠΌΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ΡΠ°ΠΉΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ WRITE_ZERO, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€Π‘ Btrfs. ΠΠ»Ρ Π½Π΅ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ΄Π°Π»Π΅Π½Π° Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΡΡΠΈΠΊΡΠ°ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°Π³ΡΡΠ·ΠΎΠΊ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ fsync, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΎΠ². Π fsync ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΈ Π±Π΅Π· ΠΏΡΡΡΠΎΡ, ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ² Π² 5 ΡΠ°Π·.
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΠ΄ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΠ΅ΡΠ½ΠΈΡΡ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ (GTT) Π±ΡΡΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ²ΠΎΡΡ ΠΏΠ°ΠΌΡΡΠΈ (dmem cgroup), Π° Π½Π΅ ΡΡΠ°Π·Ρ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ. Π Π°Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΊΠ²ΠΎΡ ΡΠΆΠ΅ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΡ, ΡΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ²ΠΎΡΠ°ΠΌΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Ρ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ TTM (Translation Table Maps) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»ΡΠ»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Π°Π΄ΡΠ΅ΡΡΠ΅ΠΌΠ°Ρ ΠΈΠ· GPU (GTT).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° dmem cgroup ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² nouveau, xe ΠΈ amdgpu. - Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ SCHED_EXT, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ BPF Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² CPU, Π·Π°Π²Π΅ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² (sub-scheduler), ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ cgroup ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Ρ.
- Π ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Ρ Π²Π½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ cgroup ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΠΎΠ², ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ
Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠΎΠ² Π΄Π»Ρ cgroup β βupβ, βmaxβ, βconcurβ ΠΈ βtasksβ, Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ cgroup_mode. ΠΠ°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Π΅Π΄ΠΈΠ½Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (runqueue) Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Ρ Π²Π½ΡΡΡΠΈ cgroup. Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ²Π°Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π° ΡΡΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΌΠ΅Π½ΡΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ, Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΎΡ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ. - Π ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ binfmt_misc (/proc/sys/fs/binfmt_misc) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ BPF-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π±Π΅Π· Ρ Π°ΠΊΠΎΠ² ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ patchelf ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΠΈΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΡ ΠΈΠ»ΠΈ Wine, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Nix. - ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Rust-for-Linux, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Rust Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rust Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Rust Π² ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΊ ΡΠ΄ΡΡ). ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Rust Π΄Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ: ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ, ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ synchronize_rcu(), Π±Π°ΡΡΠ΅ΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΠΎΠ΄ΡΠ»Ρ interrupt Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΠΈΠΏΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π½Π°Π΄ fwctl, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ SRCU (sleepable read-copy-update), ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π½Π°Π΄ gem shmem,
spinlock-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ SpinLockIrq, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠΈΡΡ . - ΠΠΎΠ±Π°Π²Π»Π΅Π½ sysctl-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ syscall_user_dispatch Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Wine Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Windows).
- Π BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ bpf_sock_read_xattr(), ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠΈΡΠ°ΡΡ Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
(user.*) ΠΈΠ· inode ΡΠΎΠΊΠ΅ΡΠΎΠ². Π BPF-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ CPU. Π Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΡΠΏΡΠΎΡΠ°ΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. - Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ kprobes, uprobes ΠΈ fprobes ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠ΅ BTF (BPF Type Format) Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ BPF, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DAMON (Data Access MONitor), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π»ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ Π½Π΅Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄Π°Π½Π½ΡΡ (Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΡΠ½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ.ΠΏ.).
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ KHO (Kexec HandOver), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΌ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ΠΈΠ· ΡΡΠ°ΡΠΎΠ³ΠΎ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ ΡΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (huge pages) Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠ°ΡΠΊΠΈΡΡΡΡΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΄ΡΠ°.
- ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ (swap) ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π½Π° Π½ΠΎΠ²ΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ swap_ops, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠΎΡΡΠΈΠ»Π° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ioctl-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT ΠΈ ALLOCINFO_IOC_GET_NEXT, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ /proc/allocinfo, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ioctl-Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎ 20 ΡΠ°Π· ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π° ΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π»ΠΈΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΠ΄ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΠ΅ΡΠ½ΠΈΡΡ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ (GTT) Π±ΡΡΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ²ΠΎΡΡ ΠΏΠ°ΠΌΡΡΠΈ (dmem cgroup), Π° Π½Π΅ ΡΡΠ°Π·Ρ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ. Π Π°Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΊΠ²ΠΎΡ ΡΠΆΠ΅ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΡ, ΡΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ²ΠΎΡΠ°ΠΌΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Ρ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ TTM (Translation Table Maps) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»ΡΠ»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Π°Π΄ΡΠ΅ΡΡΠ΅ΠΌΠ°Ρ ΠΈΠ· GPU (GTT).
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² sandbox-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ. ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ failfs ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° fchroot.
ΠΡΠ΅Π²Π΄ΠΎ-Π€Π‘ failfs Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π€Π‘ nullfs, Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ Β«Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡΒ». ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²Π΅ΡΡ failfs, ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π€Π‘ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· statmount(), listmount(), /proc/<pid>/mountinfo ΠΈ /proc/filesystems. ΠΡΠ»ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² failfs, ΡΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π€Π‘ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΏΡΡΠ΅ΠΉ, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ, Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°ΠΌ, ΠΎΡΠΊΡΡΡΡΠΌ Π΄ΠΎ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² fchroot, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² chroot, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². Π ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ fchdir Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ FD_FAILFS_ROOT Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² Π€Π‘ failfs.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ»Π°Π³ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ fchroot. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° userfaultfd, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ Π½Π΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ, Π΄Π»Ρ ΠΈΡ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ»ΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ° ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ UFFDIO_REGISTER_MODE_RWP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ mprotect(PROT_NONE) ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π°, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π·Π°ΠΏΡΠ΅Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ (Π² ΡΠ»ΡΡΠ°Π΅ userfaultfd Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ AI (Β«Assisted-by: Claude:claude-opus-4-6Β»).
- Π£ΡΠΈΠ»Π΅Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ΄ΡΠ° (kthread) ΠΈ init-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ (PID 1). Π Π°Π½Π΅Π΅ Π² ΠΏΠΎΡΠΎΠΊΠ°Ρ
ΡΠ΄ΡΠ° ΠΈ Π² PID 1 ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΠΎΠ±ΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ,
ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² pivot_root() ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π€Π‘ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΄ΡΠ°. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² PID 1 Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° fs_struct, Π° ΠΏΠΎΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ nullfs. - ΠΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (libcrypto) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ AES β ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM ΠΈ CCM.
- Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠ°Π½Π΄Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ AppArmor ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΆΠ°ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΏΡΠ°Π²ΠΈΠ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π°ΡΠ΄ΠΈΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ sysctl-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ af_alg_restrict, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ API AF_ALG ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. AF_ALG ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ Π΄Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Crypto API ΡΠ΄ΡΠ°, Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π΄Π°ΡΡ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ AF_ALG ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ Π²ΡΡΠ²Π»Π΅Π½Π° ΡΠ΅ΡΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Copy Fail, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠΌ ΠΊΡΡΠ΅. ΠΠ»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ AF_ALG ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ AF_ALG Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π±ΡΠ΄ΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ².
- Π£ΠΆΠ΅ΡΡΠΎΡΠ΅Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π·Π°Π²Π΅ΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² landlock_restrict_self(), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Landlock, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³
LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Landlock ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Ρ ΡΠ²ΠΎΠΉ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ VirtIO-GPU, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ GPU, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° S4 (hibernation).
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² sandbox-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ. ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ failfs ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° fchroot.
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- Π ksmbd, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΡΠ΄ΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMB, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Apple Time Machine Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² macOS ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ SMB Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ MessageId Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠ°ΠΊ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ SMB3 Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅Π°Π½ΡΠ°, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» ΠΏΠΎΡΠ΅ΡΡΠ½. Π SMB3 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ (share). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ SMB Direct, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ RDMA (Remote Direct Memory Access).
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ TCP-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² c ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ BIG TCP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ TCP-ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄ΠΎ 4ΠΠ, Π² UDP-ΡΡΠ½Π½Π΅Π»ΡΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² VXLAN ΠΈ GENEVE.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° MCTP (Management Component Transport Protocol) ΠΏΠΎΠ²Π΅ΡΡ USB (MCTP-over-USB 1.1).
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (unregistration) ΡΠ΅ΡΠ΅Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan ΠΈ Ρ.ΠΏ.) Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½.
- ΠΠ»Ρ Bluetooth 6.2+ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° SCI (Shorter Connection Interval) Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Bluetooth LE (Low Energy).
- Π API nl80211 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ (NL80211_CMD_PROBE_PEER) Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΡ ΠΏΠΈΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΊΠ°ΠΊ Π² Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠΎΡΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠ΅ 7.5 ΡΡΠ°ΡΡΠ΅ ARM-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΠΌΠ΅ΡΠ°ΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ. Π ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 55 ΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌ sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, ΡΡΠ°ΡΡΡ ΠΏΠ»Π°Ρ pxa, orion, dove ΠΈ mv78xx0, ΡΠΈΠΏΠΎΠ² Π±Π΅Π· Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ (MMU) ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² stm32f4/f7/h7.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² Apple M3 Pro, Max ΠΈ Ultra. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π΄Π»Ρ SoC Apple.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DRM (Direct Rendering Manager) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Β«color formatΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠ²ΠΎΠ΄Π°. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² GPU i915 (HDMI, DP), amdgpu (HDMI, DP) ΠΈ rockchip (HDMI). ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄Π° Β«modetest -s 115:1920Γ1080-60@NV12 -w 115:βcolor formatβ:4Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ 115 β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠ°, Π° β4β Π½ΠΎΠΌΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠ° YUV420.
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² DRM Π΄Π»Ρ GPU AMD ΡΠ΅ΡΠΈΠΉ GFX6-8 (Southern Islands, Sea Islands ΠΈ Volcanic Islands). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DCN 6.0.0 (Display Core Next). ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CACP (Content Adaptive Contrast and Power), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ OLED-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ. ΠΠ»Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ DCN4 Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° IPS (Idle Power State) Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ AMD Barco. - Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ i915 ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠΎΠ² DisplayPort. ΠΠ»Ρ GPU Novalake (NVL) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CMTG (Common mode timing generator) ΠΈ DC3DO (Display C3 with Clock Off).
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ drm-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ (Direct Rendering Manager) Xe Π΄Π»Ρ GPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Intel Xe, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ Intel ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Arc ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Tiger Lake. ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². Π configfs ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°ΡΡΠΈΠ±ΡΡ βenable_multi_queueβ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΡΠΏΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ.
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nova Π΄Π»Ρ GPU NVIDIA, ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΡ
GSP-ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΡΠΈΠΈ NVIDIA GeForce RTX 2000 Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Turing. ΠΡΠ°ΠΉΠ²Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ TLV, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°ΡΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΏΠ° GSP (GPU System Processor) Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ vGPU. ΠΠΎΠ±Π°Π²Π»Π΅Π½ API Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ. - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ Tyr, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Ρ GPU ARM Mali, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Mali CSF, Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ GPU ΠΈ Π·Π°ΠΏΡΡΠΊΠ° MCU.
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ msm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU Adreno Shikra (A704) ΠΈ Eliza (722).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠΎΠ²ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ASoC: Pioneer DJ DJM-S11,
AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Steam Controller (ΠΌΠΎΠ΄Π΅Π»Ρ 2026 Π³ΠΎΠ΄Π°); ΠΌΡΡΠ΅ΠΉ Logitech G502 X Plus ΠΈ G502 X Lightspeed,; ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ Endorfy Thock TKL, Zenbook A16; Π³Π°ΡΠ½ΠΈΡΡΡ Nova 5X, Nova 7 ΠΈ Arctis 7; ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ»Ρ Turtle Beach VelocityOne Race; Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π° MSI Claw.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ASUS VivoBook M515DA/X515DAP,
LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx ΠΈ HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
ThinkPad X1 Carbon 6th, HP ProBook 440 G5, Acer Aspire A515-57. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ², ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ² ΠΈ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ²: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini ΠΈ Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM-ΠΏΠ»Π°Ρ ΠΈ SoC Samsung Exynos 1580 (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ»Π°Π³ΠΌΠ°Π½ΡΠΊΠΈΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ Ρ 2024 Π³ΠΎΠ΄Π°), Orange Pi 5 pro, Sophgo SG2000 (Π³ΠΈΠ±ΡΠΈΠ΄ Arm/RISC-V), BeagleBadge, Qualcomm Β«ShikraΒ» ΠΈ Β«AlteraΒ» (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM ΠΈ ΠΏΠ»Π°ΡΡ Sonata/Symphony Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π€ΠΎΠ½Π΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»
Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° 7.3 β Linux-libre 7.3-gnu, ΠΎΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ. Π Π²ΡΠΏΡΡΠΊΠ΅ 7.3 ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΠΎΡ Π±Π»ΠΎΠ±ΠΎΠ² Π½ΠΎΠ²ΡΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ GPU Mali Tyr, Morse Micro mm81x wi-fi, NXP wi-fi, ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΊΠ°ΡΡ Π½Π° ΡΠΈΠΏΠ°Ρ
Realtek. ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΊΠΎΠ΄ ΡΠΈΡΡΠΊΠΈ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
nova-core, amdgpu, adreno, tegra, iris, rtw89 ΠΈ mt76 wifi, Qualcomm Q6V5 PAS, qla2xxx scsi ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΡ
ΠΊΠΎΠ΄Π΅ΠΊΠ°Ρ
aw88399. ΠΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΠΈΠΌΡΠ½ blob-ΠΎΠ² Π² dts-ΡΠ°ΠΉΠ»Π°Ρ
(devicetree) Π΄Π»Ρ ARM-ΡΠΈΠΏΠΎΠ² Qualcomm.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
