ΠΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Linux Plumbers 2019 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Google
ΠΠΎΡΠ»Π΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΡΠ΄ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° Linux. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°, Π±Π΅Π· Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΄ΡΠΎ ΠΏΠ°ΡΡΠ΅ΠΉ. Π ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ΄ΡΠΎΠΌ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ΄ΡΠ°. ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² upstream. ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ LTS-Π²Π΅ΡΠΎΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ API ΠΈ ABI ΡΠ΄ΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄ΡΠ°.
![Google ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° Linux Π² Android](/wp-content/uploads/2019/11/18f8a41befddc7d81c07b9c6d1bf44c2.jpeg)
ΠΠ° Π³ΠΎΠ΄ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ Linux ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΡΠ΄ΡΠ° Π΄Π»Ρ Android Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° PSI (Pressure Stall Information) Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² (CPU, ΠΏΠ°ΠΌΡΡΡ, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄), ΠΏΡΠ΅Π²Π΄ΠΎΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° BinderFS Π΄Π»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Binder ΠΈ ΡΠ½Π΅ΡΠ³ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Ρ EAS (Energy Aware Scheduling). Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Android ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° SchedTune Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π² ARM Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ UtilClamp, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° cgroups2 ΠΈ ΡΡΠ°ΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ ΡΠ΄ΡΠ°.
![Google ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° Linux Π² Android](/wp-content/uploads/2019/11/2db4ca76f6a87b2ad28a7510a4deb79c.jpeg)
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠ΄ΡΠΎ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 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](/wp-content/uploads/2019/11/3a7d495f71eaef927e79912ca62776d8.jpeg)
ΠΠΎ ΡΡΡΠΈ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
. ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΡ
Π΅ΠΌΠ° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ΄ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ΅Π΄ΡΠΈΠΉ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ Π½ΠΎΠ²Π΅ΠΉΡΠΈΠΉ ΡΠΌΠ°ΡΡΡΠΎΠ½ Pixel 4 ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ΄ΡΠΎΠΌ Linux 4.14, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΌ Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄. Π§Π°ΡΡΠΈΡΠ½ΠΎ, Google ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru