ИзданиС Π½Π° ядро Linux 5.1

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

Основни нововъвСдСния:

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

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

    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° прослСдяванС Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма fanotify() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° прослСдяванС Π½Π° ситуации Π½Π° промяна Π½Π° супСрблока ΠΈ структурата dirent (ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΎΡ‚ създаванС, ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ ΠΈ прСмСстванС Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с мащабируСмост, ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСкурсивни прослСдявания Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° inotify (ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² dirent ΠΏΡ€Π΅Π΄ΠΈ моТСшС Π΄Π° сС прослСдват само Ρ‡Ρ€Π΅Π· inotify, Π½ΠΎ
      СфСктивността ΠΏΡ€ΠΈ условия Π½Π° рСкурсивно прослСдяванС Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡΡ‚Π°Π²ΡΡˆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° сС ΠΆΠ΅Π»Π°Π΅). Π‘Π΅Π³Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ наблюдСниС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ‡Ρ€Π΅Π· fanotify;
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Btrfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° настройка Π½Π° Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия Π·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° zstd, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС счита Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ компромис ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΡŠΡ€Π·ΠΈΡ, Π½ΠΎ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ lz4 ΠΈ бавния, Π½ΠΎ Π΄ΠΎΠ±Ρ€Π΅ компрСсиращ xz. Подобно Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎ-Ρ€Π°Π½ΠΎ моТСшС Π΄Π° сС Π·Π°Π΄Π°Π²Π° Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° zlib Π·Π° zstd, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° опция Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Β«-o compress=zstd:levelΒ». ΠŸΡ€ΠΈ тСстванС минималният ΠΏΡŠΡ€Π²ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ осигури компрСсия Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ 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;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π½Π° устройство device-mapper, Π±Π΅Π· ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° initramfs. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° ядрото, устройството device-mapper ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ‚ΠΎ дял с ΠΊΠΎΡ€Π΅Π½ΠΎΠ²Π°Ρ‚Π° Π€Π‘. Настройката Π½Π° дяла сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° зарСТдащия ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Β«dm-mod.createΒ». Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° device-mapper са: Β«cryptΒ», Β«delayΒ», Β«linearΒ», Β«snapshot-originΒ» ΠΈ Β«verityΒ»;
    • Π’ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π°Ρ‚Π° към Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма F2FS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Ρ„Π»Π°Π³ F2FS_NOCOW_FL, позволяващ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° copy-on-write Π·Π° Π·Π°Π΄Π°Π΄Π΅Π½ Ρ„Π°ΠΉΠ»;
    • ΠžΡ‚ ядрото Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Exofs, прСдставляваща Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° ext2, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ устройства Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ OSD (Object-based Storage Device). ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° Π΅ ΡΡŠΡ‰ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SCSI ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ устройства Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ;
  • Виртуализация ΠΈ бСзопасност
    • Π’ prctl() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опция PR_SPEC_DISABLE_NOEXEC Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° спСкулативното изпълнСниС Π½Π° инструкции Π·Π° избрания процСс. Новата опция позволява сСлСктивно Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° спСкулативното изпълнСниС Π·Π° процСси, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Ρ‚Π°ΠΊΡƒΠ²Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· Spectre Π°Ρ‚Π°ΠΊΠ°. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ‚Π° дСйства Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° exec();
    • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ LSM-ΠΌΠΎΠ΄ΡƒΠ» SafeSetID, позволяващ Π½Π° систСмнитС услуги бСзопасно Π΄Π° управляват ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π±Π΅Π· повишаванС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ (CAP_SETUID) ΠΈ Π±Π΅Π· ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° правомощията Π½Π° потрСбитСля root. НазначаванСто Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‡Ρ€Π΅Π· опрСдСлянС Π² securityfs ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° бял списък Π½Π° допустимитС Π²Ρ€ΡŠΠ·ΠΊΠΈ (във Ρ„ΠΎΡ€ΠΌΠ° Β«UID1:UID2Β»);
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ниско Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° стСка Π½Π° организацията Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π·Π° сигурност (LSM). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ядрото "lsm", ΠΊΠΎΠΉΡ‚ΠΎ позволява ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ ΠΈ Π² какъв Ρ€Π΅Π΄;
    • Π’ подсистСмата Π·Π° ΠΎΠ΄ΠΈΡ‚ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ пространства ΠΈΠΌΠ΅Π½Π°;
    • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° GCC плъгина structleak, ΠΊΠΎΠΉΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ изтичания Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ инициализация Π½Π° всякакви ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² ΠΊΠΎΠ΄Π° Ρ‡Ρ€Π΅Π· Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π² стСка;
  • ΠœΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° подсистСма
    • Π—Π° сокСтитС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½ΠΎΠ²Π° опция "SO_BINDTOIFINDEX", ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π°
      "SO_BINDTODEVICE", Π½ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‰Π° индСксния Π½ΠΎΠΌΠ΅Ρ€ Π½Π° мрСТовия интСрфСйс вмСсто ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° интСрфСйса;
    • Π’ стСка mac80211 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π½Π°Π·Π½Π°Ρ‡Π°Π²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎ устройство с няколко BSSID (MAC адрСса). Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° производитСлността Π½Π° WiFi Π² стСка mac80211 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²ΡŠΠ·Π΄ΡƒΡˆΠ½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡŠΠ·Π΄ΡƒΡˆΠ½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ няколко станции (ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ, прСдоставяйки ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ станции вмСсто Ρ€Π°Π²Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ всички станции);
    • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ "devlink health", ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя извСстия ΠΏΡ€ΠΈ възникванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с мрСТовия интСрфСйс;
  • ΠŸΠ°ΠΌΠ΅Ρ‚ ΠΈ систСмни услуги
    • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° бСзопасна доставка Π½Π° сигнали, която Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PID. НапримСр, ΠΏΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ kill ΠΏΡ€Π΅Π΄ΠΈ Π΅ ΠΌΠΎΠ³Π»Π° Π΄Π° възникнС ситуация, ΠΏΡ€ΠΈ която Π²Π΅Π΄Π½Π°Π³Π° слСд ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° сигнала, цСлСвият PID Π΅ могъл Π΄Π° бъдС освободСн ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° процСса ΠΈ Π·Π°Π΅Ρ‚ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ процСс, ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΡΠΈΠ³Π½Π°Π»ΡŠΡ‚ Π΅ Π±ΠΈΠ» ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ Π½Π° Π΄Ρ€ΡƒΠ³ процСс. Π—Π° избягванС Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ситуации Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² систСмСн ΠΏΠΎΠ²ΠΈΠΊ pidfd_send_signal, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ дСскриптори ΠΎΡ‚ /proc/pid Π·Π° осигуряванС Π½Π° стабилно ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с процСса. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ PID бъдС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° систСмния ΠΏΠΎΠ²ΠΈΠΊ, файловият дСскриптор няма Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ бСзопасно Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° сигнал Π½Π° процСса;
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° устройства с ΠΏΠ΅Ρ€ΠΌΠ°Π½Π΅Π½Ρ‚Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ (persistent-memory, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NVDIMM) ΠΊΠ°Ρ‚ΠΎ RAM. ДосСга ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ устройства сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ…Π° Π² ядрото ΠΊΠ°Ρ‚ΠΎ устройства Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ сСга Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. Π’Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° ТСланията Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° сС справят с производитСлността ΠΈ ΠΆΠ΅Π»Π°Π΅Ρ‰ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ стандартния API Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² ядрото Π½Π° Linux, вмСсто Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ систСми Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² потрСбитСлското пространство, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π²ΡŠΡ€Ρ…Ρƒ mmap Π·Π° dax-Ρ„Π°ΠΉΠ»Π°;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° бСздСйствиС Π½Π° CPU (cpuidle, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° ΠΊΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ Π² дълбоки Ρ€Π΅ΠΆΠΈΠΌΠΈ Π½Π° икономия Π½Π° СнСргия, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-дълбок Π΅ Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ β€” Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-голяма Π΅ икономията, Π½ΠΎ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ°) β€” TEO (Π’Π°ΠΉΠΌΠ΅Ρ€ΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ към ΡΡŠΠ±ΠΈΡ‚ΠΈΡ). ДосСга бяха ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ Π΄Π²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° cpuidle β€” β€žmenuβ€œ ΠΈ β€žladderβ€œ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π°Ρ…Π° с хСвристиката си. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€žmenuβ€œ ΠΈΠΌΠ° извСстни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π²Π·Π΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° хСвристични Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ Π½ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. TEO сС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€žmenuβ€œ, която позволява постиганСто Π½Π° ΠΏΠΎ-висока производитСлност ΠΏΡ€ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΅Π½Π΅Ρ€Π³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅.
      Новият ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ β€žcpuidle.governor=teoβ€œ;
    • Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡ‚ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΡ‚ ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° 32-битовия Ρ‚ΠΈΠΏ time_t, Π²Π»Π΅Π·Π»ΠΈ Π² ΡΡŠΡΡ‚Π°Π²Π° систСмни повиквания, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ Π·Π° 32-Π±ΠΈΡ‚ΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° 64-Π±ΠΈΡ‚ΠΎΠ²Π°Ρ‚Π° структура time_t сСга ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π½Π° всички Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. Аналогични ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΡΡŠΡ‰ΠΎ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π² ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° подсистСма Π·Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ timestamp Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ сокСти;
    • ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π°Ρ‚Π° систСма Π·Π° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ (live patching) Π½Π° ядрото Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ β€žAtomic Replaceβ€œ Π·Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° сСрия ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ към Π΅Π΄Π½Π° функция. ΠŸΠΎΡΠΎΡ‡Π΅Π½Π°Ρ‚Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ позволява разпространСниСто Π½Π° ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π°Ρ‰ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ΠΈ Π²Π΅Π΄Π½Π°Π³Π° няколко ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, вмСсто Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ слоТния Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ процСс Π½Π° ΠΏΠΎΠ΅Ρ‚Π°ΠΏΠ½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° live-ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄. Ако ΠΏΡ€Π΅Π΄ΠΈ всяка слСдваща промяна Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС основава Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° функцията слСд послСдната промяна, сСга Π΅ възмоТно разпространСниСто Π½Π° Π²Π΅Π΄Π½Π°Π³Π° няколко ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π΅Π΄Π½ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ (Ρ‚.Π΅. ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π°Ρ‰ ΠΏΠ°Ρ‡ относно Π±Π°Π·ΠΎΠ²ΠΎΡ‚ΠΎ ядро вмСсто Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ взаимозависими ΠΏΠ°Ρ‡ΠΎΠ²Π΅);
    • ОбявСна остаряла ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ Π·Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ a.out ΠΈ
      ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΊΠΎΠ΄ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° core-Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ a.out, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π² Π·Π°Π±Ρ€Π°Π²Π°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ a.out ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² систСми с Linux, Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° a.out Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΡ‚ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ инструмСнтални срСдства Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° Linux ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΡŠΡ‚ Π·Π° a.out Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС изцяло Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π² пространството Π½Π° потрСбитСля;
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° вСрификация Π½Π° BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° опрСдСлянС ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠΎΠ΄. Π’ ΡΡŠΡΡ‚Π°Π²Π° Π½Π° ядрото ΡΡŠΡ‰ΠΎ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° spinlock Π·Π° подсистСмата BPF, прСдоставящи Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ;
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Nouveau Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, осигуряващо Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° CPU ΠΈ GPU Π΄ΠΎ ΠΎΠ±Ρ‰ΠΈ синхронизирани области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. БистСмата Π·Π° сподСлСна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ (SVM, shared virtual memory) Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° подсистСмата HMM (Heterogeneous memory management), позволяваща ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° устройства със собствСни Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° (MMU, memory management unit), ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основната ΠΏΠ°ΠΌΠ΅Ρ‚. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ с HMM ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎ адрСсно пространство ΠΌΠ΅ΠΆΠ΄Ρƒ GPU ΠΈ CPU, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ GPU ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основната ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° процСса. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SVM Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° само Π·Π° GPU ΠΎΡ‚ сСмСйството Pascal, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π΅ осигурСна ΠΈ Π·Π° GPU Volta ΠΈ Turing. ОсвСн Ρ‚ΠΎΠ²Π°, Π² Nouveau Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ioctl Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° миграцията Π½Π° области ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° процСситС Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° GPU;
    • Π’ DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° Intel Π·Π° GPU Skylake ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ (gen9+) Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ€Π΅ΠΆΠΈΠΌ fastboot, ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ излишни смСни Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° устройства, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Coffelake ΠΈ Ice Lake. Π—Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Coffelake Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° GVT (виртуализация Π½Π° GPU). Π—Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ GPU Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° VFIO EDID. Π—Π° LCD ΠΏΠ°Π½Π΅Π»ΠΈ MIPI/DSI Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ACPI/PMIC. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π½ΠΎΠ²ΠΈ TV Ρ€Π΅ΠΆΠΈΠΌΠΈ 1080p30/50/60 TV;
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° amdgpu Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° GPU Vega10/20 BACO. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са срСдства Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Vega 10/20 ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅Π½Ρ‚ΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° Vega 10. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ PCI ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° устройства Π·Π° GPU Picasso. Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ интСрфСйс Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ зависимости Π·Π° избягванС Π½Π° Π²Π·Π°ΠΈΠΌΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ;
    • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ DRM/KMS Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° ускоритСли Π½Π° Π΅ΠΊΡ€Π°Π½Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ARM Komeda (Mali 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster