Google Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ использованиСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ядра Linux Π² Android

На ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΉ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Linux Plumbers 2019 компания Google рассказала ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΏΠΎ пСрСносу Π² основноС ядро Linux ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ядра для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ являСтся прСдоставлСниС возмоТности использования Π² Android ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ядра, вмСсто ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сборок Π½Π° основС спСцифичной для Android Π²Π΅Ρ‚ΠΊΠΈ Android Common Kernel. Данная Ρ†Π΅Π»ΡŒ ΡƒΠΆΠ΅ частично достигнута, ΠΈ Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π±Ρ‹Π» продСмонстрирован Android-смартфон Xiaomi Poco F1 с ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ Π½Π° Π±Π°Π·Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ядра Linux.

ПослС готовности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° поставщикам Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ядро Π½Π° основС основного ядра Linux. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ оборудования Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ поставщиками Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра, Π±Π΅Π· налоТСния Π½Π° ядро ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ. Π’ модулях ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с основным ядром Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ пространства ΠΈΠΌΡ‘Π½ символов ядра. ВсС измСнСния, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ основноС ядро, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π² upstream. Для сохранСния совмСстимости с ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΌΠΈ модулями Π² Ρ€Π°ΠΌΠΊΠ°Ρ… LTS-Π²Π΅Ρ‚ΠΎΠΊ прСдлагаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ API ΠΈ ABI ядра, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с обновлСниями для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ядра.

Google Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ использованиСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ядра Linux Π² Android

Π—Π° Π³ΠΎΠ΄ Π² основноС ядро Linux ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ядра для Android Π±Ρ‹Π»ΠΈ пСрСнСсСны Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ подсистСма PSI (Pressure Stall Information) для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания получСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСсурсов (CPU, ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄), псСвдофайловая систСма BinderFS для ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° мСТпроцСссного взаимодСйствия Binder ΠΈ энСргоэффСктивный ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡ EAS (Energy Aware Scheduling). Π’ дальнСйшСм Android планируСтся пСрСвСсти со спСцифичного ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° SchedTune Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ Π² ARM Π½ΠΎΠ²ΡƒΡŽ подсистСму UtilClamp, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° cgroups2 ΠΈ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ… ядра.

Google Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ использованиСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ядра Linux Π² Android

Напомним, Ρ‡Ρ‚ΠΎ Π΄ΠΎ сих ΠΏΠΎΡ€ ядро для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΎ нСсколько стадий ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ:

  • На Π±Π°Π·Π΅ основных LTS-ядСр (3.18, 4.4, 4.9 ΠΈ 4.14) создавалось ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ «Android Common Kernel», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠ»ΠΈΡΡŒ спСцифичныС для Android ΠΏΠ°Ρ‚Ρ‡ΠΈ (Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ достигал Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Π½ΠΎ послСднСС врСмя измСнСния Π±Ρ‹Π»ΠΈ сокращСны Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тысяч строк ΠΊΠΎΠ΄Π°).
  • На основС «Android Common Kernel» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Ρ‡ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Qualcomm, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ «SoC Kernel», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ дополнСния для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ оборудования.
  • На основС «SoC Kernel» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ устройств создавали «Device Kernel», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ измСнСния, связанныС с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования, экранов, ΠΊΠ°ΠΌΠ΅Ρ€, Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… систСм ΠΈ Ρ‚.ΠΏ.

Google Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ использованиСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ядра Linux Π² Android

По сути, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ своё собствСнноС ядро, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… устройствах. Подобная схСма сущСствСнно услоТняСт Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ с устранСниСм уязвимостСй ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ядра. НапримСр, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΠΉ Π² октябрС новСйший смартфон Pixel 4 поставляСтся с ядром Linux 4.14, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄. Частично, Google попытался ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ сопровоТдСниС продвигая систСму Treble, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ производитСлям ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ оборудования, Π½Π΅ привязанныС ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ вСрсиям Android ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ выпускам ядра Linux. Treble Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС основы ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ обновлСния ΠΎΡ‚ Google, интСгрируя Π² Π½ΠΈΡ… спСцифичныС для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ устройства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.


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