Linuxi kernel, millel kõik Android-seadmed põhinevad, saab olulise värskenduse versioonile 5.0. Vaatame üle mobiiliga seotud muudatused.
Kuigi me tavaliselt ei käsitle Linuxi põhikerneli valdkonnas toimuvat, on oluline, et me jälgiksime, mis toimub iga uue kerneli väljalaskega, kuna Google on volitanud minimaalne Linuxi kerneli versioon nõue iga uue Androidi väljalaskega. Hiljutine otsus pikendada LTS-i väljalaseid 2 aastalt 6 aastale mängib olulist rolli turvapaikade killustatuse vähendamisel, kuna seadmetootjad peavad turbepaikade tagasiportimisel vähem tööd tegema. Lisaks integreerib põhituum sageli uusi funktsioone, mis on mobiilseadmete jaoks olulised.
Näiteks esimene Vabastage kandidaadi ehitus Kerneli järgmine LTS-versioon ilmus hiljuti – Linuxi kernel 5.0 RC1. Stabiilse väljalaskeni on jäänud veel kuu-kaks, kuid juba saab piiluda, mis tulemas on. Toon esile mõned värskendused, mis on mobiilseadmete jaoks asjakohased, kuid kui olete avatud lähtekoodiga arendusest ja Linuxi kernelist üldse huvitatud, soovitan teil vaadata üle täielik muudatuste logi.
ARM suur. VÄHE EAS-i tuge
Energiateadlik ajakava on Android-seadmetes olnud asi alates algse Pixeli väljalaskmisest. EAS on üks põhjusi, miks Google Pixeli seadmed on üldiselt konkurentidest nutikamad. Qualcommi Snapdragon 845 kerneli väljalaske tugi on juba lubatud, nii et kõik selle SoC-ga (või uuema) seadmed toetavad EAS-i. Kuigi Linuxil pole seni olnud Energy Aware'i ajastamise ülesvoolu tuge. Ülemineku tugi peaks teoreetiliselt hõlbustama räni- ja seadmetootjatel tehnoloogia juurutamist oma seadmetesse. Lõppkasutajate jaoks ei tähenda ülesvoolu tugi tegelikult palju.
Adiantumi tugi
Speck on NSA (National Security Administration) välja töötatud krüpteerimisalgoritm, mis töötab hästi madala kvaliteediga riistvaraga. Google mõeldud Specki toe lisamiseks, kuna see pakub andmete krüptimise tuge eelarveseadmetele, mille SoC-d ei sisalda riistvaraliselt kiirendatud krüpteerimislaiendeid. Specki vastuvõtmist kritiseeriti laialdaselt selle sidemete tõttu NSA-ga. Specki tugi eemaldati Linuxi kernelist 4.20 ja selle asendaja Adiantum toimib sama hästi, kui mitte paremini, madala kvaliteediga riistvaras koos failisüsteemidega EXT4/F2FS.
F2FS ja EXT4 parandused
Flash-Friendly File-System ehk F2FS on laialdaselt kasutatud Android-seadmetes. Google Pixel 3 ja Pixel 3 XL ametlikult toetab F2FS-i, näiteks. Ilmselt saatis F2FS-i algne arendaja Jaegeuk Kim Linuxi hoidlasse liitmistaotluse palju failisüsteemi parandusi. Need muudatused hoolitsevad krüpteerimisprobleemide ja jõudeaja haldamise ning prügikoristusparanduste eest. Näete kõiki üksikasju see tõmbamistaotlus. Üldiselt parandab F2FS-i parandamine Android-nutitelefonide stabiilsust ja töökindlust, mis seda toetavad või toetavad.
Samamoodi on populaarne EXT4 failisüsteem saanud veidi üle tosina paiga. EXT4 kasutatakse paljudes Android-seadmetes, näiteks uusimates OnePlusi seadmetes (sh OnePlus 5T, OnePlus 6 ja OnePlus 6T).
Uus ARM-i riistvara tugi
GNU/Linuxi distributsioonid on vaieldamatult parimad operatsioonisüsteemid ARM-põhise riistvaraga töötamiseks. Need pakuvad avatud lähtekoodiga mudelil põhinevat usaldusväärset multitegumtöötlust. ARM-protsessorid on spetsiaalselt loodud paljude ülesannete korraga täitmiseks. Seetõttu on oluline, et OS käiks riistvaraga sammu. Nagu mõned teist teavad, kasutab enamik Androidi nutitelefonidest ja tahvelarvutitest ARM-i arhitektuuriga kiibikomplekte. RISC-põhised kiibid sobivad suurepäraselt igapäevaste toimingute tegemiseks (mida teete nutitelefonis. Linuxi kernel 5.0 lisab tuge paljudele uuele ARM-i riistvarale. Siin on mõned neist:
- Tegra X2
- Tegra Xavier
- Allwinner F1C100
- Qualcomm QCS404
- Allwinner T3
- NXP Layerscape LX2160
Lisaks konkreetse ARM-i riistvara universaalsele ühilduvuse toele on Linuxi kernel 5.0-l ka täiustatud toitehaldus.
BinderFS tugi
Android kasutab Binderit, et vahetada argumente süsteemi erinevate protsesside vahel. Rakendused, tegevused ja protsessid kasutavad protsesside käivitamiseks ja haldamiseks Binderit. Androidi turvalisus põhineb suuresti UID-lubadel. Binder kontrollib rakenduste pakutavaid UID-sid kahesuunaliste IPC-kutsete abil, et kinnitada, et tal on juurdepääs funktsioonile, mida ta soovib kasutada. BinderFS on Binderi uuendatud versioon, kuid see on rohkem spetsialiseerunud ja süsteemiga ühilduv. BinderFS-i tugi ei muuda lõppkasutaja jaoks palju, kuid see lahendab arendajate jaoks pikemas perspektiivis mõned juurutusprobleemid. Siin on asjakohane kohustus.
Energiamudeli juhtimisraamistik
Veel üks lisa on energiamudelite haldusraamistiku tugi. See muudatus on mõeldud peamiselt ARM-i ja kerneli arendajatele. See pakub uut kihti standardiseeritud energiakasutuse teavet erinevatest allikatest, näiteks seadmepuust või draiveritest. Nii riist- kui ka tarkvara käsitleb energiatarbimist ja aruandlust erinevalt. Energy Model Management Framework pakub standardse API, mida saab kasutada kerneli teine draiver, et pääseda juurde energiatarbimise kohta teabele. See muudab teoreetiliselt tarkvarainseneride ja -arendajate jaoks riistvarast asjakohase teabe hankimise lihtsamaks. Selle raamistiku kohta saate rohkem lugeda selles kohustuses.
ARM64 osuti autentimise tugi
Iga asjakohane riist- ja tarkvaralahendus, eriti mobiilis, vajab tugevaid turvaprotokolle. Just seda pakub Linuxi kernel 5.0 ARM64 Pointer Authentication toel. Kuna enamikul nutitelefonidel on ARM64-l põhinevad kiibistikud, on ülioluline, et ründajad ei saaks ära kasutada viiteid, mida kasutatakse Linuxi tuumas mäluaadressidele juurdepääsuks. Uus autentimisprotokoll võrdleb viiteid salajaste võtmetega. Osuti autentimine püüab vältida tagasisaatmisele orienteeritud programmeerimist (ROP) ja muid ründeid.
Linuxi 5.0 tuumale on palju rohkem värskendusi, mida me ei käsitlenud. Enamik neist ei tähenda Android-seadmete jaoks palju, mistõttu pidime muudatuste logi valima. Kui soovite näha täielikku muudatuste logi, vaadake seda Phoronixi oma katvus.
Tänu XDA tunnustatud arendajale laiendus2 selle artikliga abistamise eest.