Vid den senaste Linux Plumbers 2019-konferensen, Google
När projektet är klart kommer leverantörer att uppmanas att tillhandahålla en baskärna baserad på Linux-huvudkärnan. Komponenter för hårdvarustöd kommer endast att tillhandahållas av leverantörer i form av ytterligare kärnmoduler, utan att installera patchar på kärnan. Moduler måste vara kompatibla med huvudkärnan på kärnsymbolens namnområdesnivå. Alla förändringar som påverkar huvudkärnan kommer att främjas till uppströms. För att upprätthålla kompatibilitet med proprietära moduler inom LTS-grenar, föreslås det att behålla kärn-API och ABI i en stabil form, vilket kommer att upprätthålla modulkompatibilitet med uppdateringar för varje gemensam kärngren.
Under loppet av ett år, funktioner som PSI (Pressure Stall Information) delsystem för att analysera information om väntetiden för att erhålla olika resurser (CPU, minne, I/O), och BinderFS pseudo-filsystem för interprocesskommunikation mekanism överfördes till Linux-huvudkärnan från Android-kärnutgåvan Binder och energieffektiv uppgiftsschemaläggare EAS (Energy Aware Scheduling). I framtiden planeras Android att överföras från den specifika SchedTune-schemaläggaren till det nya UtilClamp-undersystemet utvecklat i ARM, baserat på cgroups2 och standardkärnmekanismer.
Låt oss komma ihåg att tills nu har kärnan för Android-plattformen genomgått flera förberedelser:
- Baserat på de viktigaste LTS-kärnorna (3.18, 4.4, 4.9 och 4.14) skapades en gren av "Android Common Kernel", till vilken Android-specifika patchar överfördes (tidigare nådde storleken på ändringarna flera miljoner rader, men nyligen ändringarna har reducerats till flera tusen rader kod ).
- Baserat på "Android Common Kernel" bildade chiptillverkare som Qualcomm "SoC Kernel" som inkluderade tillägg för att stödja hårdvaran.
- Baserat på SoC-kärnan skapade enhetstillverkare Enhetskärnan, som inkluderade ändringar relaterade till stöd för ytterligare utrustning, skärmar, kameror, ljudsystem, etc.
I huvudsak hade varje enhet sin egen kärna, som inte kunde användas på andra enheter. Ett sådant schema komplicerar avsevärt implementeringen av uppdateringar för att eliminera sårbarheter och övergången till nya kärngrenar. Till exempel, den senaste Pixel 4-smarttelefonen, som släpptes i oktober, levereras med Linux-kärnan 4.14, som släpptes för två år sedan. Dels försökte Google förenkla underhållet genom att marknadsföra systemet
Källa: opennet.ru