Azken Linux Plumbers 2019 konferentzian, Google
Proiektua prest dagoenean, saltzaileek Linux nukleo nagusian oinarritutako oinarrizko kernel bat hornitzeko eskatuko zaie. Hardwarearen euskarriaren osagaiak hornitzaileek nukleoaren modulu osagarrien moduan bakarrik hornituko dituzte, nukleoari adabakirik ezarri gabe. Moduluek nukleo nagusiarekin bateragarriak izan beharko dute nukleoaren sinboloaren izen-espazio mailan. Nukleo nagusiari eragiten dioten aldaketa guztiak upstream sustatuko dira. LTS adarretan jabedun moduluekin bateragarritasuna mantentzeko, nukleoaren APIa eta ABI forma egonkor batean mantentzea proposatzen da, eta horrek nukleoaren adar komun bakoitzeko eguneratzeekin moduluen bateragarritasuna mantenduko du.
Urte batean zehar, hainbat baliabide (CPU, memoria, I/O) lortzeko itxarote-denborari buruzko informazioa aztertzeko PSI (Presion Stall Information) azpisistema eta BinderFS sasi-fitxategi sistema prozesuen arteko komunikaziorako. mekanismoak Linux kernel nagusira transferitu ziren Android kernelaren ediziotik Binder eta energia eraginkorraren zereginen programatzailea EAS (Energy Aware Scheduling). Etorkizunean, Android SchedTune programatzaile espezifikotik ARM-en garatutako UtilClamp azpisistema berrira transferitzea aurreikusten da, cgroups2 eta kernel mekanismo estandarretan oinarrituta.
Gogora dezagun orain arte Android plataformarako nukleoak prestatzeko hainbat fase igaro dituela:
- LTS nukleo nagusietan oinarrituta (3.18, 4.4, 4.9 eta 4.14), "Android Common Kernel"-aren adar bat sortu zen, eta bertan Android-eko adabaki espezifikoak transferitu ziren (lehen aldaketen tamaina hainbat milioi lerrora iritsi zen, baina duela gutxi. aldaketak hainbat milaka kode lerrotara murriztu dira).
- "Android Common Kernel"-ean oinarrituta, Qualcomm bezalako txip fabrikatzaileek "SoC Kernel" osatu zuten hardwarea onartzen zuten gehigarriak barne.
- SoC Kernelean oinarrituta, gailuen fabrikatzaileek Device Kernel-a sortu zuten, ekipamendu, pantaila, kamera, soinu sistema eta abar osagarrien laguntzarekin lotutako aldaketak barne.
Funtsean, gailu bakoitzak bere nukleoa zuen, eta ezin zen beste gailu batzuetan erabili. Halako eskema batek nabarmen zailtzen du eguneratzeak ezartzea ahultasunak kentzeko eta kernel-adar berrietarako trantsizioa. Esaterako, urrian kaleratutako Pixel 4 telefono adimendun berriena duela bi urte kaleratutako Linux kernel 4.14 batekin dator. Neurri batean, Google mantentzea errazten saiatu zen sistema sustatuz
Iturria: opennet.ru