Π Π΅Π»ΠΈΠ· ядра Linux 5.12

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.12. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств Π² Btrfs, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для Π€Π‘, чистка ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ARM-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, Ρ€Π΅ΠΆΠΈΠΌ «Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²ΠΎΠΉ» записи Π² NFS, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ LOOKUP_CACHED для опрСдСлСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ· кэша, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… инструкций Π² BPF, отладочная систСма KFENCE для выявлСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ядра Ρ€Π΅ΠΆΠΈΠΌ NAPI poll-ΠΈΠ½Π³Π° Π² сСтСвом стСкС, Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ACRN, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Π½Π° Π»Π΅Ρ‚Ρƒ preempt-ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LTO-ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ сборкС Π² Clang.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 14170 (Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ выпускС 15480) исправлСний ΠΎΡ‚ 1946 (1991) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 38 Мб (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 12102 (12090) Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 538599 (868025) строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 333377 (261456) строк). Около 43% всСх прСдставлСнных Π² 5.12 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 17% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 12% связано с сСтСвым стСком, 5% — с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 4% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для смонтированных Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ‡ΡƒΠΆΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ систСмС). Маппинг поддСрТиваСтся для Π€Π‘ FAT, ext4 ΠΈ XFS. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ совмСстноС использованиС Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π² Ρ‚ΠΎΠΌ числС ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ пСрСносимых Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² systemd-homed, давая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свои домашниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° внСшниС носитСли ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, раскладка ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ совпадаСт. Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ являСтся организация прСдоставлСния совмСстного доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ с внСшнСго хоста, Π±Π΅Π· фактичСского измСнСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π€Π‘.
    • Π’ ядро приняты ΠΏΠ°Ρ‚Ρ‡ΠΈ LOOKUP_CACHED, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ опрСдСлСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° основС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² кэшС Π΄Π°Π½Π½Ρ‹Ρ…. Π Π΅ΠΆΠΈΠΌ LOOKUP_CACHED активируСтся Π² Π²Ρ‹Π·ΠΎΠ²Π΅ openat2() Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ„Π»Π°Π³Π° RESOLVE_CACHED, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· кэша, Π° Ссли ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обращСния ΠΊ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŽ, возвращаСтся ошибка EAGAIN.
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Btrfs Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств (устройства Π½Π° Тёстких ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисках ΠΈΠ»ΠΈ NVMe SSD, пространство для хранСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Π±ΠΈΡ‚ΠΎ Π½Π° Π·ΠΎΠ½Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ сСкторов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ допускаСтся лишь ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ всСй Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ²). Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Π»ΠΎΠΊΠΎΠ² с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ мСньшС страницы (subpage).
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ уровня сТатия. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° высокого уровня сТатия для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° LZ4. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция монтирования checkpoint_merge.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° новая ioctl-ΠΊΠΎΠΌΠ°Π½Π΄Π° FS_IOC_READ_VERITY_METADATA для чтСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ fs-verity.
    • Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ NFS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ «Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²ΠΎΠΉ» записи (writes=eager), ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи Π² Ρ„Π°ΠΉΠ» сразу ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π½Π° сСрвСр, минуя страничный кэш. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти, обСспСчиваСт ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ свободного мСста Π² Π€Π‘ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π’ CIFS (SMB) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ монтирования: acregmax для управлСния ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ acdirmax для управлСния ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².
    • Π’ XFS Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ²ΠΎΡ‚, ускорСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ fsync, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° growfs для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сокращСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π€Π‘.
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° подсистСма DTMP (Dynamic Thermal Power Management), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ динамичСски Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ энСргопотрСблСниС Ρ€Π°Π·Π½Ρ‹Ρ… устройств Π½Π° основС выставлСнных ΠΎΠ±Ρ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки ядра компилятором Clang с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° этапС связывания (LTO, Link Time Optimization). LTO-ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ состояния всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² процСссС сборки, Π² Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ условия Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…. НапримСр, ΠΏΡ€ΠΈ LTO для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ inlinΠ΅-Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, Π² исполняСмый Ρ„Π°ΠΉΠ» Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, осущСствляСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΈ общая оптимизация Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ†Π΅Π»ΠΎΠΌ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LTO ΠΏΠΎΠΊΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ x86 ΠΈ ARM64.
    • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² вытСснСния (PREEMPT) Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ Π½Π° этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (preempt=none/voluntary/full) ΠΈΠ»ΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· debugfs (/debug/sched_debug), Π² случаС указания ΠΏΡ€ΠΈ сборкС ядра настройки PREEMPT_DYNAMIC. Π Π°Π½Π΅Π΅ Ρ€Π΅ΠΆΠΈΠΌ вытСснСния ΠΌΠΎΠ³ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сборки. ИзмСнСниС позволяСт дистрибутивам ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ядра с Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ PREEMPT, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов Ρ†Π΅Π½ΠΎΠΉ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ пропускной способности, ΠΈ ΠΏΡ€ΠΈ нСобходимости ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΡ‹ PREEMPT_VOLUNTARY (ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов) ΠΈΠ»ΠΈ PREEMPT_NONE (обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ для сСрвСров).
    • Π’ подсистСму BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG ΠΈ BPF_CMPXCHG.
    • BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² стСкС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ смСщСниСм. НапримСр, Ссли Ρ€Π°Π½ΡŒΡˆΠ΅ для доступа ΠΊ массиву Π² стСкС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ постоянный индСкс элСмСнта, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° доступом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π³Ρ€Π°Π½ΠΈΡ† осущСствляСтся Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ BPF. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈΠ·-Π·Π° опасСния эксплуатации уязвимостСй, связанных со спСкулятивным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊ «Π³ΠΎΠ»Ρ‹ΠΌ» Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ трассировки (bare tracepoints), Π½Π΅ связанным с Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ событиями трассировки (для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ трассировки Π½Π΅ гарантируСтся сохранСниС ABI).
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠΈΠ½Ρ‹ CXL 2.0 (Compute Express Link), примСняСмой для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ высокоскоростного взаимодСйствия CPU с устройствами памяти (позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС устройства памяти ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠžΠ—Π£ ΠΈΠ»ΠΈ постоянной памяти, Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ данная ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±Ρ‹Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ памяти Π² CPU).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ nvmem для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ областСй памяти, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ нСдоступных для Linux (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, EEPROM-ΠΏΠ°ΠΌΡΡ‚ΡŒ, физичСски доступная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅, ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ).
    • Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмы профилирования «oprofile», которая Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ распространСния ΠΈ вытСснСна Π±ΠΎΠ»Π΅Π΅ соврСмСнным ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ perf.
    • Π’ интСрфСйсС асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° io_uring обСспСчСна интСграция с cgroup, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ использованиС памяти.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСм NUMA, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² kprobes ΠΈ uprobes.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования систСмного Π²Ρ‹Π·ΠΎΠ²Π° kcmp() нСзависимо ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСпков состояния процСссов (checkpoint/restore).
    • Π£Π΄Π°Π»Π΅Π½Ρ‹ макросы EXPORT_UNUSED_SYMBOL() ΠΈ EXPORT_SYMBOL_GPL_FUTURE(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ KFence (Kernel Electric Fence), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ послС освобоТдСния памяти. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° KASAN подсистСма KFence отличаСтся высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ расходами, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ошибки Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… систСмах ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° ACRN, написанного с оглядкой Π½Π° Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ для выполнСния Π·Π°Π΄Π°Ρ‡ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊ использованию Π² критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСмах. ACRN обСспСчиваСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (low latency) ΠΈ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΡƒΡŽ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ взаимодСйствии с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ виртуализация рСсурсов CPU, Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, сСтСвой подсистСмы, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ ΠΈ Π·Π²ΡƒΠΊΠΎΠΌ. ACRN ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для запуска Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π² элСктронных Π±Π»ΠΎΠΊΠ°Ρ… управлСния, ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½Ρ‹Ρ… панСлях, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… IoT-устройств ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ встраиваСмой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅. ACRN ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° гостСвых систСм — ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Service VM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для управлСния рСсурсами систСмы (CPU, ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ‚.ΠΏ.), ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ User VM, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Linux-дистрибутивы, Android ΠΈ Windows.
    • Π’ подсистСмС IMA (Integrity Measurement Architecture), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Ρ…ΡΡˆΠ΅ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ связанных с Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… самого ядра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для отслСТивания измСнСния ΠΏΡ€Π°Π²ΠΈΠ» SELinux.
    • Π’ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Π³ΠΈΠΏΠ΅Ρ€Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Xen ΠΈ ΠΈΡ… проброс Π² эмулятор, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Linux Π² качСствС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ окруТСния для Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Hyper-V. ΠšΠΎΡ€Π½Π΅Π²ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямой доступ ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ примСняСтся для запуска гостСвых систСм (Π°Π½Π°Π»ΠΎΠ³ Dom0 Π² Xen). Π”ΠΎ сих ΠΏΠΎΡ€ Hyper-V (Microsoft Hypervisor) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Linux лишь Π² гостСвых окруТСниях, Π½ΠΎ сам Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ управлялся ΠΈΠ· окруТСния Π½Π° Π±Π°Π·Π΅ Windows.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° inline-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ для ΠΊΠ°Ρ€Ρ‚ eMMC, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ накопитСля ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.
    • Из криптоподсистСмы ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΠΏΡ€ΠΆΠΊΠ° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ядрС Ρ…ΡΡˆΠ΅ΠΉ RIPE-MD 128/256/320 ΠΈ Tiger 128/160/192, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π° Salsa20, Π½Π° смСну ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΡˆΡ‘Π» Π°Π»Π³ΠΎΡ€Ρ‚ΠΈΠΌ ChaCha20. Алгоритм blake2 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ blake2s.
  • БСтСвая подсистСма
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выноса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° NAPI ΠΏΠΎΠ»ΠΈΠ½Π³Π° (polling) сСтСвых устройств Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ядра, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π”ΠΎ этого ΠΏΠΎΠ»ΠΈΠ½Π³ выполнялся Π² контСкстС softirq ΠΈ Π½Π΅ охватывался ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ Π·Π°Π΄Π°Ρ‡, Ρ‡Ρ‚ΠΎ затрудняло ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для достиТСния максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ядра позволяСт Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ»ΠΈΠ½Π³Π° ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ядрам CPU ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² sysfs ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ /sys/class/net/<iface>/threaded.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° интСграция Π² ядро MPTCP (MultiPath TCP), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ TCP-соСдинСния с доставкой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ нСскольким ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ сСтСвыС интСрфСйсы, привязанныС ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ IP-адрСсам. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ.
    • Π’ IGMPv3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° EHT (Explicit Host Tracking).
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² netfilter Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ владСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ для получСния эксклюзивного контроля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс мСТсСтСвого экрана ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ Π·Π° собой ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ² ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π½ΠΈΡ…).
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ· ΠΎΠ±ΠΈΡ…ΠΎΠ΄Π° ΠΈ находящихся Π±Π΅Π· сопровоТдСния ARM-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π£Π΄Π°Π»Ρ‘Π½ ΠΊΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ efm32, picoxcell, prima2, tango, u300, zx ΠΈ c6x, Π° Ρ‚Π°ΠΊΠΆΠ΅ связанных с Π½ΠΈΠΌΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdgpu Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ½Π° (OverDrive) ΠΊΠ°Ρ€Ρ‚ Π½Π° Π±Π°Π·Π΅ GPU Sienna Cichlid (Navi 22, Radeon RX 6xxx). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пиксСльного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° FP16 для DCE (display controller engine) с 8 ΠΏΠΎ 11 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. Для GPU Navy Flounder (Navi 21) ΠΈ APU Van Gogh Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сброса GPU.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915 для Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ i915.mitigations для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² изоляции ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для Ρ‡ΠΈΠΏΠΎΠ² начиная с Tiger Lake Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° VRR (Variable Rate Refresh), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ частоту обновлСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° для обСспСчСния плавности ΠΈ отсутствия Π·Π°Π·Ρ€Ρ‹Π²ΠΎΠ² Π²ΠΎ врСмя ΠΈΠ³Ρ€. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Intel Clear Color для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ точности Ρ†Π²Π΅Ρ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DP-HDMI 2.1. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния подсвСткой ΠΏΠ°Π½Π΅Π»Π΅ΠΉ eDP. Для GPU Gen9 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ LSPCON (Level Shifter and Protocol Converter) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HDR.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ nouveau Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU NVIDIA Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ GA100 (Ampere).
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ msm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Adreno 508, 509 ΠΈ 512, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ‡ΠΈΠΏΠ°Ρ… SDM (Snapdragon) 630, 636 ΠΈ 660.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s ΠΈ Pioneer DJM-750. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ подсистСмы Intel Alder Lake PCH-P. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ симуляции ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π°ΡƒΠ΄ΠΈΠΎΡ€Π°Π·ΡŠΠ΅ΠΌΠ° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… консолСй Nintendo 64, Π²Ρ‹ΠΏΡƒΡΠΊΠ°Π²ΡˆΠΈΡ…ΡΡ с 1996 ΠΏΠΎ 2003 Π³ΠΎΠ΄ (ΠΏΡ€ΠΎΡˆΠ»Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Linux для Nintendo 64 Π½Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΈ ΠΈΠΌΠ΅Π»ΠΈ статус Vaporware). Π’ качСствС ΠΌΠΎΡ‚ΠΈΠ²Π° создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° для ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, которая Π½Π΅ выпускаСтся ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Π»Π΅Ρ‚, называСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ эмуляторов ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ пСрСноса ΠΈΠ³Ρ€.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Sony PlayStation 5 DualSense.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARM-ΠΏΠ»Π°Ρ‚, устройств ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP ,Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° смартфонов Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ bcm-vk для ΠΏΠ»Π°Ρ‚-ускоритСлСй Broadcom VK (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PCIe-ΠΏΠ»Π°Ρ‚Ρ‹ Valkyrie ΠΈ Viper), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выноса Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π²ΡƒΠΊΠ°, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ дСйствий, связанных с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΠΏΡ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Lenovo IdeaPad с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ управлСния постоянной зарядкой ΠΈ подсвСткой ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π°ΠΊΠΆΠ΅ обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ACPI-профиля ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ThinkPad с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ управлСния Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ энСргопотрСблСния. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для HID-подсистСмы Lenovo ThinkPad X1 Tablet Gen 2.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ov5647 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ модуля с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ для Raspberry Pi.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RISC-V SoC FU740 ΠΈ ΠΏΠ»Π°Ρ‚ HiFive Unleashed. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для Ρ‡ΠΈΠΏΠ° Kendryte K210.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