Iš naujo mirksi „Android“ įrenginio branduolys. „Android 3.10 65“ branduolio versijos pagrindinių funkcijų apžvalga

Sekmadienio vakarą Linusas Torvaldsas, Linux tėvas ir operacinės sistemos branduolio kūrėjas, po dviejų mėnesių darbo paskelbė apie naujos Linux branduolio 3.10 versijos išleidimą.

Pasak paties kūrėjo, šis branduolys pagal inovacijų apimtį pasirodė didžiausias per pastaruosius kelerius metus.

Linus prisipažino, kad iš pradžių ketino išleisti kitą laidos kandidatą, bet po dvejonių buvo linkęs išleisti galutinį leidimą iš karto 3.10 numeriu. Taip pat Torvaldsas savo pranešime pastebėjo, kad naujasis branduolys, kaip ir 3.9 versija, yra visiškai paruoštas kasdieniam naudojimui.

Be to, pranešime apie branduolio RC versiją Linusas Torvaldsas rašė, kad anksčiau jis visada įtraukdavo sąrašą žmonių, kurie atsiųsdavo tam tikras kodo dalis, tačiau šį kartą šis sąrašas būtų toks didelis, kad negalėjo turi būti pateiktas visas viename lape.

Pagrindinių 3.10 branduolio pakeitimų sąrašas:

  • Dabar galite uždrausti scenarijų vykdymą kaip programas – funkcionalumas paleisti scenarijus, kuriuose yra kelias į interpretatorių antraštėje „#!“ Dabar galima kompiliuoti kaip branduolio modulį;
  • „Google“ sukurta ir naudojama „Bcache“ sistema buvo integruota. Bcache leidžia organizuoti prieigos prie lėtų standžiųjų diskų talpyklą greituose SSD diskuose; šiuo atveju talpyklos kaupimas atliekamas blokinio įrenginio lygiu - ir tai leidžia pagreitinti prieigą prie disko, neatsižvelgiant į įrenginyje naudojamas failų sistemas;
  • Branduolys gali būti sukurtas naudojant Clang kompiliatorių dėl LLVMLinux projekto parengtų pataisų;
  • Atsirado dinaminė valdymo sistema, skirta pertraukimams generuoti pagal laikmatį. Dabar, priklausomai nuo esamos būsenos, galite keisti pertraukimus nuo tūkstančių tikėjimų per sekundę iki vieno pertraukimo per sekundę – tai leidžia sumažinti procesoriaus apkrovą apdorojant pertraukimus sistemos neveikimo atveju. Dabar ši funkcija naudojama realaus laiko sistemoms ir HPC (didelio našumo skaičiavimui), tačiau kitose branduolio laidose ji bus naudojama ir stalinių kompiuterių sistemoms;
  • Dabar galima sugeneruoti įvykį, pranešantį programai apie proceso / sistemos turimos atminties išeikvojimą (c grupėse);
  • Perf komandai dabar galimas atminties prieigos profiliavimas;
  • Į iSCSI posistemį įtrauktas RDMA (iSER) protokolo palaikymas;
  • Yra nauja "sinchronizavimo" tvarkyklė (eksperimentinė). Jis buvo sukurtas Android platformoje ir naudojamas sinchronizuoti tarp kitų tvarkyklių;
  • Integruota QXL virtualiosios grafikos plokštės tvarkyklė (naudojama virtualizacijos sistemose pagreitintai grafinei išvestiei naudojant SPICE protokolą);
  • Dabar palaikomos naujos energijos valdymo funkcijos, įdiegtos AMD 16h („Jaguar“) procesorių šeimose;
  • Radeon DRM modulyje buvo pridėtas vaizdo įrašų dekodavimo pagreitinimo palaikymas naudojant aparatinę UVD dekoderį, įmontuotą šiuolaikiniuose AMD GPU;
  • Atsirado virtualių vaizdo adapterių „Microsoft Hyper-V“ tvarkyklė (yra ir apskritai Hyper-V patobulinimų);
  • Kriptografinių funkcijų (sha256, sha512, blowfish, twofish, serpent ir camellia) vykdymas optimizuojamas naudojant AVX / AVX2 ir SSE instrukcijas.

Mobiliųjų įrenginių naudotojai ne visada yra patenkinti savo programėlių darbu ir galimybėmis. Dėl šios priežasties vartotojai ieško geriausio būdo suaktyvinti „Android“ operacinės sistemos branduolį. Viena vertus, šį veiksmą galima lengvai atlikti naudojant planšetinį kompiuterį ar išmanųjį telefoną. Tūkstančiai vartotojų sėkmingai įdiegė branduolį be jokių komplikacijų ar problemų. Tačiau, kita vertus, bet kokia šio proceso klaida gali sukelti, įskaitant įtaiso gedimą ir brangios paslaugos poreikį. Skirtingais etapais kyla rizika, kad pasirinksite netinkamą branduolio programinės aparatinės įrangos versiją, kurią sukūrė nekvalifikuoti kūrėjai, arba ji netinka jūsų mobiliajam įrenginiui. Rekomenduojame būti ypač atsargiems, kai atliekate bet kokius veiksmus, dėl kurių įrenginio programinė įranga pakeičiama žemu lygiu. Sėkmingai mirgėjus branduoliui, daugeliui kyla jausmas, kad rankose laiko visiškai naują įrenginį. Taigi pažengę vartotojai gali pritaikyti programėlę pagal savo poreikius ir pageidavimus, kartu įgydami naujų žinių ir patirties apie šiuolaikines mobiliąsias technologijas.

„Android“ operacinės sistemos branduolys ir jos programinė įranga

Kas yra mobiliojo įrenginio esmė?

Operacinės sistemos branduolys yra programinės įrangos, valdančios įrenginio aparatinę įrangą, pagrindas. Nuo to priklauso pagrindiniai bet kurios programėlės parametrai. Reikėtų pažymėti, kad jis susideda iš trijų tarpusavyje susijusių komponentų – Linux branduolio, vertikalios Dalvik mašinos ir įvairių žemo lygio paslaugų bei bibliotekų. Jei kalbame apie pasirinktinę programinę-aparatinę įrangą, tai paveikiami tik du komponentai, leidžiantys pridėti naujų sistemos paslaugų, optimizuoti esamus parametrus ir pakeisti grafinį apvalkalą.

