Na ostatniej konferencji Linux Plumbers 2019 Google
Gdy projekt będzie już gotowy, dostawcy zostaną poproszeni o dostarczenie podstawowego jądra opartego na głównym jądrze Linuksa. Komponenty do obsługi sprzętu będą dostarczane przez dostawców wyłącznie w postaci dodatkowych modułów jądra, bez nanoszenia poprawek na jądro. Moduły będą musiały być kompatybilne z głównym jądrem na poziomie przestrzeni nazw symboli jądra. Wszystkie zmiany wpływające na główny rdzeń zostaną przeniesione do wyższego szczebla. Aby zachować kompatybilność z zastrzeżonymi modułami w obrębie gałęzi LTS, proponuje się utrzymanie API i ABI jądra w stabilnej formie, co pozwoli zachować kompatybilność modułów z aktualizacjami dla każdej wspólnej gałęzi jądra.
W ciągu roku takie funkcje jak podsystem PSI (Pressure Stall Information) analizujący informacje o czasie oczekiwania na uzyskanie różnych zasobów (CPU, pamięć, I/O) oraz system pseudoplików BinderFS do komunikacji międzyprocesowej mechanizmy zostały przeniesione do głównego jądra Linuksa z edycji jądra Androida.Binder i energooszczędny harmonogram zadań EAS (Energy Aware Scheduling). W przyszłości planowane jest przeniesienie Androida ze specyficznego harmonogramu SchedTune do nowego podsystemu UtilClamp opracowanego w ARM, opartego na cgroups2 i standardowych mechanizmach jądra.
Przypomnijmy, że do tej pory jądro dla platformy Android przeszło kilka etapów przygotowań:
- W oparciu o główne jądra LTS (3.18, 4.4, 4.9 i 4.14) utworzono gałąź „Android Common Kernel”, do której przeniesiono poprawki specyficzne dla Androida (wcześniej rozmiar zmian sięgał kilku milionów linii, ale ostatnio zmiany zostały zredukowane do kilku tysięcy linii kodu).
- W oparciu o „Android Common Kernel” producenci chipów, tacy jak Qualcomm, utworzyli „SoC Kernel”, które zawierało dodatki do obsługi sprzętu.
- W oparciu o Jądro SoC producenci urządzeń stworzyli Jądro Urządzenia, które obejmowało zmiany związane z obsługą dodatkowego sprzętu, ekranów, kamer, systemów dźwiękowych itp.
Zasadniczo każde urządzenie miało własne jądro, którego nie można było używać na innych urządzeniach. Taki schemat znacznie komplikuje wdrażanie aktualizacji w celu wyeliminowania luk i przejścia na nowe gałęzie jądra. Na przykład najnowszy smartfon Pixel 4, wydany w październiku, jest dostarczany z jądrem Linuksa 4.14, wydanym dwa lata temu. Po części Google próbował uprościć konserwację, promując system
Źródło: opennet.ru