„Android“ pereina prie „pirmiausia prieš srovę“ modelio naujoms „Linux“ branduolio funkcijoms

Nuo 2023 m. „Google“ planuoja pereiti prie „pirmiausio“ kūrimo modelio, skirto Linux branduolio funkcijoms „Android“. Skaitykite toliau, kad sužinotumėte daugiau.

Kai tame pačiame sakinyje matote žodžius „Android“ ir „fragmentacija“, jūsų mintys tikriausiai iškart šoka į Android versijos platinimo diagrama. Yra keletas subjektų, į kuriuos dauguma žmonių rodo pirštais, kai skundžiasi, kad „Android“ OS naujinimai išleidžiami lėtai, tačiau „Google“ gali padaryti tik tiek jėga OĮG gali greičiau kurti ir išleisti naujinimus. Tačiau „Google“ gali sumažinti kūrimo laiką ir sutrumpinti atnaujinimų diegimo išlaidas.

Pirmoji didelė iniciatyva „Google“ ilgalaikiame projekte siekiant sumažinti plėtros naštą yra Projektas Treble. 2017 m. kartu su Android 8.0 Oreo paskelbtas Project Treble moduliavo Android, atskirdamas OS sistemą nuo tiekėjo diegimo (HAL ir konkrečiam įrenginiui skirtos Linux branduolio šakutės). Dėl to „Android“ originalios įrangos gamintojams buvo lengviau iš naujo nustatyti savo OS pagal naujausią AOSP sistemą, nes jie galėjo paleisti naujausią versiją nereikalaujant atnaujinto tiekėjų kodo. Dėl to originalios įrangos gamintojai galėtų greičiau nei anksčiau paruošti savo pasirinktines „Android“ šakes ir greičiau išleisti pagrindinius OS naujinimus.

Kitas „Google“ planų žingsnis buvo supaprastinti pagrindinių „Android“ komponentų naujinimų pristatymą. „Google“ pavadino šią iniciatyvą Pagrindinis projektas kai jis pristatė jį kartu su „Android 10“ 2019 m. „Google“ iš esmės perėmė pagrindinių OS komponentų valdymą ir uždraudė originalios įrangos gamintojams jų keisti. Tada jie sukūrė pristatymo mechanizmą per „Google Play“, kad galėtų nuotoliniu būdu įdiegti šių pagrindinių komponentų naujinimus, nelaukdami, kol originalios įrangos gamintojai patys pritaikys pataisas. „Mainline“ žymiai pagerino tai, kaip greitai įrenginiai gauna atnaujintas svarbių OS komponentų versijas, o tai savo ruožtu pagerino visos „Android“ ekosistemos saugumą.

Tačiau tai, kas bus toliau, yra dar svarbiau ir, be abejo, yra svarbiausia „Google“ ilgalaikės strategijos dalis. Kai anksčiau nurodėme, kaip „Treble“ moduliavo „Android“, atskirdamas OS sistemą nuo tiekėjo diegimą, įtraukėme „konkrečiam įrenginiui skirtą Linux branduolio šakę“ kaip šio tiekėjo dalį kodas. Kiekvienas, kuris yra susipažinęs su „Linux“ staliniuose kompiuteriuose, atpažins problemą: kodėl ji sujungta su uždarojo kodo tiekėjo kodu? Problema ta, kad nors „Android“ įrenginiai pristatomi su „Linux“ branduoliu, šis branduolys turi a daug iš medžio kodo.

Kaip mes ten atsidūrėme? Problema, kurią apibūdino „Google“ programinės įrangos inžinierius Toddas Kjosas šių metų „Linux“ santechnikų konferencija (per ArsTechnica), yra todėl, kad pagrindinis „Linux“ branduolys yra kelis kartus sujungiamas prieš išsiunčiant jį „Android“ įrenginyje. „Google“ sujungia kiekvieną pagrindinį „Linux“ branduolį į „„Android“ bendrasis branduolys" filialas, kuris atidžiai seka pagrindinės linijos leidimą, bet prideda keletą konkrečių "Android" pataisų. Tada „SoC“ pardavėjai, tokie kaip „Qualcomm“, „MediaTek“ ir „Samsung“, pasitraukia kad branduolys kiekvienam jų pagamintam SoC. Tada originalios įrangos gamintojai paima tą SoC specifinį branduolį ir prideda papildomų pataisų, kad palaikytų konkrečią aparatinę įrangą, kurią jie nori siųsti.

Dėl šių pokyčių “net 50 % įrenginyje veikiančio kodo yra išorinis kodas (ne iš įprastų Linux ar AOSP branduolių)“, pasak „Google“. Dėl didelio šių įrenginių kodo, esančio už medžio ribų, pakeitimų sujungimas yra ilgas ir sudėtingas procesas. Tai kenkia įrenginio saugumui, nes originalios įrangos gamintojai turi daugiau dirbti, kad įdiegtų „Linux“ branduolyje aptiktų spragų pataisas. Be to, dauguma „Android“ įrenginių palieka daug metų senumo branduolio leidimus, o tai reiškia, kad jie praranda naujas „Linux“ branduolio funkcijas.

Siekdama išspręsti šią problemą, „Google“ dirba su „Android Generic Kernel Image“ (GKI), kuris iš esmės yra branduolys, sudarytas tiesiai iš ACK šakos. GKI išskiria SoC tiekėjo ir OĮG tinkinimus į papildinių modulius, pašalina netiesioginį kodą ir leidžia „Google“ perduoti branduolio naujinimus tiesiai galutiniam vartotojui. Daugiau nei metus „Google“ ieško būdų, kaip pristatyti GKI naujinius per „Play“ parduotuvę, naudojant pagrindinį modulį.

Mūsų šaltinių teigimu, įrenginiai, kurie paleidžiami su Android 12 ir siunčiami su 5.10 „Linux“ branduoliu, turi įdiegti „Google“ pasirašytą įkrovos vaizdą. „Google“ nuosava Pixel 6 serija bus paleista su „Android 12“ ir bus pristatyta su „Linux“ branduoliu 5.10, todėl šie du telefonai gali būti pirmieji masinės rinkos įrenginiai, pristatomi su GKI.

Be to, „Google“ atstovas Toddas Kjosas atskleidė, kad bendrovė planuoja pereiti prie „pirmiausia“ naujų „Linux“ branduolio funkcijų kūrimo modelio. Tai padės „Google“ užtikrinti, kad naujas kodas pirmiausia patektų į pagrindinį „Linux“ branduolį, o tai sumažins būsimą techninę skolą, susikaupusią dėl didesnio kodo, esančio „Android“ įrenginiuose.

Šią savaitę vykusioje „Linux“ santechnikų konferencijoje Kjos sakė: „Kadangi išoriniai moduliai yra labai svarbūs mūsų naudojimo atveju, tikimės, kad visada turėsime eksportuojamų prekių rinkinį ir kai kuriuos dalykus, kurie skiriasi arba papildys tai, kas yra prieš srovę, bet visas šis projektas yra daugiametis projektas, kuriuo siekiama atsikratyti kuo daugiau medžių lopų ir kuo labiau suderinti prieš srovę“. „Google“ siekia iki 2022 m. pabaigos užbaigti esamas funkcijas ir atskirti pardavėjo pakeitimus. ir nuo 2023 m. bendrovė planuoja taikyti šį „pirmiausia prieš srovę“ plėtros modelį, kad išvengtų tokių problemų. ateitis.