Tie, kurie nori įdiegti branduolį „Android“, turėtų suprasti, kad yra skirtumas tarp pasirinktinio branduolio ir tinkintos programinės įrangos sąvokų. Pastaroji yra neoficiali programinės įrangos versija. Specialistų komanda sukūrė tinkintą programinę-aparatinę įrangą konkretiems įrenginiams. Pasirinktinis branduolys yra pagrįstas „Linux“ branduoliu ir yra neoficiali versija. Dažnai pasirinktinis branduolys pateikiamas kartu su programine įranga. Bet jį galima įdiegti atskirai, pakeitus programinę-aparatinę įrangą. Tiesą sakant, jis nepakeičia vietinio mobiliojo įrenginio branduolio, o tai yra galutinis tokios operacijos tikslas.

„Android“ branduolio mirksėjimas daugiausia atliekamas siekiant pailginti įrenginio veikimo laiką keliomis valandomis, koreguojant energijos suvartojimo parametrus. Galbūt tai yra pagrindinė priežastis, kodėl vartotojai atlieka sudėtingas programinės įrangos transformacijas. Programinė įranga leis jums pakeisti vaizdo lustą nepaveikdami jūsų išmaniojo telefono ar planšetinio kompiuterio. Pažangūs vartotojai taip pritaiko ekrano darbą, keisdami jo spalvų perteikimą, jautrumą. Branduolio programinė įranga leidžia pagerinti įrenginio garsą, atnaujinti tvarkykles ir įdiegti nestandartinių išorinių programėlių palaikymą.

Prieš paleisdami branduolį, rekomenduojame įsitikinti, kad pasirinkote gerą versiją, kurią sukūrė patyrę kūrėjai. Be to, svarbu įsitikinti, kad ji atitinka „Android“ programinės įrangos versiją. Patartina perskaityti žmonių, kuriems pavyko įdiegti tinkamą branduolio versiją savo mobiliajame telefone, atsiliepimus. Apžvalgose gali būti svarbios informacijos apie problemas, kurios gali kilti programinės aparatinės įrangos arba tolesnio įrenginio veikimo etape.

Programėlės programinė įranga per „Fastboot“.

„Android“ įrenginį galite atnaujinti naudodami „Fastboot“. Tačiau pirmiausia turite įdiegti programėlę savo programėlėje. Yra dvi šios programos versijos. Pirmasis apima Fastboot atsisiuntimą kartu su oficialia Android SDK programa. Antroji versija apima paslaugų programos atsisiuntimą atskirai.

Rekomenduojame patikrinti, ar jūsų mobilusis įrenginys mato nešiojamąjį ar kompiuterį. Norėdami tai padaryti, turite įvykdyti. Atsisiuntę ir įdiegę kompiuteryje, nešiojamajame kompiuteryje, kuriame veikia Windows operacinė sistema, Fastboot įrankį ir prijungę išmanųjį telefoną, turite atidaryti komandų eilutę. Norėdami tai padaryti, atidarykite paiešką. „Windows 8“ sistemoje tereikia perkelti pelės žymeklį į dešinę ekrano pusę ir pasirinkti atitinkamą skyrių. Paieškoje turite įvesti „cmd“, po kurios priešais jus pasirodys komandų eilutė. Įrenginys turi būti įjungtas į programinės įrangos režimą. Tada įveskite komandą, kuri patikrins kompiuterio ir mobiliojo įrenginio sąveiką:

„fastboot“ įrenginiai

Jei viskas veikia, turite įkelti tinkamą branduolio programinės įrangos versiją boot.img. Nerekomenduojame atnaujinti originalios programinės aparatinės įrangos branduolio, nes tai gali sukelti išmaniojo telefono veikimo problemų. Failas turėtų būti išsaugotas anksčiau sukurtame C disko skaidinyje, pavadintame „Android“. Po to turite įkelti mobilųjį įrenginį į „Fastboot“ ir prijungti jį prie kompiuterio. Ekrane pasirodys pranešimas „Fastboot USB“.

  • cd C: \ Android.
  • fastboot flash boot boot.img.
  • „fastboot“ ištrinkite talpyklą.
  • greitas paleidimas iš naujo.

Labai svarbu visus žodžius įvesti teisingai, atsižvelgiant į didžiąsias ir mažąsias raides ir tarpus. Komanda cd atidaro reikiamą aplanką, kuriame yra reikalingi failai. Po to atsiranda mirksėjimas. Fastboot trinti talpyklos komanda ištrina talpyklos skaidinį. Paskutinė komanda „fastboot reboot“ perkrauna įrenginį iš programinės aparatinės įrangos režimo į įprastą. Jei teisingai atlikote visus nurodytus veiksmus, procesas bus sėkmingas.

Programinė įranga su „ClockworkMod“ atkūrimu

„ClockworkMod Recovery“ (arba sutrumpintai CWM) yra atkūrimo sistema, naudojama vietoj originalios gamyklinės atkūrimo. CWM leidžia mobiliajame įrenginyje įdiegti naują programinę-aparatinę įrangą, atnaujinti branduolį, kurti atsargines failų kopijas ir atkurti apvalkalą. Tokia sistema gali dirbti su programinės įrangos atnaujinimo failais ZIP formatu. „ClockworkMod“ yra įdiegtas, pakeičiantis gamyklinį atkūrimą. Norėdami paleisti CWM, turite žinoti jūsų įtaisui tinkantį klavišų derinį. Daugeliu atvejų tai yra garsumo mažinimo ir įjungimo mygtukų, kuriuos reikia paspausti įrenginiui paleidžiant, derinys.

Norėdami atnaujinti branduolį, atsisiųskite archyvą su ZIP plėtiniu. Jame turi būti aplankas META-INF. Tada yra du variantai. Pirmuoju atveju turite nurodyti programinės įrangos failą. Antroji parinktis apima programinės įrangos failo įdėjimą į / sdcard aplanką. Po to turėtumėte aktyvuoti ClockworkMod Recovery, ten rasti funkciją Apply update from sdcard ir nurodyti reikiamą failą.

Reikėtų pažymėti, kad „ClockworkMod Recovery“ meniu yra patogus ir suprantamas daugumai vartotojų. Be tokios programinės įrangos atkūrimo sistemos, galite naudoti TWRP atkūrimą. Šis įrankis yra patogus ir populiarus tarp Android vartotojų. Svarbiausia pasirinkti tinkamą programinės įrangos failą.

„Android“ branduolio programinė įranga yra procedūra, kurios nerekomenduojame imtis, jei esate visiškai patenkinti programėlės darbu. Šiuos veiksmus skatina noras pagerinti mobiliojo telefono ar planšetinio kompiuterio veikimą. Patyrę vartotojai turi galimybę nustatyti žemesnio lygio parametrus. Tačiau be tam tikrų žinių ir objektyvių priežasčių mobiliojo įrenginio programinės įrangos dalies geriau nekeisti, nes tai siejama su rizika ir jo veikimo sutrikimais.

"Ir aš... nuplaukite karbiuratorių!"
Pokštas

Įvadas

Darželyje su bendraminčiais skrodėme žiogus, tikėdamiesi suprasti jų sandarą. Mokykloje radijo imtuvas „Rusija“ buvo lituojamas. Institute eilė atėjo automobiliams, kurių veržlės buvo ne kartą perstatytos. Pomėgiai pasikeitė, tačiau noras „išardyti“ kartais pabunda, o šiandien jis nukreiptas į „Android“.

Kiek kartų jums padėjo „Android“ šaltiniai? Aš – nebeskaičiuoju. „Android“ yra atvirojo kodo projektas, bet, deja, turime galimybę tik skaityti; beveik neįmanoma redaguoti „Android“ kodo, jei nėra „Google“ darbuotojo. Liūdime dėl šios akimirkos ir atsisiųskite saugyklą. Kaip tai padaryti, puikiai aprašyta oficialioje svetainėje.


Bendroji architektūra

„Android“ architektūra gali būti schematiškai pavaizduota taip:

Staliniuose ir nešiojamuosiuose kompiuteriuose yra nusistovėjusi energijos režimų sistema (x86 procesoriai jų turi keletą): kompiuteris veikia „visu greičiu“, kai ką nors padaro, ir pereina į energiją taupantį režimą, kai sistema neveikia. Perėjimas į „miego“ režimą įvyksta arba po gana ilgo neveiklumo laikotarpio, arba rankiniu būdu, pavyzdžiui, uždarant nešiojamojo kompiuterio dangtį.

Telefonuose reikėjo kitokio mechanizmo: pagrindinė sistemos būsena yra „užmigdymo režimas“, išėjimas iš jos atliekamas tik esant poreikiui. Taigi sistema gali užmigti, net jei kuri nors programa yra aktyvi. „Android“ buvo įdiegtas „wakelock“ mechanizmas: jei programa (arba tvarkyklė) padaro ką nors svarbaus, kas turi pasiekti logišką išvadą, ji „užfiksuoja“ „wakelock“, neleisdama įrenginiui užmigti.

Bandymai perkelti wakelock mechanizmą į branduolį sulaukė daugelio kūrėjų pasipriešinimo. Android programuotojai išsprendė konkrečią problemą, kurios sprendimas buvo tam tikras mechanizmas. Problemos sąlygos buvo labai siauros. Tikslinė platforma yra ARM, todėl buvo naudojamos jos funkcijos: ARM procesoriai iš pradžių dažnai keičia „miego“ ir „budimo“ režimus, priešingai nei x86. „Android“ programos bendrauja su energijos valdymo sistema per „PowerManager“, bet ką turėtų daryti „Linux“ kliento programos?

„Android“ kūrėjai net nebandė rasti bendro „ateities“ sprendimo, kuris vėliau būtų be problemų sujungtas į pagrindinį branduolį, su Linux branduolio bendruomene šiuo klausimu nesikonsultavo. Ar galite juos dėl to kaltinti? Nepaisant visų problemų ir diskusijų, kaip minėta aukščiau, branduolyje atsirado API su identiškomis automatinio miego funkcijomis.

„Android“ programų programuotojams retai tenka susidurti su „wakelock“, nes platforma ir tvarkyklės apdoroja jiems priskirtus įsipareigojimus, atsižvelgdami į „miego“ režimą. Tačiau pažįstamas PowerManager padės įsikišti į šį procesą. Beje, autoriui į galvą šauna tik vienas scenarijus: kad telefonas neužmigtų paleidus paslaugą iš BroadcastReceiver, kurį išsprendžia pagalbinė klasė iš Android Support Library WakefulBroadcastReceiver.

Mažos atminties žudikas

Standartinis Linux branduolys turi Out of Memory Killer, kuris, remdamasis blogumo parametru, nustato procesą, kurį reikia nužudyti:

Badness_for_task = total_vm_for_task / (sqrt (cpu_time_in_seconds) *
sqrt (sqrt (cpu_time_in_minutes)))

Taigi, kuo daugiau procesas eikvoja atmintį ir kuo mažiau gyvuoja, tuo mažiau jam pasiseks.

Diagramoje parodyta bendra „Android“ registravimo sistema. Žurnalo tvarkyklė suteikia prieigą prie kiekvieno buferio per / dev / log / *. Programos jas pasiekia ne tiesiogiai, o per dienoraščio biblioteką. Klasės Log, Slog ir EventLog bendrauja su dienoraščio biblioteka. Komanda adb logcat rodo „pagrindinio“ buferio turinį.

Išvada

Šiame įraše trumpai apžvelgėme kai kurias „Android“ kaip „Linux“ sistemos funkcijas. Kai kurios kitos dalys (pmem, RAM konsolė ir kt.), taip pat tokie svarbūs visos platformos aspektai, kaip System Service, sistemos paleidimo procesas ir kiti, liko už skliaustų. Jei ši tema įdomi, mes jas apsvarstysime kituose straipsniuose.

Jau rašėme apie pasirinktinę programinę-aparatinę įrangą, šaknines programas ir alternatyvius įkrovos meniu. Visa tai yra standartinės temos „Android“ įsilaužėlių bendruomenėje, tačiau, be visų aukščiau išvardytų dalykų, yra ir toks dalykas kaip „priskirtas branduolys“, kuris gali suteikti beveik neribotas galimybes valdyti išmanųjį telefoną ir jo aparatinę įrangą žemiausiu lygiu. lygiu. Šiame straipsnyje aš jums pasakysiu, kas tai yra, kodėl jums to reikia ir kaip pasirinkti tinkamą tinkintą branduolį.

Pasirinktinis branduolys?

Kas yra tinkintas branduolys? Kaip visi žinome, „Android“ yra pyragas, sudarytas iš trijų pagrindinių sluoksnių: „Linux“ branduolio, žemo lygio bibliotekų ir paslaugų rinkinio ir „Dalvik“ virtualios mašinos, kurios viršuje veikia grafinis apvalkalas, aukšto lygio įrankiai ir paslaugas ir beveik visas iš rinkos įdiegtas programas. Daugumos alternatyvių tinkintų programinės įrangos kūrėjai paprastai dirba tik su dviem viršutiniais sluoksniais, prideda funkcijų prie grafinio apvalkalo (pavyzdžiui, mygtukai uždangoje), keičia jį (temos variklis programoje CyanogenMod), taip pat prideda naujų sistemos paslaugų ( ekvalaizeris programoje CyanogenMod) ir esamų optimizavimas.

Populiarios programinės aparatinės įrangos autoriai taip pat, kiek įmanoma, atlieka Linux branduolio pakeitimus: optimizuoja (kuria su agresyvesnėmis kompiliatoriaus optimizavimo vėliavėlėmis), įtraukia naujas funkcijas (pavyzdžiui, palaiko „Windows ball“), taip pat atlieka kitus pakeitimus. , pavyzdžiui, galimybė pakelti procesoriaus dažnį virš gamintojo pateikto... Dažnai visa tai lieka užkulisiuose, o daugelis tinkintos programinės aparatinės įrangos vartotojų net nežino apie šias galimybes, juolab kad tas pats CyanogenMod pateikiamas su tinkintu branduoliu tik ribotam įrenginių spektrui, kuriam tiek vietinio branduolio šaltinio kodas. ir yra galimybė jį pakeisti. Pavyzdžiui, beveik visa „Motorola“ išmaniųjų telefonų „CyanogenMod“ programinė įranga naudoja standartinį branduolį - jo neįmanoma pakeisti savuoju dėl nepralaidžios įkrovos įkrovos apsaugos.

Tačiau išmaniųjų telefonų su atrakinta įkrovos įkrovikliu branduolį galima pakeisti atskirai nuo pagrindinės programinės įrangos. Ir ne tik pakeiskite, bet ir įdiekite branduolį su daugybe skirtingų funkcijų, kurioms valdyti reikia tam tikrų techninių žinių, todėl jos paprastai nėra integruotos į populiarios programinės įrangos, tokios kaip CyanogenMod, AOKP ir MIUI, branduolius. Tarp šių funkcijų galite rasti aukštų procesoriaus dažnių palaikymą, ekrano gama valdymą, energijos taupymo režimus, labai efektyvius energijos tvarkykles ir daugybę kitų funkcijų.

Šiame straipsnyje mes kalbėsime apie tai, ką mums gali pasiūlyti pasirinktinių branduolių kūrėjai, apsvarstysime pagrindinius pasirinktinius įvairių įrenginių branduolius, taip pat pabandysime įdiegti branduolį neatsižvelgiant į pagrindinę programinę-aparatinę įrangą ir viską patikrinti savo akimis. Taigi ką paprastai siūlo alternatyvių branduolių kūrėjai?

Išmanusis eismo reguliatorius

Pavyzdžiui, „Galaxy S II“ ir „Galaxy Nexus“ naudojami OMAP35XX SoC turi „SmartReflex“, kuri veikia kaip išmanioji įtampos reguliavimo sistema, kai keičiasi procesoriaus apkrova. Tiesą sakant, tai pašalina poreikį tiksliai reguliuoti įtampą vartotojui.


Optimizavimas

Dažnai pagrindinis tinkinto branduolio kūrimo tikslas yra optimizuoti našumą. Paprastai mobiliųjų technologijų pardavėjas stengiasi išlaikyti balansą tarp našumo ir stabilumo, todėl net ir gerų optimizavimo būdų, galinčių gerokai padidinti įrenginio greitį, gamintojas gali atmesti tik tuo pagrindu, kad po jų naudojimo kai kurios programos pradėjo strigti. kas dešimtas paleidimas. Žinoma, entuziastų tokios smulkmenos nesigėdina ir daugelis jų yra pasirengę pritaikyti bet kokias kompiliatoriaus parinktis, energijos taupymo algoritmus savo paties agregato branduoliui ir pakelti procesoriaus dažnį tiek, kiek pajėgia įrenginys. Iš visų optimizavimo metodų dažniausiai naudojami keturi:



Kitas optimizavimo tipas: standartinio įvesties / išvesties planuotojo keitimas. Situacija šioje srityje yra dar įdomesnė, nes užuot supratę, kaip veikia planuokliai, kai kurie branduolio kūrėjai tiesiog skaito dokumentus apie Linux interneto įvesties / išvesties planuoklius ir daro išvadas. Šis metodas yra dar labiau paplitęs tarp vartotojų. Tiesą sakant, beveik visi galingiausi ir išmaniausi Linux planuokliai visiškai netinka Android: jie skirti naudoti su mechaninėmis duomenų saugyklomis, kuriose duomenų prieigos greitis skiriasi priklausomai nuo galvos padėties. Planuotojas naudoja skirtingas užklausų derinimo schemas, priklausomai nuo fizinės duomenų vietos, todėl duomenų, kurie yra arti dabartinės galvos padėties, užklausos bus teikiamos didesniu prioritetu. Tai visiškai nelogiška kietosios kūno atminties atveju, kuri garantuoja vienodą prieigos prie visų ląstelių greitį. Pažangūs planuotojai išmaniajame telefone pridarys daugiau žalos nei naudos, o patys nerangiausi ir primityviausi parodys geriausius rezultatus. Linux turi tris tokius planuoklius:

  • Noop (be operacijos)- vadinamasis neplanuotojas. Paprasta FIFO užklausų eilė, pirmoji užklausa bus apdorojama pirmiausia, antra – antra ir t.t. Puikiai tinka kietojo kūno atminčiai ir leidžia teisingai nustatyti programų, skirtų prieigai prie disko, prioritetus. Papildomas pliusas: maža procesoriaus apkrova dėl labai paprasto veikimo principo. Trūkumas: neatsižvelgiama į įrenginio veikimo specifiką, dėl to gali sumažėti jo veikimas.
  • SIO (paprastas įvestis / išvestis)- „Deadline“ planuoklio analogas, neatsižvelgiant į sektorių artumą vienas kitam, tai yra, sukurtas specialiai kietojo kūno atminčiai. Yra du pagrindiniai akcentai: skaitymo operacijų prioritetas prieš rašymo operacijas ir operacijų grupavimas pagal procesą, kiekvienam procesui skiriant laiko dalį operacijoms atlikti. Išmaniuosiuose telefonuose, kur svarbus dabartinės programos greitis ir skaitymo operacijų paplitimas prieš rašymą, tai rodo labai gerą našumą. Galimas Leankernel, Matr1x branduolyje, skirtas Nexus 4 ir SiyahKernel.
  • EILUTĖ (SKAITYTI, o ne RAŠYTI)- planuoklis, specialiai sukurtas mobiliesiems įrenginiams ir pridėtas prie branduolio vos prieš kelis mėnesius. Pagrindinis iššūkis: pirmiausia apdoroti skaitymo užklausas, bet ir teisingas rašymo užklausų laikas. Šiuo metu laikomas geriausiu NAND planuokliu, pagal numatytuosius nustatymus jis naudojamas „Leankernel“ ir „Matr1x“.

Verta pasakyti, kad beveik visa standartinė programinė įranga ir pusė pasirinktinių vis dar naudoja branduolį su standartiniu Linux CFQ planuokliu, tačiau tai nėra taip blogai, nes ji žino, kaip tinkamai dirbti su kietojo kūno diskais. Kita vertus, jis per daug sudėtingas, apkrauna didesnį procesorių (taigi ir akumuliatorių) ir neatsižvelgia į mobiliosios OS specifiką. Kitas populiarus pasirinkimas yra termino planuoklis, kuris yra toks pat geras kaip SIO, bet nereikalingas. Galite peržiūrėti galimų planuoklių sąrašą naudodami šią komandą:

# cat / sys / blokas / * / eilė / planuoklis

Norėdami pakeisti, taikykite šiuos veiksmus (kur eilutė yra planuotojo pavadinimas):

# for i in / sys / block / * / queue / planuotojas; padaryti echo eilutę> 1 USD; padaryta

Kai kurie branduolio kūrėjai taip pat naudoja kitokį įvesties / išvesties optimizavimą. Tai išjungia fsync sistemos iškvietimą, kuris naudojamas priverstinai pakeistą atidarytų failų turinį perkelti į diską. Manoma, kad be fsync sistema prie disko prieis rečiau ir taip taupys procesoriaus laiką bei baterijos energiją. Gana prieštaringas teiginys: fsync ne itin dažnai naudojamas programose ir tik tikrai svarbiai informacijai išsaugoti, tačiau jį išjungus operacinės sistemos gedimo ar kitų problemų atveju ši informacija gali būti prarasta. Galimybė išjungti fsync yra franco.Bernel ir GLaDOS branduoliuose, o valdymui naudojamas failas / sys / module / sync / parameters / fsync_enabled, kuriame turėtumėte įrašyti 0, kad išjungtumėte, arba 1, kad įjungtumėte. Vėlgi, ši funkcija nerekomenduojama.

Naujų funkcijų įtraukimas į branduolį

Žinoma, be optimizavimo, patobulinimų ir įvairių pažangių aparatūros valdymo sistemų, pasirinktiniuose branduoliuose taip pat galite rasti visiškai naujų funkcijų, kurių nėra standartiniuose branduoliuose, bet kurios gali būti naudingos vartotojams.

Iš esmės tai įvairios tvarkyklės ir failų sistemos. Pavyzdžiui, kai kuriuose branduoliuose palaikomas CIFS modulis, skirtas montuoti „Windows“ kamuoliukus. Toks modulis yra Matr1x branduolyje, skirtas Nexus S, faux123, skirtas Nexus 7, SiyahKernel ir GLaDOS. Pati savaime ji yra nenaudinga, tačiau rinkoje yra keletas programų, kurios leidžia išnaudoti jo galimybes.

Dar vienas naudingumas yra ntfs-3g tvarkyklės įtraukimas į branduolį (tiksliau, pakete su branduoliu, pati tvarkyklė veikia kaip Linux aplikacija), kuri būtina norint prijungti NTFS failų sistemoje suformatuotus „flash drives“. Šią tvarkyklę galima rasti faux123 ir SiyahKernel branduoliuose. Paprastai jis suaktyvinamas automatiškai, bet jei taip neatsitiks, galite naudoti „StickMount“ programą iš rinkos.

Daugelis branduolių taip pat palaiko vadinamąją zram technologiją, kuri leidžia rezervuoti nedidelį kiekį RAM (dažniausiai 10%) ir naudoti ją kaip suglaudintą apsikeitimo sritį. Dėl to tam tikra prasme padidėja atminties kiekis, be jokių rimtų pasekmių našumui. Galima Leankernel, įgalinta naudojant Trickster MOD arba zram įgalinimo komandą.

Paskutinės dvi įdomios funkcijos yra greitas USB įkrovimas ir „Sweep2wake“. Pirmasis yra ne kas kita, kaip priverstinis „greito įkrovimo“ režimo įtraukimas, net jei išmanusis telefonas yra prijungtas prie kompiuterio USB prievado. Greito įkrovimo režimas yra visuose daugiau ar mažiau naujuose išmaniuosiuose telefonuose, tačiau dėl techninių apribojimų jo negalima įjungti vienu metu su prieiga prie atminties kortelės. Greito USB įkrovimo funkcija leidžia visada įjungti šį režimą ir išjungti prieigą prie disko.

Sweep2wake yra naujas būdas pažadinti įrenginį, kurį išrado Breaked-kernel autorius. Jo prasmė – įjungti išmanųjį telefoną braukiant pirštu po ekranu esančiais naršymo mygtukais arba pačiame ekrane. Tai išties patogi funkcija, tačiau dėl jo suaktyvinimo jutiklis išliks aktyvus net įrenginiui miegant, o tai gali gerokai išsikrauti bateriją.

Įjungimas, įtampos ir energijos taupymas

Overclocking yra populiarus ne tik tarp stacionarių kompiuterių ir nešiojamųjų kompiuterių savininkų, bet ir tarp mobiliųjų technologijų entuziastų. Kaip ir x86 architektūros akmenys, mobiliųjų technologijų procesoriai ir grafiniai branduoliai puikiai persekioja. Tačiau pats įsijungimo metodas ir žingsniai, kurių buvo imtasi jam įgyvendinti, čia kiek skiriasi. Faktas yra tas, kad standartinės SoC tvarkyklės, atsakingos už energijos taupymą ir procesoriaus dažnio keitimą, dažniausiai yra užrakintos standartiniais dažniais, todėl norint tiksliai sureguliuoti, turite įdiegti alternatyvią tvarkyklę arba pasirinktinį branduolį.

Beveik visi daugiau ar mažiau kokybiški ir populiarūs nestandartiniai branduoliai jau turi atrakintas tvarkykles, tad jas įdiegus gerokai išsiplečia galimybės valdyti procesoriaus „galią“. Paprastai pasirinktiniai branduolio kūrėjai daro du dalykus, kurie turi įtakos dažnio pasirinkimui. Tai dažnių diapazono išplėtimas, viršijantis iš pradžių nurodytą – galite nustatyti ir didesnį procesoriaus dažnį, ir labai žemą, o tai leidžia taupyti bateriją ir padidinti dažnių gradaciją, pvz., vietoj trijų galimų dažnių, a. Siūlomas pasirinkimas iš šešių. Antrasis yra galimybė reguliuoti procesoriaus įtampą, kad galėtumėte sumažinti procesoriaus įtampą esant žemiems dažniams, kad taupytumėte akumuliatoriaus energiją, ir padidinkite aukštus dažnius, kad padidintumėte stabilumą.

Visa tai galima valdyti naudojant gerai žinomą mokamą įrankį SetCPU arba nemokamą Trickster MOD. Valdymo rekomendacijos yra tokios pačios kaip ir stalinių kompiuterių sistemoms. Apatinį procesoriaus dažnį geriau nustatyti iki minimalaus, bet ne žemesnio nei 200 MHz (kad būtų išvengta vėlavimų), viršutinė riba palaipsniui kyla bandant veikimo stabilumą, jam nukritus rekomenduojama šiek tiek pakelti įtampą. šiam dažniui. Rekomendacijų dėl įtampos nėra, nes kiekvienas procesorius yra unikalus ir reikšmės kiekvienam bus skirtingos.

Be dažnių keitimo, montuotojai į branduolį dažnai prideda naujų energijos taupymo valdymo algoritmų (automatinio procesoriaus dažnio valdymo), kurie, jų nuomone, gali parodyti geresnius rezultatus lyginant su standartiniais. Beveik visi jie yra pagrįsti interaktyviu algoritmu, kuris pagal nutylėjimą naudojamas naujose „Android“ versijose, kurio esmė yra staigiai padidinti procesoriaus dažnį iki maksimalaus, padidėjus apkrovai, o vėliau palaipsniui sumažinti iki minimumo. Jis pakeičia anksčiau naudotą OnDemand algoritmą, kuris sklandžiai koreguoja dažnį į abi puses proporcingai apkrovai, o sistema tampa jautresnė. Alternatyvių branduolių kolekcionieriai siūlo šiuos algoritmus, kad pakeistų Interactive:

  • SmartAssV2- Interaktyvaus algoritmo persvarstymas, sutelkiant dėmesį į akumuliatoriaus taupymą. Pagrindinis skirtumas yra netrukdyti procesoriaus į aukštus dažnius trumpų apkrovų protrūkių atveju, o tam pakanka žemo procesoriaus našumo. Numatytoji reikšmė naudojama Matr1x branduolyje.
  • InteraktyvusX- sureguliuotas Interaktyvus algoritmas, kurio pagrindinė savybė yra procesoriaus užraktas minimaliu vartotojo nurodytu dažniu ir antrojo procesoriaus šerdies išjungimas išjungus ekraną. Numatytoji reikšmė naudojama Leankernel.
  • LulzactiveV2 iš esmės yra iš naujo išrastas OnDemand. Kai procesoriaus apkrova viršija nurodytą (pagal nutylėjimą 60%), algoritmas padidina dažnį tam tikru padalijimų skaičiumi (pagal nutylėjimą 1), kai apkrova mažėja, jį sumažina. Ypač įdomu tai, kad tai leidžia savarankiškai nustatyti darbo parametrus, todėl tinka užkietėjusiems geekams.

Apskritai branduolio kolekcionieriai labai mėgsta sugalvoti naujus energijos taupymo algoritmus dėl jų įgyvendinimo paprastumo, todėl galite rasti dar keliolika. Dauguma jų yra visiškas šlakas, o renkantis tvarkaraštį reikėtų vadovautis taisykle: arba viena iš trijų aukščiau aprašytų, arba standartinis Interactive, kuris, beje, yra labai geras. Galite pasirinkti naudodami tą patį Trickster MOD.

Valdymo sąsajos

Daugumoje populiarių pasirinktinių branduolių yra keli mechanizmai, skirti koreguoti įvairius tvarkyklės parametrus, iš kurių dažniausiai yra ColorControl, GammaControl, SoundControl ir TempControl.

Pirmosios dvi sąsajos yra prieinamos beveik visur, įskaitant „CyanogenMod“ branduolius, antrosios dvi yra „Leankernel“ ir galbūt kitose. Vienaip ar kitaip, visus juos galima valdyti naudojant „Trickster MOD“.

Branduoliai

Kurį branduolį turėtumėte pasirinkti? Vieno atsakymo į šį klausimą nėra ir ne todėl, kad „kiekvienam savo“, o todėl, kad pasaulyje yra daugybė „Android“ įrenginių ir beveik tiek pat skirtingų branduolių. Tačiau yra keletas populiarių branduolių, kurie yra kuriami keliems įrenginiams vienu metu. Vienaip ar kitaip, pasakojimo eigoje paminėjau daugelį jų, čia trumpai apibūdinsiu.

  • „Leankernel“ yra „Galaxy Nexus“, „Nexus 7“ ir „Galaxy S III“ branduolys. Pagrindinis kūrybos akcentas – darbo paprastumas ir greitis. Energijos taupymo algoritmas: InteractiveX V2, I / O: ROW planeris, visos aukščiau pateiktos valdymo sąsajos, greito USB įkrovimo, keitimo ir zram palaikymas, lanksčios procesoriaus ir GPU įsijungimo parinktys. Vienas geriausių branduolių. Konfigūruojama naudojant Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) – branduolys, skirtas Nexus S ir Nexus 4. Paprastas ir neperkrautas branduolys. Palaiko procesoriaus ir GPU įsijungimą, „GammaControl“, greitą USB įkrovimą, „Sweep2wake“, įvesties / išvesties planuoklius: SIO, ROW ir FIOPS. Veikimo patobulinimai. Konfigūruojama naudojant Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) – paprastas ir neperkrautas branduolys, skirtas „Nexus 4“ ir „HTC One X“. Snapdragon S4 ir NVIDIA Tegra 3 optimizavimas, perkurtas energijos taupymo režimas, skirtas Tegra 3, galimybė įsibėgėti, energijos taupymo algoritmas: suderintas „OnDemand“ (taip pat yra „Interactive“).
  • SiyahKernel yra Galaxy S II ir S III branduolys. Lanksčios įsijungimo parinktys, automatinis akumuliatoriaus kalibravimas, patobulinta jutiklinio ekrano tvarkyklė, energijos taupymo algoritmai: smartassV2 ir lulzactiveV2, I / O planuotojai: noop, terminas, CFQ, BFQV3r2 (numatytasis), V (R), SIO. CIFS ir NTFS tvarkyklės (automatinis prijungimas). Konfigūruojama naudojant ExTweaks.
  • franco.Kernel yra „Nexus S“, „Galaxy Nexus“, „Nexus 4“, „Nexus 7“, „Nexus 10“, „Galaxy S III“, „Galaxy Note“, „Optimus One“ ir „One X“ branduolys.

Branduolio galimybės įvairiuose įrenginiuose labai skiriasi, todėl turėsite žiūrėti į detales vietoje. Nepaisant to, paleidę šį branduolį gausite įsijungimą, tvarkyklės derinimą, puikų našumą, taip pat įvairių energijos taupymo algoritmų ir planuotojų palaikymą. Tiesą sakant, branduolys apima beveik visus straipsnyje aprašytus pakeitimus. Laikomas vienu geriausių turimų branduolių. Yra automatinių atnaujinimų programa franko.Kernel Updater. Jį galima sukonfigūruoti naudojant Trickster MOD.

Kaip įdiegti?

Visi branduoliai platinami standartiniuose Android ZIP archyvuose, kurie turėtų būti perkeliami per atkūrimo konsolę taip pat, kaip ir alternatyvi programinė įranga. Paprastai branduoliai yra suderinami su bet kokia programine įranga, todėl pasirinkę reikiamą branduolį galite saugiai jį įdiegti. Vienintelis dalykas, į kurį reikia atkreipti dėmesį, yra „Android“ versija, su kuria branduolys yra suderinamas. Jis gali tikti visoms įrenginyje prieinamoms „Android“ versijoms arba veikti tik su viena (kūrėjas paprastai apie tai kalba aiškiai). Prieš mirksėdami būtinai pasidarykite dabartinės programinės aparatinės įrangos atsarginę kopiją naudodami tą pačią atkūrimo konsolę. Jei kas nors negerai, visada galite grįžti atgal.

išvadas

Kaip matote, pasirinktiniai branduoliai turi daug pranašumų, palyginti su branduoliais, naudojamais standartinėje arba trečiosios šalies programinėje įrangoje. Ir dar svarbiau, kad norint juos naudoti, nereikia išmanyti visų Android gudrybių, tereikia atsisiųsti ir įdiegti ZIP archyvą.

Pastaruoju metu gana dažnai išleidžiamos naujos branduolių versijos. Stabilus leidimas išleidžiamas kas kelis mėnesius. Tačiau nestabilūs kandidatai išleidžiami dar dažniau. Linusas Torvaldsas ir daugelis kūrėjų visame pasaulyje nuolat stengiasi tobulinti naujus branduolius ir pridėti jiems vis daugiau funkcijų.

Su kiekvienu nauju leidimu „Linux“ branduolys papildo kelių naujų įrenginių, tokių kaip nauji procesoriai, vaizdo plokštės ar net jutikliniai ekranai, palaikymą. Pastaruoju metu naujos aparatinės įrangos palaikymas labai pagerėjo. Taip pat į branduolį įtrauktos naujos failų sistemos, patobulintas tinklo krūvas, ištaisytos klaidos ir klaidos.

Jei jums reikia išsamesnės informacijos apie tam tikros branduolio versijos pakeitimus, žr. jo pakeitimų žurnalą adresu kernel.org, o šiame straipsnyje apžvelgsime Linux branduolio atnaujinimą į naujausią versiją. Instrukcijos pasistengsiu nesusieti su konkrečia branduolio versija, nauji branduoliai išleidžiami gana dažnai ir tai bus aktualu kiekvienam iš jų.

Apsvarstykite galimybę atnaujinti Ubuntu ir CentOS branduolius. Pirmiausia pažiūrėkime, kaip atnaujinti branduolį Ubuntu 16.04.

Pirmiausia pažiūrėkime, kurį branduolį įdiegėte. Norėdami tai padaryti, atidarykite terminalą ir paleiskite:

Pavyzdžiui, šiuo metu turiu 4.3 versiją ir galiu atnaujinti į naujausią versiją. Ubuntu kūrėjai jau pasirūpino, kad jų vartotojai nekurtų branduolio rankiniu būdu ir nekurtų deb paketų naujai branduolio versijai. Juos galima atsisiųsti iš oficialios „Canonical“ svetainės.

Galėčiau čia išvardyti atsisiunčiamas wget komandas, jei būtų žinoma branduolio versija, bet mūsų atveju geriau būtų naudoti naršyklę. Eikite į http://kernel.ubuntu.com/~kernel-ppa/mainline/. Čia yra visi Ubuntu komandos sudaryti branduoliai. Branduoliai yra sukurti konkretiems platinimams su platinimo kodiniu pavadinimu ir bendraisiais. Be to, Ubuntu 16.10 branduoliai greičiausiai veiks 16.04, bet nuo 9.04 Ubuntu 16.04 neturėtumėte įdiegti branduolio.

Slinkite į apačią, čia yra naujesnės branduolių versijos:

