ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π»ΠΈΠ· ΡΠ΄ΡΠ° Linux 6.14. Π‘ΡΠ΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: Π΄ΡΠ°ΠΉΠ²Π΅Ρ ntsync c ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Windows NT, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ Π² Btrfs RAID1, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° reflink Π² XFS Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ realtime, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΠΊΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, dmem cgroup Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ GPU, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ io_uring Π² FUSE, Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π² NFS, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Device mapper, ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² Qualcomm Snapdragon 8 Elite, Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ NPU AMD.
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 12115 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 1984 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° β 39 ΠΠ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 10170 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 531586 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ΄Π°Π»Π΅Π½ΠΎ 235999 ΡΡΡΠΎΠΊ). Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π±ΡΠ»ΠΎ 14172 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 2086 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° β 46 ΠΠ. ΠΠΊΠΎΠ»ΠΎ 41% Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² 6.14 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 13% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, 14% ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 7% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 4% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° Π² ΡΠ΄ΡΠ΅ 6.14:
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Btrfs ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² RAID1. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π½Π΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (pid), Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ ΡΡΠΈ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ: Β«rotationΒ» (ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌ, ΡΠ΅ΠΆΠΈΠΌ Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ); Β«latencyΒ» (ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ ΡΡΡΡΠΎΠΌ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈ ΡΠ±ΠΎΡΡ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ); devid (ΡΡΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅). ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Β«/sys/fs/btrfs/<UUID>/read_policyΒ». Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Btrfs β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ioctl FS_IOC_READ_VERITY_METADATA.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π΅ΠΊΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅Π΅ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΌ ΠΊΡΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΠΎΠ³ΠΎ API ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (Direct I/O).
- Π fsnotify, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π€Π‘, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ FS_PRE_ACCESS, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Π°. Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Ρ.Π΅. ΡΠ΄ΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°. ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π° Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΡΠ» ΡΠ±ΠΎΠΉ β ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ FS_PRE_ACCESS ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ FUSE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΡΠΎΠΌ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ FUSE Π·Π° ΡΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΡΠΎΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ XFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° (rmap, reverse-mapping) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ (Β«realtime deviceΒ»). ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ rmap Π² XFS Π΄Π»Ρ realtime-ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ reflink, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΏΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΡΡΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±Π΅Π· ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Π VFS ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠ΅Π΅ Π½Π° 1.5% ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ readlink (Π² ΡΠ΅ΡΡΠ΅ Ρ /initrd.img Π² ext4). ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² Π€Π‘ ext4 ΠΈ tmpfs.
- Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ NFSv4.2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (mtime), Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ NFS-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ±ΡΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π NFS ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Β«LOCALIOΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ NFS Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ Ρ ΠΎΡΡΠ΅, Π΄Π»Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (Direct I/O).
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ NETFS, CIFS ΠΈ AFS (Andrew File System).
- Π Squashfs Π²ΠΊΠ»ΡΡΡΠ½ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ² Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΊΡΡ (SQUASHFS_FILE_DIRECT), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° read_page. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Squashfs.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ statx() ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»Π°Π³ STATX_DIO_READ_ALIGN, Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Bcachefs ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡ. ΠΡΠ±ΡΠ΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΠ΄ΡΡ ΠΎΡΠ½Π΅ΡΠ΅Π½Ρ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π€Π‘. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Bcachefs ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ; ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ (use after free); ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ c reflink-ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π² fsck; ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
- ΠΠΎΠ·Π²ΡΠ°ΡΡΠ½ ΠΌΠΎΠ΄ΡΠ»Ρ md-linear, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°Π½Π΅Π΅ Π±ΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΈ ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΠ΄ΡΠ° 6.8, Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΎΠ½ Π±ΡΠ» Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
- Π€Π°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ F2FS ΠΈ SQUASHFS ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΎΠ² ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (page folios).
- Π€Π°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ OCFS2 ΠΈ DLMFS ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ API ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ².
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ null_blk ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°ΡΡΠΈΠ±ΡΡ Β«rotationalΒ», Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ΅Π· configfs ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ Π½Π° Π±Π°Π·Π΅ Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΡ Π΄ΠΈΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ°.
- Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Device mapper ΠΈ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ dm-mirror, dm-io, dm-table, dm-linear, dm-stripe ΠΈ dm-raid1 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- ΠΠ°Π²Π΅ΡΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² ΡΠ΄ΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ntsync, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ /dev/ntsync ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² ΡΠ΄ΡΠ΅ Windows NT. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Windows-ΠΈΠ³Ρ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Wine. ΠΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ RPC Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ΄ΡΠ° Linux ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ NT ΠΏΠΎΠ²Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π² ΡΠ΄ΡΠ΅.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ cgroup DMEM Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ GPU. DMEM ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ cgroup Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ GPU, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ Π²Π»ΠΈΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°. ΠΠΎΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ GPU ΠΏΡΠΈ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΡΡΡ ΠΎΡΡΠ°ΠΆΡΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ GPU ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ CPU Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ cgroup.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ±ΡΠΎΡΠ° (flush) ΠΊΡΡΠ° TLB (Translation Lookaside Buffer), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡΠΎΠ².
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° MGLRU (Multi-Generational LRU), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ΅ΡΠ½ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ.
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Rust-for-Linux, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Rust Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rust Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Rust Π² ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΊ ΡΠ΄ΡΡ). ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠ΄ΡΠ° ΠΌΠ°ΠΊΡΠΎΡΠ° Β«derive(CoercePointee)Β», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΌΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Ρ trait-ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Rust-ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ PCI, ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Open Firmware, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠ΅Π³ ΠΡΠΎΠ°-Π₯Π°ΡΡΠΌΠ°Π½ (Greg Kroah-Hartman), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄ΡΠ° Linux, ΠΎΡ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π» ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠ°ΠΊ Β«ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° RustΒ».
- Π ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DWARF, Π° Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π°ΠΏΡΡΠΌΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π‘ΡΠ°ΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΆΠ΅ ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ΄ΡΠ΅, Π° Π²ΡΠ±ΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ.
- ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° Π»Π΅Π½ΠΈΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ (PREEMPT_LAZY, lazy preemption), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ (Β«full preemptionΒ») Π΄Π»Ρ realtime-Π·Π°Π΄Π°Ρ (RR/FIFO/DEADLINE), Π½ΠΎ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ Π·Π°Π΄Π°Ρ (SCHED_NORMAL) Π΄ΠΎ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΈΠΊΠ°.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Β«perfΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΡΠΈΠΊΠΎΠ² ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΡ Π΄ΠΎ 2048 ΡΠ΄Π΅Ρ CPU.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ sysctl-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° pid_max Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΡΠ½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (ID namespace). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ pid_max ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (PID) ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈ, Ρ.Π΅. ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΡΠ½ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½.
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° execveat Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ /proc ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΠΌΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π½Π΅ Π½ΠΎΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°.
- Π ΡΠΎΡΡΠ°Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΄ΡΠ° (Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ samples/vfs) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° mountinfo, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² statmount() ΠΈ listmount().
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ BPF ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ bpf_local_irq_save() ΠΈ bpf_local_irq_restore() Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ CPU. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ madvise() ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»Π°Π³ΠΎΠ² MADV_DONTNEED ΠΈ MADV_FREE ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π°Π΄ΡΠ΅ΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΏΡΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ.
- ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ OpenRISC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (rseq, restartable sequences), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΎΡΠΈΡΠ°ΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² CRC32 ΠΈ CRC-T10DIF, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ crypto ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
- Π ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΎ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² execveat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ AT_EXECVE_CHECK, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°, Π½ΠΎ c ΡΡΡΡΠΎΠΌ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΡ LSM-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ AT_EXECVE_CHECK ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ securebit-ΡΠ»Π°Π³ΠΈ SECBIT_EXEC_RESTRICT_FILE ΠΈ SECBIT_EXEC_DENY_INTERACTIVE, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π€Π»Π°Π³ SECBIT_EXEC_RESTRICT_FILE ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°ΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ AT_EXECVE_CHECK Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° ΡΠ»Π°Π³ SECBIT_EXEC_DENY_INTERACTIVE Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ, Π½ΠΎ ΠΈ ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° (Ρ.Π΅. Π·Π°ΠΏΡΠ΅Ρ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Β«./script.shΒ» Π½ΠΎ ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π² ΡΠΎΡΠΌΠ΅ Β«sh script.shΒ»).
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ x86 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΡΡΡΡΡΠΈΠΊΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· Ρ ΠΎΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° Π±Π°Π·Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° AMD SEV (Secure Encrypted Virtualization), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΎΡ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ.
- Π ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ°Π½Π΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° SELinux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° xperm-ΠΏΡΠ°Π²ΠΈΠ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ SELinux ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ioctl() ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ netlink.
- ΠΠ»Ρ Π·Π°Π²Π΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ SHA1 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ SHA512.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ VirtualBox Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM64.
- Π Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ΅ KVM ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Intel TDX (Trusted Domain Extensions) Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
- Π virtio_blk Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° RxRPC ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠ°Π΄ΡΠΎΠ² UDP Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
- ΠΠ»Ρ TCP Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° RACK-TLP Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ sysctl tcp_tw_reuse_delay, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΡΠ½ (network namespace) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ, Π²Π½ΠΎΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ TCP-ΡΠΎΠΊΠ΅ΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (PTP) Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠΊ Π½Π° ΡΡΠΎΠ²Π½ΡΡ PHY ΠΈ MAC.
- ΠΠ»Ρ IPsec ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ IP-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² β IP-TFS/AGGFRAG (IP Traffic Flow Security/Aggregation and Fragmentation Mode for Encapsulating Security Payload).
- Π ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅ (SO_PRIORITY) Π² ΡΠΎΡΠΌΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (cmsg β control messages). ΠΠ»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ SO_RCVPRIORITY, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΈ recvmsg() ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅ ΡΠΎΠΊΠ΅ΡΠ°.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdxdna Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² CPU AMD ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ NPU (Neural Processing Unit) Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ XDNA, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ. NPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ XDNA ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠΈΡΡ 7040 ΠΈ 8040 ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD Ryzen, ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΡΡ AMD Alveo V70 ΠΈ SoC AMD Versal.
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ i915 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½ΠΎΠ²ΡΡ GPU, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ±ΠΎΠ΅Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ HDMI, ΠΏΠΎΠ²ΡΡΠ΅Π½Π° Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΡΠ±ΡΠΎΡΠ° Π΄Π²ΠΈΠΆΠΊΠΎΠ² GPU Π½Π° Haswell ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ drm-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ (Direct Rendering Manager) Xe Π΄Π»Ρ GPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Intel Xe, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ Intel ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Arc ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Tiger Lake.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±ΡΡΠ΅ΡΠΎΠ² Ρ Π»ΠΎΠ³Π°ΠΌΠΈ GSP-RM ΡΠ΅ΡΠ΅Π· debugfs.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ AMDGPU ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° DRM panic, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π° ΡΠΌΠ΅ΡΡΠΈΒ» ΠΏΡΠΈ ΡΠ±ΠΎΡΡ . ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΡΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ Radeon RX 9000 Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RDNA4. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DCN 3.5, GG 9.5, IH 4.4, PSP 13.x, SMU 13.x, VCN 5.x, JPEG 5.x, GC 12.x, DC FAMS, RAS ΠΈ ISP.
- Π DRM-Π΄ΡΠ°ΠΉΠ²Π΅Ρ msm (GPU Qualcomm Adreno) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Qualcomm SM6150 (QCS615).
- Π DRM-Π΄ΡΠ°ΠΉΠ²Π΅Ρ panfrost Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SoC MediaTek MT8188 c GPU Mali-G57.
- Π DRM-Π΄ΡΠ°ΠΉΠ²Π΅Ρ vc4 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SoC Broadcom BCM2712 (Raspberry Pi 5).
- Π vfio-Π΄ΡΠ°ΠΉΠ²Π΅Ρ nvgrace-gpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² NVIDIA Grace Blackwell 200.
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΡΠ½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Intel THC (Touch Host Controller), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌΠΈ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ ΠΈ ΡΠ°ΡΠΏΠ°Π΄Π°ΠΌΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½ΠΎΡΡΠ±ΡΠΊΠ°Ρ . ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² Wacom Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ PCI. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² QH Electronics.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM-ΠΏΠ»Π°Ρ, SoC ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²: Qualcomm Snapdragon 8 Elite (SM8750), Qualcomm Snapdragon AR2 (SAR2130P), Qualcomm IQ6/IQ8, Snapdragon 425 (MSM8917), Samsung Exynos 9810, Blaize BLZP1600, Microchip SAMA7D65, Renesas R-Car V4H ES3.0, Renesas RZ/G3E. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SoC SpacemiT K1 Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V.
- Π Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ ALSA Π΄Π»Ρ MIDI 2.0 ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ API rawmidi ΠΈ sequencer. Π API Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΆΠ°ΡΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ASRC (Asynchronous Sample Rate Conversion).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ² Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE, TAS2781, Focusrite Scarlett 4th Gen 16i16, 18i16 ΠΈ 18i20. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ Π½Π°ΡΡΠ½ΠΈΠΊΠΎΠ² SteelSeries Arctis 9.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru