ВСрсия Π½Π° ядрото Π½Π° Linux 5.1

Π‘Π»Π΅Π΄ Π΄Π²Π° мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Линус Ворвалдс ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΎ освобоТдаванС Π½Π° ядрото Linux 5.1. Π‘Ρ€Π΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ: Π½ΠΎΠ² интСрфСйс Π·Π° асинхронСн I/O io_uring, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° NVDIMM ΠΊΠ°Ρ‚ΠΎ RAM, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° сподСлСна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π² Nouveau, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎ наблюдСниС Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми Ρ‡Ρ€Π΅Π· fanotify, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Zstd компрСсия Π½ΠΈΠ²Π° Π² Btrfs, Π½ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° cpuidle TEO, внСдряванС Π½Π° систСмни извиквания Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° 2038, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ устройства Π·Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Π½Π΅ Π½Π° устройства Π±Π΅Π· initramfs, SafeSetID LSM ΠΌΠΎΠ΄ΡƒΠ», ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π½Π° ΠΆΠΈΠ²ΠΎ.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Дискова подсистСма, I/O ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми
    • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½ΠΎΠ² интСрфСйс Π·Π° асинхронСн I/O - io_uring, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° си Π·Π° I/O Π°Π½ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΈΠ»ΠΈ Π±Π΅Π· Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅. НСка си ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ прСдлоТСният ΠΏΠΎ-Ρ€Π°Π½ΠΎ асинхронСн I/O ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ β€žaioβ€œ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΡˆΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½ I/O, моТСшС Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ само Π² Ρ€Π΅ΠΆΠΈΠΌ O_DIRECT (Π±Π΅Π· Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅ ΠΈ заобикалянС Π½Π° кСша), имашС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π½Π° наличност Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.

      Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° API
      Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° io_uring сС ΠΎΠΏΠΈΡ‚Π°Ρ…Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈΡ‚Π΅ Π½Π° стария интСрфСйс Π½Π° aio. ΠΎΡ‚ производитСлност io_uring Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ SPDK ΠΈ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-Π½Π°ΠΏΡ€Π΅Π΄ ΠΎΡ‚ libaio ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ гласуванС. ΠŸΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° io_uring Π² ΠΊΡ€Π°ΠΉΠ½ΠΈ прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² потрСбитСлско пространство Π»ΠΈΠ±ΡƒΡ€ΠΈΠ½Π³, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя Ρ€Π°ΠΌΠΊΠ° Π½Π° високо Π½ΠΈΠ²ΠΎ Π²ΡŠΡ€Ρ…Ρƒ интСрфСйса Π½Π° ядрото;

    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° прослСдяванС Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ във FS fanotify() Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° прослСдяванС Π½Π° ситуации Π½Π° промяна Π½Π° супСрблок ΠΈ структура Π΄ΠΈΡ€Π΅Π½Ρ‚ (ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π·Π° създаванС, ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ ΠΈ прСмСстванС Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с мащабируСмостта, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ ΠΏΡ€ΠΈ създаванС Π½Π° рСкурсивно прослСдяванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° inotify (Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ…Π° ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΄Π° сС прослСдяват само Ρ‡Ρ€Π΅Π· inotify, Π½ΠΎ
      производитСлност Π² условия Π½Π° рСкурсивно прослСдяванС Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ оставя ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° сС ΠΆΠ΅Π»Π°Π΅). Π‘Π΅Π³Π° Ρ‚Π°ΠΊΡŠΠ² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‡Ρ€Π΅Π· fanotify;

    • Π’ΡŠΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Btrfs Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° пСрсонализиранС Π½Π° Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия Π·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° zstd, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС счита Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ компромис ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΡŠΡ€Π·Π°Ρ‚Π°, Π½ΠΎ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° lz4 ΠΈ Π±Π°Π²Π½Π°Ρ‚Π°, Π½ΠΎ Π΄ΠΎΠ±Ρ€Π° компрСсия xz. Подобно Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ бСшС възмоТно Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° zlib, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° опцията Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ β€ž-o compress=zstd:levelβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π° zstd. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° тСстванСто ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎ Π½ΠΈΠ²ΠΎ осигурява компрСсия Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ 2.658 ΠΏΡŠΡ‚ΠΈ със скорост Π½Π° компрСсиранС 438.47 MB/s, скорост Π½Π° дСкомпрСсия 910.51 MB/s ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ 780 MB, Π° максималното Π½ΠΈΠ²ΠΎ 15 осигурява 3.126 ΠΏΡŠΡ‚ΠΈ, Π½ΠΎ с компрСсия скорост 37.30 MB/s Π Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ 878.84 MB/s ΠΈ консумация Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ 2547 MB;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π½Π° устройството Π·Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Π½Π΅ Π½Π° устройства, Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° initramfs. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ с Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° ядрото, устройствата Π·Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Π½Π΅ Π½Π° устройства ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚ΠΎ дял с основната Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма. Π Π°Π·Π΄Π΅Π»ΡŠΡ‚ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ β€ždm-mod.createβ€œ. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π·Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Π½Π΅ Π½Π° устройства, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚: β€žcryptβ€œ, β€ždelayβ€œ, β€žlinearβ€œ, β€žsnapshot-originβ€œ ΠΈ β€žverityβ€œ;
    • Π€Π»Π°Π³ΡŠΡ‚ F2FS_NOCOW_FL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ към Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма F2FS, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° към Ρ„Π»Π°Ρˆ устройства, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис Π·Π° Π΄Π°Π΄Π΅Π½ Ρ„Π°ΠΉΠ»;
    • Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° ΠΎΡ‚ ядрото Exofs, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° ext2, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° OSD (Object-based Storage Device). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SCSI ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° устройства Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΡΡŠΡ‰ΠΎ Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π°;
  • Виртуализация ΠΈ сигурност
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция PR_SPEC_DISABLE_NOEXEC към prctl() Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° спСкулативното изпълнСниС Π½Π° инструкции Π·Π° избрания процСс. Нова опция Π²ΠΈ позволява сСлСктивно Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ спСкулативното изпълнСниС Π·Π° процСси, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Ρ‚Π°ΠΊΡƒΠ²Π°Π½ΠΈ ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠ° Π½Π° Spectre. Π—Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° exec();
    • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ LSM ΠΌΠΎΠ΄ΡƒΠ» SafeSetID, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π½Π° систСмнитС услуги Π΄Π° управляват сигурно ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π±Π΅Π· СскалиранС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ (CAP_SETUID) ΠΈ Π±Π΅Π· ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° root ΠΏΡ€Π°Π²Π°. ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ сС присвояват Ρ‡Ρ€Π΅Π· Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² securityfs въз основа Π½Π° бял списък с Π²Π°Π»ΠΈΠ΄Π½ΠΈ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ (във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° β€žUID1:UID2β€œ);
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° стСк Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° сигурност (LSM). Π’ΡŠΠ²Π΅Π΄Π΅Π½Π° Π΅ опцията Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ядрото "lsm", Π·Π° Π΄Π° сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΊΠΎΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ ΠΈ Π² какъв Ρ€Π΅Π΄;
    • Към подсистСмата Π·Π° ΠΎΠ΄ΠΈΡ‚ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅;
    • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° плъгина GCC structleak, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Ρ‚Π΅Ρ‡ΠΎΠ²Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Ρ сС инициализация Π½Π° всички ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² ΠΊΠΎΠ΄Π° Ρ‡Ρ€Π΅Π· Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ стСка;
  • ΠœΡ€Π΅ΠΆΠΎΠ²Π° подсистСма
    • Π—Π° Π³Π½Π΅Π·Π΄Π° изпълнСни Π½ΠΎΠ²Π° опция "SO_BINDTOIFINDEX", ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π°
      "SO_BINDTODEVICE", Π½ΠΎ Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ индСксния Π½ΠΎΠΌΠ΅Ρ€ Π½Π° мрСТовия интСрфСйс вмСсто ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° интСрфСйса;

    • Π‘Ρ‚Π΅ΠΊΡŠΡ‚ mac80211 Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° присвояванС Π½Π° мноТСство BSSID (MAC адрСси) Π½Π° Π΅Π΄Π½ΠΎ устройство. ΠšΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° производитСлността Π½Π° WiFi, ΡΡ‚Π΅ΠΊΡŠΡ‚ mac80211 Π΄ΠΎΠ±Π°Π²ΠΈ ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° Π΅Ρ„ΠΈΡ€Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° разпрСдСлянС Π½Π° Π΅Ρ„ΠΈΡ€Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСство станции (ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ, разпрСдСля ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ станции, вмСсто Π΄Π° разпрСдСля Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ всички станции);
    • Π”ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ "devlink Π·Π΄Ρ€Π°Π²Π΅β€œ, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя извСстия ΠΏΡ€ΠΈ възникванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с мрСТовия интСрфСйс;
  • ΠŸΠ°ΠΌΠ΅Ρ‚ ΠΈ систСмни услуги
    • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ сигурна доставка Π½Π° сигнал, която позволява ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PID. НапримСр, ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° kill ΠΌΠΎΠΆΠ΅ Π΄Π° възникнС ситуация, ΠΏΡ€ΠΈ която Π²Π΅Π΄Π½Π°Π³Π° слСд ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° сигнал цСлСвият PID ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС освободСн ΠΏΠΎΡ€Π°Π΄ΠΈ прСкратяванС Π½Π° процСса ΠΈ Π·Π°Π΅Ρ‚ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ процСс, Π° ΡΠΈΠ³Π½Π°Π»ΡŠΡ‚ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‰Π΅ бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ Π½Π° Π΄Ρ€ΡƒΠ³ процСс. Π—Π° Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ситуации, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎ систСмно ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ pidfd_send_signal, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ дСскриптори ΠΎΡ‚ /proc/pid, Π·Π° Π΄Π° осигури стабилно ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° процСса. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ PID сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° систСмно ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, файловият дСскриптор няма Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ бСзопасно Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° сигнал към процСса;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ‚ способността Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ устройства с постоянна ΠΏΠ°ΠΌΠ΅Ρ‚ (постоянна ΠΏΠ°ΠΌΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NVDIMM ΠΌΠΎΠ΄ΡƒΠ»ΠΈ) ΠΊΠ°Ρ‚ΠΎ RAM. ДосСга ядрото ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΡˆΠ΅ Ρ‚Π°ΠΊΠΈΠ²Π° устройства ΠΊΠ°Ρ‚ΠΎ устройства Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ сСга Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° RAM ΠΏΠ°ΠΌΠ΅Ρ‚. Ѐункцията Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° ТСланията Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ТСлаят Π΄Π° сС примирят със забавянС Π½Π° производитСлността ΠΈ искат Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ собствСния API Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ядрото Π½Π° Linux, вмСсто Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ систСми Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° потрСбитСлско пространство, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π²ΡŠΡ€Ρ…Ρƒ mmap Π·Π° dax Ρ„Π°ΠΉΠ»;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° ΠΏΡ€Π°Π·Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° процСсора (cpuidle, Ρ€Π΅ΡˆΠ°Π²Π° ΠΊΠΎΠ³Π° ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС поставСн Π² Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° дълбоко пСстСнС Π½Π° СнСргия; ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-дълбок Π΅ Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ са спСстяванията, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ°) - TEO (Ρ€Π΅Π³ΡƒΠ»Π°Ρ‚ΠΎΡ€, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ към ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π½Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ). ДосСга бяха ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π΄Π²Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° cpuidle - β€žΠΌΠ΅Π½ΡŽβ€œ ΠΈ β€žΡΡ‚ΡŠΠ»Π±Π°β€œ, ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΏΠΎ Свристика. ΠœΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° "ΠΌΠ΅Π½ΡŽΡ‚ΠΎ" ΠΈΠΌΠ° извСстни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π²Π·Π΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Свристични Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π·Π° отстраняванСто Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ Π½ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€. TEO сС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° "мСню", позволявайки ΠΏΠΎ-висока производитСлност, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° консумация Π½Π° СнСргия.
      ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ новия ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ β€žcpuidle.governor=teoβ€œ;

    • ΠšΠ°Ρ‚ΠΎ част ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΡ‚ 2038 Π³, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΎ ΠΎΡ‚ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° 32-Π±ΠΈΡ‚ΠΎΠ² Ρ‚ΠΈΠΏ time_t, Π²ΠΊΠ»ΡŽΡ‡Π²Π° систСмни извиквания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ 32-Π±ΠΈΡ‚ΠΎΠ²ΠΈ броячи Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π·Π° 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° 64-Π±ΠΈΡ‚ΠΎΠ²Π°Ρ‚Π° структура time_t Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° всички Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. Подобни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ са въвСдСни ΠΈ Π² ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° подсистСма Π·Π° ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠ»Π΅ΠΉΠΌΠΎΡ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈ;
    • Π’ систСмата Π·Π° Π³ΠΎΡ€Π΅Ρ‰ΠΈ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π·Π° ядрото (ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΆΠΈΠ²ΠΎ) Π΄ΠΎΠ±Π°Π²ΠΈ Ѐункция β€žAtomic Replaceβ€œ Π·Π° Π°Ρ‚ΠΎΠΌΠ½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ към Π΅Π΄Π½Π° функция. Π’Π°Π·ΠΈ функция Π²ΠΈ позволява Π΄Π° разпространяватС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ΠΈ няколко ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ навСднъТ, вмСсто процСса Π½Π° ΠΏΠΎΠ΅Ρ‚Π°ΠΏΠ½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΆΠΈΠ²ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅. Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ-Ρ€Π°Π½ΠΎ всяка слСдваща промяна Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС основава Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° функцията слСд послСдната промяна, сСга Π΅ възмоТно Π΄Π° сС разпространяват няколко ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π΅Π΄Π½ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ навСднъТ (Ρ‚.Π΅. ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΅Π΄Π½Π° консолидирана корСкция спрямо основното ядро ​​вмСсто Ρ‚ΠΎΠ²Π° Π½Π° Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ ΠΏΠ°Ρ‡ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ зависят Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³);
    • ОбявСни остаряла ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° изпълним Ρ„Π°ΠΉΠ» a.out ΠΈ
      отстранСни ΠΊΠΎΠ΄ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° основни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ a.out, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π² изоставСно ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ a.out Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Linux систСми ΠΎΡ‚ дълго Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° a.out Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΡ‚ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ инструмСнти Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Linux ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ‡ΡŠΡ‚ Π·Π° a.out Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²Π½Π΅Π΄Ρ€Π΅Π½ изцяло Π² потрСбитСлското пространство;

    • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠΎΠ΄ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° BPF. Π―Π΄Ρ€ΠΎΡ‚ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° spinlock Π·Π° BPF подсистСмата, прСдоставяйки Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° BPF ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ;
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Nouveau Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π½Π° CPU ΠΈ GPU Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΎΠ±Ρ‰ΠΈ синхронизирани области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. БистСмата Π·Π° сподСлСна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ (SVM, сподСлСна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚) Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° подсистСмата HMM (Heterogeneous memory management), която позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° устройства със собствСни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° (MMU, memory management unit), ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π“Π»Π°Π²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. По-спСциално, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ HMM, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ сподСлСно адрСсно пространство ΠΌΠ΅ΠΆΠ΄Ρƒ GPU ΠΈ CPU, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ GPU ΠΈΠΌΠ° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основната ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° процСса. ΠŸΠΎΠ½Π°ΡΡ‚ΠΎΡΡ‰Π΅ΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SVM Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° само Π·Π° GPU ΠΎΡ‚ сСмСйство Pascal, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ сС прСдоставя ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ Π·Π° GPU Volta ΠΈ Turing. ОсвСн Ρ‚ΠΎΠ²Π°, Π² Nouveau Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ² ioctl Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° миграцията Π½Π° области ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° процСса към ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° GPU;
    • Π’ Intel DRM Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° GPU Skylake ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π° вСрсия (gen9+) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ Π·Π° Π±ΡŠΡ€Π·ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° устройства, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅ Π½Π° Coffelake ΠΈ Ice Lake. Π—Π° чипс Coffelake Π΄ΠΎΠ±Π°Π²ΠΈ GVT ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (GPU виртуализация). Π—Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори изпълнСни VFIO EDID ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°. Π—Π° LCD ΠΏΠ°Π½Π΅Π»ΠΈ MIPI/DSI Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ACPI/PMIC Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π½ΠΎΠ²ΠΈ Π’Π’ Ρ€Π΅ΠΆΠΈΠΌΠΈ 1080p30/50/60 Π’Π’;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Vega10/20 BACO GPU към amdgpu Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ Vega 10/20 ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° ΠΎΡ…Π»Π°ΠΆΠ΄Π°Π½Π΅ Vega 10. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° PCI устройства Π·Π° Picasso GPU. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ интСрфСйс Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈ зависимости Π·Π° избягванС Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ DRM/KMS Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° Π΅ΠΊΡ€Π°Π½Π½ΠΈ ускоритСли АРМ КомСда (Мали D71);
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΅ΠΊΡ€Π°Π½Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ΠΈ Kingdisplay kd097d04;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅Ρ†ΠΈ Rockchip RK3328, Cirrus Logic CS4341 ΠΈ CS35L36, MediaTek MT6358, Qualcomm WCD9335 ΠΈ Ingenic JZ4725B, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Mediatek MT8183;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° NAND ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ Flash STMicroelectronics FMC2, Amlogic Meson;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ускоритСл Π·Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ систСми Habana AI;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π³ΠΈΠ³Π°Π±ΠΈΡ‚ΠΎΠ²ΠΈ Ethernet ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ NXP ENETC ΠΈ Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ интСрфСйси MediaTek MT7603E (PCIe) ΠΈ MT76x8.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ латиноамСриканската фондация Π·Π° свободСн софтуСр ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ΠΈ
Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ напълно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ ядро ​​5.1 - Linux-libre 5.1-gnu, изчистСни ΠΎΡ‚ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ нСсвободни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ сСкции, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΎΠ±Ρ…Π²Π°Ρ‚ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΡ‚ производитСля. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ‚Π½Π° Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ mt7603 ΠΈ goya. Актуализиран ΠΊΠΎΠ΄ Π·Π° почистванС Π½Π° ΠΏΠ΅Ρ‚Π½Π° Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ ΠΈ подсистСми wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk ΠΈ touchscreen_dmi. ΠŸΠΎΡ‡ΠΈΡΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ‚Π½Π° Π² зарСТдащия софтуСр Π½Π° lantiq xrx200 Π΅ спряно ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ ΠΎΡ‚ ядрото.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€