Be to, pačiame viršuje yra kasdienis / dabartinis aplankas, kuriame yra naujausios, naktinės branduolių versijos. Pasirinkite tinkamą branduolio versiją ir atsisiųskite dvi „Linux“ antraštes ir „Linux“ vaizdo failus savo architektūrai:

Kai atsisiuntimas bus baigtas, galite tęsti diegimą. Norėdami tai padaryti, terminale atlikite šiuos veiksmus:

Eikite į aplanką su diegimo paketais, pavyzdžiui, ~ / Atsisiuntimai:

Paleiskite diegimą:

Jei ši komanda neveikė, galite pereiti kitu keliu. Įdiekite gdebi įrankį:

sudo apt-get install gdebi

Tada naudokite jį branduoliui įdiegti:

sudo gdebi linux-headers * .deb linux-image - *. deb

Branduolys yra įdiegtas, belieka atnaujinti įkrovos įkroviklį:

sudo update-grub

Dabar galite iš naujo paleisti kompiuterį ir pamatyti, kas atsitiks. Paleidę iš naujo įsitikinkite, kad „Linux“ branduolio atnaujinimas į naujausią versiją buvo sėkmingas:

Kaip matote, branduolys buvo sėkmingai įdiegtas ir veikia. Tačiau neskubėkite pašalinti senosios branduolio versijos, rekomenduojama sistemoje turėti kelias branduolio versijas, kad iškilus problemoms galėtumėte paleisti iš senos darbinės versijos.

Automatiniai Linux branduolio atnaujinimai Ubuntu

Aukščiau matėme, kaip rankiniu būdu įdiegti reikiamą branduolio versiją. Anksčiau Ubuntu turėjo PPA kasdieniams branduolio kūrimui, bet dabar jis uždarytas. Todėl branduolį galite atnaujinti tik atsisiuntę deb paketą ir jį įdiegę. Bet visa tai galima supaprastinti naudojant specialų scenarijų.

Įdiekite scenarijų:

cd / tmp
$ git klonas git: //github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater / įdiegti

Atnaujinimų tikrinimas:

KernelUpdateChecker -r yakkety

Parinktis -r leidžia nurodyti platinimo šaką, kurios branduolių norite ieškoti. „Xenial“ branduoliai nebekuriami, tačiau kitos versijos branduoliai čia puikiai veiks. Be to, parinktis -no-rc gali nurodyti paslaugų programai nenaudoti kandidatų į leidimą, o parinktis -v nurodo tikslią įdiegtino branduolio versiją. Jei jums nesvarbu, kokiam platinimui skirtas branduolys, jei jis yra naujausias, naudokite parinktį --any-release. Scenarijus duos tokį rezultatą:

Prieš diegdami branduolį, galite pamatyti išsamią informaciją atidarę failą / tmp / kernel-update:

Čia matome, kad buvo atlikta yakkety paieška ir šiuo metu yra 4.7-rc6 branduolio versija. Galime sumontuoti:

sudo / tmp / kernel-update

Scenarijus parodys mums dabartinio branduolio versiją, taip pat branduolio, kuris bus įdiegtas, versiją, jo sukūrimo datą ir kitą informaciją. Taip pat jūsų bus paklausta, ar reikia vesti pakeitimų žurnalą. Toliau bus įdiegta:

Seni branduoliai, tik tuo atveju, neištrinkite (n):

Atlikta, branduolio atnaujinimas į naujausią versiją baigtas, dabar iš naujo paleiskite kompiuterį (y):

Patikrinkite, ar Ubuntu branduolio naujinimas iš tikrųjų veikė:

Be to, scenarijus buvo pridėtas prie paleisties ir dabar automatiškai tikrins, ar nėra atnaujinimų praėjus 60 sekundžių po prisijungimo. Automatinio įkėlimo spartusis klavišas yra faile:

vi ~ / .config / autostart / KernelUpdate.desktop

Galite jį pakeisti pagal poreikį arba ištrinti. Jei norite visiškai pašalinti scenarijų iš sistemos, paleiskite:

rm ~ / .config / autostart / KernelUpdate.desktop
$ sudo rm / usr / local / bin / KernelUpdate (tikrintuvas, scenarijų generatorius)

Neatsisiunčia

Jei diegimo metu įvyko kokių nors klaidų arba branduolys nebuvo tinkamai atnaujintas ir sistema dabar nepaleidžiama naudojant naują branduolį, galite naudoti senąjį branduolį. Be to, sistema gali nepasileisti, jei naudojate patentuotą NVIDIA vaizdo plokštės tvarkyklę, tokiu atveju neskubėkite atsisiųsti naujausios branduolio versijos, naudokite tik stabilius branduolius, kaip taisyklė, šio modulio palaikymas jau buvo pridėtas jiems.

Ir norėdami atkurti sistemą, pasirinkite elementą Išplėstinės Ubuntu parinktys Grub meniu:

Ir paleiskite ankstesnį veikiantį branduolį:

Po paleidimo belieka pašalinti neteisingai įdiegtą branduolį ir dar kartą atnaujinti Grub, pakeisti reikiamą branduolio versiją vietoj 4.7:

sudo apt pašalinti linux-header-4.7 * linux-image-4.7 *

sudo update-grub

Jūsų sistema dabar grįžta į ankstesnę būseną. Galite pabandyti įdiegti senesnę branduolio versiją arba bandyti dar kartą.

„Linux“ branduolio atnaujinimas į 4.4 „CentOS“.

Dabar pažiūrėkime, kaip atnaujinti naujausią „Linux“ branduolį „CentOS“. Instrukcijos buvo išbandytos „CentOS 7“, bet greičiausiai veiks „RedHat 7“, „Fedora“ ir kituose panašiuose platinimuose.

Paprastai nauji branduoliai neįtraukiami į oficialias CentOS saugyklas, todėl norėdami gauti naujausią stabilią versiją turėsime pridėti ELRepo saugyklą. Tai yra Enterprise Linux Packages saugykla, kurią taip pat palaiko RedHat ir Fedora.

Norėdami pridėti saugyklą, atlikite šiuos veiksmus:

Pirmiausia turite importuoti raktą:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Pridėkite saugyklą ir reikalingus komponentus prie RHEL / Scientific Linux / CentOS-7:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum install yum-plugin-fastestmirror

Fedora 22 ir naujesnės versijos: