Počítače Okna Internet

Učení Androidu. Jádro - co to je. Flashing jádra zařízení se systémem Android Přetaktování, úspora napětí a energie

V neděli večer bylo oficiálně uvolněno nové jádro Linuxu 3.10. Podle Linuse Torvaldse se jádro ukázalo jako největší z hlediska inovací za posledních několik let. Linus původně zamýšlel vydat dalšího kandidáta na vydání, ale přiklonil se ke konečnému vydání 3.10 – a ve svém příspěvku poznamenává, že nové jádro, stejně jako Linux 3.9, není náchylné ke zdravotním problémům a je připraveno na každodenní použití.

V oznámení RC verze Torvalds napsal, že obvykle obsahuje seznam jmen lidí, kteří poslali určité části kódu, ale tentokrát byl seznam tak velký, že nemohl být uveden celý na jednom poštovní seznam.

Neúplný seznam změn provedených v jádře 3.10:

  • Je možné zabránit spouštění skriptů jako programů – funkcionalitu pro spouštění skriptů obsahujících cestu k interpretu v hlavičce „#!“ lze nyní zkompilovat jako modul jádra;
  • Integrovaný vyvinut a používán v systém Google Bcache. Bcache umožňuje ukládat do mezipaměti přístup k pomalým pevným diskům na rychlých discích SSD; ukládání do mezipaměti se provádí na úrovni blokového zařízení - a to vám umožňuje urychlit přístup k jednotce bez ohledu na systémy souborů používané na zařízení;
  • Jádro lze zkompilovat pomocí kompilátoru Clang díky patchům připraveným projektem LLVMLinux;
  • Objevil se dynamický řídicí systém pro generování přerušení časovače. Nyní můžete v závislosti na aktuálním stavu měnit přerušení v rozsahu od tisíců tiků za sekundu až po jedno přerušení za sekundu – to umožňuje minimalizovat zátěž CPU při zpracování přerušení v případě nečinnosti systému. V současnosti se tato funkce používá pro systémy pracující v reálném čase a HPC (high-performance computing), ale v budoucích verzích jádra bude povolena i pro stolní systémy;
  • Nyní je možné vygenerovat událost upozorňující aplikaci na blížící se vyčerpání dostupné paměti pro proces/systém (v cgroups);
  • Profilování přístupu do paměti je dostupné pro příkaz perf;
  • Objevil se nový řidič"synchronizace" (experimentální). Byl vyvinut v rámci platformy Android a slouží k synchronizaci mezi ostatními ovladači;
  • Objevil se ovladač pro virtuální grafické adaptéry Microsoft Hyper-V (existuje také vylepšení v provozu Hyper-V jako celku);
  • Nové nástroje pro správu napájení představené v procesory AMD rodina 16h ("Jaguar");
  • Do Radeon DRM byla přidána podpora zrychleného dekódování videa pomocí hardwarového dekodéru UVD zabudovaného do moderních GPU AMD;
  • Přidána podpora protokolu RDMA (iSER) do subsystému iSCSI;
  • Provádění kryptografických funkcí (sha256, sha512, blowfish, twofish, had a kamélie) je optimalizováno pomocí instrukcí AVX/AVX2 a SSE.;
  • Byl integrován ovladač virtuální grafické karty QXL (používá se ve virtualizačních systémech pro akcelerovaný grafický výstup pomocí protokolu SPICE).

V neděli večer Linus Torvalds, linuxový rodič a vývojář jádra operační systém, po dvou měsících práce oznámil vydání nová verze Linuxové jádro 3.10.

Podle samotného vývojáře se toto jádro ukázalo jako největší z hlediska inovací za posledních pár let.

Linus připustil, že nejprve zamýšlel vydat dalšího kandidáta na vydání, ale po chvíli přemýšlení se přiklonil k okamžitému vydání finálního vydání s číslem 3.10. Torvalds ve své zprávě také poznamenal, že nové jádro, stejně jako verze 3.9, je zcela připraveno pro každodenní použití.

Navíc v oznámení RC verze jádra Linus Torvalds napsal, že dříve vždy zahrnoval seznam jmen lidí, kteří poslali určité části kódu, ale tentokrát by tento seznam byl tak velký, že by nemohl být celý v jednom listu.

Seznam hlavních změn provedených v jádře 3.10:

  • Nyní je možné zabránit spouštění skriptů jako programů – funkcionalitu pro spouštění skriptů obsahujících cestu k interpretu v hlavičce „#!“ lze nyní zkompilovat jako modul jádra;
  • Systém Bcache vyvinutý a používaný společností Google je integrovaný. Bcache umožňuje ukládat do mezipaměti přístup k pomalým pevným diskům na rychlých discích SSD; ukládání do mezipaměti se provádí na úrovni blokového zařízení - a to vám umožňuje urychlit přístup k jednotce bez ohledu na systémy souborů používané na zařízení;
  • Jádro lze zkompilovat pomocí kompilátoru Clang díky patchům připraveným projektem LLVMLinux;
  • Objevil se dynamický řídicí systém pro generování přerušení časovače. Nyní můžete v závislosti na aktuálním stavu měnit přerušení v rozsahu od tisíců tiků za sekundu až po jedno přerušení za sekundu – to umožňuje minimalizovat zátěž CPU při zpracování přerušení v případě nečinnosti systému. V současnosti se tato funkce používá pro systémy pracující v reálném čase a HPC (high-performance computing), ale v budoucích verzích jádra bude povolena i pro stolní systémy;
  • Nyní je možné vygenerovat událost upozorňující aplikaci na blížící se vyčerpání dostupné paměti pro proces/systém (v cgroups);
  • Profilování přístupu do paměti je dostupné pro příkaz perf;
  • Přidána podpora protokolu RDMA (iSER) do subsystému iSCSI;
  • Je tu nový "synchronizační" ovladač (experimentální). Byl vyvinut v rámci platformy Android a slouží k synchronizaci mezi ostatními ovladači;
  • Byl integrován ovladač virtuální grafické karty QXL (používá se ve virtualizačních systémech pro akcelerovaný grafický výstup pomocí protokolu SPICE);
  • Nyní jsou podporovány nové funkce správy napájení představené u procesorů AMD 16h (Jaguar);
  • Do Radeon DRM byla přidána podpora zrychleného dekódování videa pomocí hardwarového dekodéru UVD zabudovaného do moderních GPU AMD;
  • Objevil se ovladač pro virtuální grafické adaptéry Microsoft Hyper-V (existuje také vylepšení v provozu Hyper-V jako celku);
  • Provádění kryptografických funkcí (sha256, sha512, blowfish, twofish, had a kamélie) je optimalizováno pomocí instrukcí AVX/AVX2 a SSE.

mnoho majitelů Zařízení Android na různých fórech a stránkách člověk často narazí na zmínku o něčem nesrozumitelném, čemu se říká kernel nebo anglicky kernel. Lze jej změnit a zmínka o něm se nachází v nabídce nastavení zařízení v části „O tabletu (telefonu)“.

Pokud zapátráte hlouběji, ukáže se, že jádro je součástí operačního systému a má ho nejen Android, ale i další operační systémy: Windows, iOS, MacOS a další. Nás ale bude zajímat jádro Androidu a co to je, se pokusím vysvětlit na úrovni začínajících uživatelů.

Pravděpodobně víte, že jakýkoli operační systém, včetně Androidu, je vesměs souborem programů, které řídí provoz celého zařízení a jsou zodpovědné za spouštění uživatelských aplikací, jako jsou hry, správci souborů, webové prohlížeče a další.

A jádro Androidu je ve skutečnosti nejdůležitější částí operačního systému, která je zodpovědná za interakci mezi veškerou hardwarovou a softwarovou částí systému. Jádro se skládá ze sady ovladačů pro veškerý hardware dostupný v zařízení a ze subsystému pro správu paměti, sítě, zabezpečení a dalších základních funkcí operačního systému.
Když se například dotknete obrazovky a spustíte aplikaci, ovladač dotykový panel obrazovka určí místo, kde došlo ke kliknutí, a nahlásí souřadnice dalším programům, které opět s pomocí jádra najdou v paměti zařízení požadovanou aplikaci a spusťte jej. Jedná se samozřejmě o velmi zjednodušený model, který však odráží podstatu fungování operačního systému.

Zjistili jsme tedy, že když jakýkoli software potřebuje k něčemu hardware tabletu nebo telefonu, obrátí se kvůli tomu na jádro operačního systému.

Jádro spravuje naprosto vše: Wi-Fi, Bluetooth, GPS, paměť a další zařízení. Výjimkou není ani „srdce“ zařízení – jeho procesor. Jádro může řídit svou frekvenci a napájení.
jádro operačního sálu Systémy Android, který si jeho vývojáři, společnost Google, vypůjčili z operačního systému Linux.

Vzhledem k tomu, že jádro ovládá veškerý hardware a hardware všech tabletů a telefonů je odlišný, dokončuje se základní jádro Androidu výrobcem pro každé zařízení zvlášť.

Stejně jako firmware jsou jádra skladová (tovární) a vlastní - alternativní, vytvořená nezávislými vývojáři.

Proč potřebujeme vlastní jádra? Burzovní jádro je výrobcem maximálně optimalizováno pro konkrétní zařízení, ale většinou blokuje důležité funkce jádra, jako je řízení frekvence procesoru. A pokud potřebujete přetaktovat procesor svého tabletu, budete muset změnit jádro na vlastní, ve kterém je funkce řízení frekvence procesoru odblokována.

Vlastní jádra jsou také obvykle založena na novějších verzích linuxových jader. Zde je přibližný seznam funkcí, které nám vlastní jádra poskytují:

  • Změna frekvence procesoru v širokém rozsahu;
  • Přetaktování grafického subsystému (GPU);
  • Snížení frekvence a napětí procesoru, což umožňuje dosáhnout delší výdrže baterie;
  • Novější a kvalitnější ovladače, například zrychlení GPS nebo přidání nových funkcí;
  • Dostatek příležitostí pro nastavení a konfiguraci zvuku a barevného gamutu obrazovky;
  • Podpora alternativních souborových systémů (XFS, ReiserFS a další).

Vzhledem k tomu, že alternativní jádra jsou vytvářena nezávislými vývojáři, není zaručeno, že po instalaci vlastního jádra bude váš tablet nebo telefon fungovat bez poruch. Proto je vhodné před flashováním nového jádra udělat kompletní záloha systémy.

Uživatelé mobilní zařízení ne vždy spokojeni s prací a možnostmi svých gadgetů. Z tohoto důvodu uživatelé hledají nejlepší způsob, jak flashovat jádro operačního systému Android. Na jedné straně lze takovou akci snadno provést pomocí vašeho tabletu nebo smartphonu. Tisíce uživatelů úspěšně flashly jádro bez jakýchkoli potíží a problémů. Ale na druhou stranu, jakákoli chyba během tohoto procesu může vést k, mezi které patří selhání gadgetu a potřeba drahého servisu. V různých fázích existuje riziko, že zvolíte špatnou verzi firmwaru jádra, která je vytvořena nekvalifikovanými vývojáři nebo se nehodí do vašeho mobilního zařízení. Doporučujeme, abyste byli velmi opatrní při provádění jakýchkoli akcí, které mění softwarovou část zařízení na nízké úrovni. Po úspěšném flashnutí jádra mají mnozí pocit, že drží v ruce úplně nové zařízení. Pokročilí uživatelé si tak mohou přizpůsobit gadget podle svých potřeb a preferencí a zároveň získat nové znalosti a zkušenosti o moderních mobilních technologiích.

Jádro operačního systému Android a jeho firmware

Co je jádrem mobilního zařízení?

Základem je jádro operačního systému software, který ovládá hardware zařízení. Na tom závisí hlavní parametry jakéhokoli gadgetu. Je třeba poznamenat, že se skládá ze tří vzájemně propojených komponent – ​​linuxového jádra, vertikálního stroje Dalvik a různých nízkoúrovňových služeb a knihoven. Pokud se bavíme o vlastním firmwaru, pak se to týká pouze dvou komponent, které umožňují přidávat nové systémové služby, optimalizovat stávající parametry a měnit grafický shell.

Ti, kteří chtějí nainstalovat jádro na Android, by měli pochopit, že existuje rozdíl mezi koncepty vlastního jádra a vlastního firmwaru. Ta je neoficiální verzí softwaru. Vlastní firmware vyvinutý týmem specialistů pod konkrétní zařízení. Vlastní jádro je založeno na jádře Linuxu, které představuje jeho neoficiální verzi. S firmwarem se často dodává vlastní jádro. Ale lze jej nainstalovat samostatně po změně firmwaru. Ve skutečnosti nenahrazuje nativní jádro mobilního zařízení, což je konečným cílem takové operace.

Flashování jádra Androidu se provádí hlavně za účelem zvýšení provozní doby zařízení o několik hodin úpravou parametrů spotřeby energie. Možná to je hlavní důvod, proč uživatelé provádějí složité transformace softwaru svých gadgetů. Firmware vám také umožní změnit videočip bez následků pro váš smartphone nebo tablet. Pokročilí uživatelé tak upravují obrazovku, mění její reprodukci barev, citlivost. Firmware jádra umožňuje zlepšit zvuk zařízení, aktualizovat ovladače a implementovat podporu pro nestandardní externí gadgety.

Před flashováním jádra doporučujeme ujistit se, že jste zvolili správnou verzi, kterou vytvořili zkušení vývojáři. Kromě toho je důležité se ujistit, že odpovídá verzi firmwaru systému Android. Je vhodné si přečíst recenze lidí, kterým se podařilo nainstalovat příslušnou verzi jádra do mobilu. Recenze mohou obsahovat důležité informace o problémech, které mohou nastat během firmwaru nebo dalšího provozu zařízení.

Firmware gadgetu přes Fastboot

Zařízení Android můžete flashovat pomocí Fastbootu. Nejprve však musíte nainstalovat nástroj do svého gadgetu. Existují dvě verze tohoto programu. První zahrnuje stažení Fastbootu v kombinaci s oficiálním program pro Android SDK. Druhá verze zahrnuje stažení nástroje samostatně.

Doporučujeme zkontrolovat, zda vaše mobilní zařízení vidí notebook nebo počítač. Chcete-li to provést, musíte provést. Po stažení a instalaci do počítače, notebook běží na operační systém Windows, Nástroj Fastboot a připojení smartphonu, musíte otevřít příkazový řádek. Chcete-li to provést, otevřete Hledat. Ve Windows 8 stačí pouze přesunout kurzor myši na pravá strana obrazovce a vyberte příslušnou sekci. Do vyhledávání musíte zadat "cmd", po kterém uvidíte příkazový řádek. Zařízení by mělo být uvedeno do režimu firmwaru. Dále zadejte příkaz, který otestuje interakci mezi počítačem a mobilním zařízením:

fastboot zařízení

Pokud vše funguje, musíte nahrát správnou verzi firmwaru jádra boot.img. Nedoporučujeme flashovat jádro původního firmwaru, protože to může vést k problémům ve smartphonu. Soubor by měl být uložen do předem vytvořeného oddílu na jednotce C s názvem „Android“. Poté musíte zavést své mobilní zařízení do Fastbootu a připojit jej k počítači. Na obrazovce se objeví zpráva „Fastboot USB“.

  • cd C:\Android.
  • fastboot flash boot boot.img.
  • rychlé spuštění vymazání mezipaměti.
  • fastboot restart.

Je velmi důležité zadat všechna slova správně, s ohledem na velká a malá písmena a mezery. Příkaz cd otevře požadovanou složku, která obsahuje požadované soubory. Poté dojde k blikání. Příkaz fastboot erase cache odstraní oddíl mezipaměti. Poslední příkaz - fastboot reboot restartuje zařízení z režimu firmwaru do normálního stavu. Pokud jste všechny tyto kroky provedli správně, bude proces úspěšný.

Firmware pomocí ClockworkMod Recovery

ClockworkMod Recovery (nebo zkráceně CWM) je systém obnovy, který se používá místo původního obnovení z výroby. CWM umožňuje instalaci nový firmware do mobilního zařízení, flashujte jádro, zálohujte soubory a obnovte shell. Takový systém může pracovat se soubory aktualizace firmwaru, které mají formát zip. ClockworkMod je nainstalován v , nahrazuje tovární Recovery. Chcete-li spustit CWM, musíte znát kombinaci kláves, která je vhodná pro váš gadget. Ve většině případů se jedná o kombinaci tlačítek pro snížení hlasitosti a zapnutí, která by měla být stisknuta během spouštění zařízení.

Chcete-li flashovat jádro, stáhněte si archiv s příponou zip. Musí obsahovat složku META-INF. Dále jsou dvě možnosti. V prvním případě musíte zadat soubor firmwaru. Druhá možnost zahrnuje umístění souboru firmwaru do složky / sdcard. Poté byste měli aktivovat ClockworkMod Recovery, najít tam funkci Apply update from sdcard a zadat požadovaný soubor.

Je třeba poznamenat, že nabídka ClockworkMod Recovery je pohodlná a srozumitelná pro většinu uživatelů. Kromě takového systému obnovy firmwaru můžete použít TWRP Recovery. Tento nástroj je pohodlný a oblíbený mezi uživateli Androidu. Hlavní je si vybrat správný soubor firmware.

Flashování jádra Androidu je postup, který nedoporučujeme používat, pokud jste s fungováním gadgetu zcela spokojeni. Tyto akce jsou vedeny touhou zlepšit výkon. mobilní telefon nebo tablet. Pokročilí uživatelé získají možnost nastavení parametrů na nižší úrovni. Ale bez určitých znalostí a objektivních důvodů je lepší neměnit softwarovou část mobilního zařízení, protože to je spojeno s riziky a poruchami v jeho provozu.

O vlastním firmwaru, kořenových aplikacích a alternativních spouštěcích nabídkách jsme již psali nejednou. To vše jsou standardní témata v komunitě hackerů Android, nicméně kromě všeho výše uvedeného existuje také něco jako „custom kernel“, které může poskytnout téměř neomezené možnosti pro správu smartphonu a jeho hardwaru na nejnižší úrovni. úroveň. V tomto článku vám řeknu, co to je, proč to potřebujete a jak si vybrat to správné vlastní jádro.

vlastní jádro?

Co je to vlastní jádro? Jak všichni víme, Android je koláč složený ze tří základních vrstev: linuxového jádra, sady nízkoúrovňových knihoven a služeb a virtuální stroj Dalvik, nad nímž běží grafický shell, nástroje a služby na vysoké úrovni a také téměř všechny aplikace nainstalované z trhu. Tvůrci většiny alternativních vlastních ROM obvykle pracují pouze s horními dvěma vrstvami, přidávají funkce do grafického prostředí (například tlačítka v závěsu), mění jej (engine motivu v CyanogenMod) a také přidávají nové systémové služby (ekvalizér v CyanogenMod) a optimalizaci stávajících.

Autoři populárního firmwaru také v rámci možností provádějí změny v jádře Linuxu: optimalizují (sestavují s agresivnějšími příznaky optimalizace kompilátoru), zahrnují nové funkce (například podporu sdílení Windows) a také provádějí další změny, jako je schopnost zvýšit frekvenci procesoru nad hodnotu výrobce . To vše často zůstává v zákulisí a mnoho uživatelů vlastního firmwaru si tyto funkce ani neuvědomuje, zejména proto, že stejný CyanogenMod přichází s vlastním jádrem pouze pro omezený rozsah zařízení, pro které je zdrojový kód nativního jádra a možnost jeho výměny jsou k dispozici. Například téměř veškerý firmware CyanogenMod pro smartphony Motorola používá standardní jádro – je nemožné jej nahradit vlastním kvůli neproniknutelné ochraně bootloaderu.

Jádro v chytrých telefonech s odemčeným bootloaderem lze ale vyměnit odděleně od hlavního firmwaru. A nejen nahradit, ale nainstalovat jádro s obrovským množstvím různých funkcí, které ke správě vyžadují určité technické znalosti, a proto obvykle nejsou zabudovány do jader populárního firmwaru, jako je CyanogenMod, AOKP a MIUI. Mezi těmito funkcemi můžete najít podporu pro vysoké frekvence procesoru, ovládání gama obrazovky, režimy úspory energie, vysoce účinné správce napájení a velké množství dalších funkcí.

V tomto článku budeme hovořit o tom, co nám tvůrci vlastních jader mohou nabídnout, zvažte hlavní vlastní jádra pro různá zařízení, a také zkusit nainstalovat jádro bez ohledu na hlavní firmware a vše zkontrolovat na vlastní kůži. Co tedy vývojáři alternativních jader obvykle nabízejí?

inteligentní dopravní kontrolor

SoC OMAP35XX používané například v Galaxy S II a Galaxy Nexus mají funkci SmartReflex, která funguje jako inteligentní systém úpravy napětí při změně zatížení procesoru. Ve skutečnosti eliminuje potřebu jemného doladění napětí uživatelem.

Optimalizace

Hlavním účelem vytváření vlastního jádra je často optimalizace výkonu. Obvykle prodejce mobilní technologie se snaží udržet rovnováhu mezi výkonem a stabilitou, takže i dobré optimalizační techniky, které dokážou výrazně zvýšit rychlost zařízení, může výrobce odmítnout pouze na základě toho, že po jejich aplikaci začaly některé aplikace padat při každém desátém spuštění. Takové drobnosti samozřejmě nadšencům nevadí a řada z nich je připravena aplikovat až na dřeň vlastní montáž jakékoli možnosti kompilátoru, algoritmy pro úsporu energie a zvýšení frekvence procesoru tak vysoko, jak to zařízení snese. Mezi všemi optimalizačními technikami jsou nejběžnější čtyři:



Další typ optimalizace: změna výchozího I/O plánovače. Situace v této oblasti je ještě zajímavější, protože někteří tvůrci jádra namísto pochopení toho, jak plánovače fungují, prostě čtou dokumenty o plánovačích I/O Linuxu na webu a vyvozují závěry. Mezi uživateli je tento přístup ještě běžnější. Ve skutečnosti jsou téměř všechny nejvýkonnější a nejchytřejší plánovače Linuxu pro Android zcela nevhodné: jsou navrženy pro použití s ​​mechanickými datovými úložišti, ve kterých se rychlost přístupu k datům mění v závislosti na poloze hlavy. Plánovač používá různá schémata agregace dotazů v závislosti na fyzickém umístění dat, takže požadavky na data, která jsou blízko aktuálnímu umístění hlavy, dostanou vyšší prioritu. To je zcela nelogické v případě polovodičové paměti, která zaručuje stejnou rychlost přístupu ke všem buňkám. Pokročilí plánovači nadělají na smartphonu více škody než užitku a ti nejnešikovnější a nejprimitivnější ukážou nejlepší výsledky. Linux má tři takové plánovače:

  • Noop (žádná operace)- tzv. neplánovač. Jednoduchá fronta požadavků FIFO, první požadavek bude zpracován jako první, druhý druhý a tak dále. Dobře se hodí pro SSD paměti a umožňuje spravedlivě upřednostňovat aplikace pro přístup k disku. Další plus: nízké zatížení procesoru díky velmi jednoduchému principu ovládání. Mínus: žádné zohlednění specifik zařízení, což může způsobit výpadky výkonu.
  • SIO (jednoduché I/O)- analog plánovače uzávěrky bez zohlednění vzájemné blízkosti sektorů, to znamená, že je navržen speciálně pro polovodičovou paměť. Dvě hlavní přednosti: priorita operací čtení před operacemi zápisu a seskupování operací podle procesů s přidělením časového úseku pro každý proces, který má provádět operace. V chytrých telefonech, kde je důležitá rychlost aktuální aplikace a převaha čtení nad zápisem, vykazuje velmi dobrý výkon. K dispozici v jádře Leankernel, Matr1x pro Nexus 4 a SiyahKernel.
  • ŘÁDEK (Přečíst přes ZÁPIS) je plánovač speciálně navržený pro mobilní zařízení a přidán do jádra před několika měsíci. Hlavní výzva: prioritní zpracování požadavků na čtení, ale spravedlivé rozdělení času pro požadavky na zápis. Považován za nejlepší v tento moment plánovač pro paměť NAND, který se standardně používá v Leankernel a Matr1x.

Za zmínku stojí, že téměř veškerý standardní firmware a polovina vlastních stále používá jádro se standardním plánovačem Linux CFQ, což však není tak špatné, protože může správně fungovat s disky SSD. Na druhou stranu je příliš složitý, tvoří větší zátěž na procesor (a potažmo baterii) a nezohledňuje specifika mobilního OS. Další oblíbenou volbou je plánovač Deadline, který je stejně dobrý jako SIO, ale je přehnaný. Seznam dostupných plánovačů můžete zobrazit pomocí následujícího příkazu:

# cat /sys/block/*/queue/scheduler

Chcete-li změnit, použijte toto (kde řádek je název plánovače):

# for i v /sys/block/*/queue/scheduler; do echo row > $1; Hotovo

Někteří tvůrci jádra také používají jiný druh optimalizace související s I/O. Je to výlet systémové volání fsync, který se používá k vynucení vyprázdnění změněného obsahu otevřít soubory na disk. Existuje názor, že bez fsync bude systém přistupovat k jednotce méně často, a tím šetřit čas procesoru a energii baterie. Poněkud kontroverzní tvrzení: fsync se v aplikacích nepoužívá příliš často a pouze pro uložení opravdu důležitých informací, ale jeho vypnutí může vést ke ztrátě stejných informací v případě pádu operačního systému nebo jiných problémů. Možnost zakázat fsync je dostupná v jádrech franco.Kernel a GLaDOS a ovládá se pomocí souboru /sys/module/sync/parameters/fsync_enabled, který by měl být zapsán jako 0 pro zakázání nebo 1 pro povolení. Opět se tato funkce nedoporučuje.

Přidání nových funkcí do jádra

Samozřejmě kromě optimalizací, vychytávek a různé systémy pokročilá správa hardwaru, vlastní jádra také obsahují zcela nové funkce, které nejsou dostupné ve standardních jádrech, ale které mohou být užitečné pro uživatele.

V podstatě se jedná o různé ovladače a souborové systémy. Některá jádra například obsahují podporu pro modul CIFS, který umožňuje připojit sdílené složky Windows. Takový modul je v jádře Matr1x pro Nexus S, faux123 pro Nexus 7, SiyahKernel a GLaDOS. Samo o sobě je to k ničemu, ale na trhu existuje několik aplikací, které vám umožňují využít jeho schopnosti.

Další užitečnou věcí je začlenění ovladače ntfs-3g do jádra (přesněji v balení s jádrem samotný ovladač funguje jako linuxová aplikace), který je nutný pro připojení flash disků naformátovaných v souborovém formátu. systém NTFS. Tento ovladač je dostupný v jádrech faux123 a SiyahKernel. Obvykle se aktivuje automaticky, ale pokud se tak nestane, můžete použít aplikaci StickMount z marketu.

Mnoho jader také obsahuje podporu pro takzvanou technologii zram, která umožňuje vyhradit si malé množství paměti RAM (obvykle 10 %) a použít ji jako komprimovanou swapovací oblast. V důsledku toho dochází k jakémusi rozšíření množství paměti, bez vážnějších následků na výkon. K dispozici v Leankernel, povoleno pomocí příkazu Trickster MOD nebo zram enable.

Poslední dvě zajímavé funkce jsou Fast USB charge a Sweep2wake. První není nic jiného než vynucená aktivace „ rychlé nabíjení“, i když je smartphone připojen k portu USB počítače. Režim rychlého nabíjení je dostupný ve všech víceméně nových chytrých telefonech, nicméně kvůli technickým omezením jej nelze aktivovat současně s přístupem na paměťovou kartu. Funkce rychlého nabíjení USB umožňuje vždy povolit tento režim a zároveň zakázat přístup k disku.

Sweep2wake je nová cesta budící zařízení vynalezené autorem Breaked-kernel. Jeho smyslem je zapnout smartphone přetažením navigačních kláves umístěných pod obrazovkou, nebo přes obrazovku samotnou. To je opravdu šikovná funkce, ale jejím zapnutím zůstane senzor aktivní, i když zařízení spí, což může znatelně vybíjet baterii.

Přetaktování, úspora napětí a energie

Přetaktování je oblíbené nejen mezi majiteli stacionárních počítačů a notebooků, ale také mezi nadšenci do mobilních technologií. Stejně jako kameny architektury x86 skvěle běží procesory a grafická jádra mobilních technologií. Samotný způsob přetaktování a kroky k jeho implementaci jsou zde však poněkud odlišné. Faktem je, že standardní ovladače pro SoC odpovědné za úsporu energie a změnu frekvence procesoru jsou obvykle uzamčeny na standardních frekvencích, takže pro jemné doladění musíte nainstalovat buď alternativní ovladač, nebo vlastní jádro.

Téměř všechna více či méně kvalitní a oblíbená custom jádra již obsahují odemčené ovladače, takže po jejich instalaci se možnost ovládat „výkon“ procesoru značně rozšíří. Vlastní tvůrci jádra obvykle dělají dvě věci, které ovlivňují výběr frekvence. Jedná se o rozšíření frekvenčního rozsahu nad původně nastavené – nastavit lze jak vyšší frekvenci procesoru, tak i velmi nízkou, což umožňuje šetřit baterii a zvýšit gradaci frekvence například místo tří možných frekvencí, máte na výběr ze šesti. Druhým je přidání možnosti upravit napětí procesoru, díky čemuž je možné napětí procesoru snížit o nízké frekvence pro úsporu energie baterie a pro zvýšení stability.

To vše lze ovládat pomocí známé placené utility SetCPU nebo bezplatného Trickster MODu. Doporučení pro správu jsou stejná jako u stolních systémů. Spodní frekvenci procesoru je lepší nastavit na minimum, ale ne nižší než 200 MHz (aby nedocházelo k prodlevám), horní práh se zvyšuje postupně s testováním stability, při poklesu se doporučuje mírně zvýšit napětí pro daný frekvence. Neexistují žádná doporučení ohledně napětí, protože každý procesor je jedinečný a hodnoty se budou pro každého lišit.

Kromě změny frekvencí přidávají assemblery do jádra často nové řídicí algoritmy pro úsporu energie ( automatické ovládání frekvence procesoru), o kterých se domnívají, že mohou fungovat lépe než ty standardní. Téměř všechny jsou založeny na interaktivním algoritmu používaném standardně v nových verzích Androidu, jehož podstatou je v případě zvýšení zátěže prudce zvýšit frekvenci procesoru na maximum a následně ji postupně snižovat na minimum. . Nahradil dříve používaný algoritmus OnDemand, který plynule upravoval frekvenci v obou směrech v poměru k zátěži a umožňuje zvýšit odezvu systému. Alternativní tvůrci jádra nabízejí následující algoritmy, které nahrazují interaktivní:

  • SmartAssV2- Přehodnocení interaktivního algoritmu se zaměřením na úsporu baterie. Hlavním rozdílem je netahat za procesor vysoké frekvence v případě krátkých návalů zátěže, na které stačí nízký výkon procesoru. Výchozí hodnota se používá v jádře Matr1x.
  • InteractiveX- vyladěný interaktivní algoritmus, jehož hlavním rysem je uzamčení procesoru na minimální uživatelsky zadané frekvenci a odpojení druhého jádra procesoru při vypnutí obrazovky. Výchozí hodnota se používá v Leankernelu.
  • LulzactiveV2- v podstatě znovuobjevený OnDemand. Když zatížení procesoru překročí zadanou hodnotu (ve výchozím nastavení 60 %), algoritmus zvýší frekvenci o určitý počet dílků (ve výchozím nastavení 1) a sníží ji, když se zatížení sníží. Zvláště zajímavé je, že vám umožňuje nezávisle nastavit parametry práce, proto je vhodný pro otužilé geeky.

Obecně platí, že tvůrci jádra velmi rádi přicházejí s novými algoritmy pro úsporu energie kvůli jednoduchosti jejich implementace, takže můžete najít asi tucet dalších. Většina z nich je úplný škvár a při výběru plánovače byste se měli řídit pravidlem: buď jeden ze tří výše popsaných, nebo standardní Interactive, který je mimochodem velmi dobrý. Můžete si vybrat pomocí stejného Trickster MODu.

Rozhraní pro správu

Většina oblíbených vlastních jader obsahuje několik mechanismů pro jemné ovládání různých parametrů ovladače, z nichž nejběžnější jsou ColorControl, GammaControl, SoundControl a TempControl.

První dvě rozhraní jsou dostupná téměř všude, včetně jader CyanogenMod, druhá dvě - v Leankernel a možná i v dalších. Tak či onak, všechny lze ovládat pomocí Trickster MOD.

Nuclei

Jaké jádro vybrat? Na tuto otázku neexistuje jediná odpověď, a ne proto, že „každému po svém“, ale proto, že na světě existuje obrovské množství zařízení Android a téměř tolik různá jádra. Existuje však několik populárních jader, která jsou vyvíjena pro více zařízení najednou. Tak či onak, mnohé z nich jsem v průběhu příběhu zmínil, ale zde uvedu jejich stručný popis.

  • Leankernel je jádro pro Galaxy Nexus, Nexus 7 a Galaxy S III. Hlavní důraz při vývoji je kladen na jednoduchost a rychlost práce. Algoritmus úspory energie: InteractiveX V2, I/O Scheduler: ROW, všechna výše uvedená ovládací rozhraní, podpora rychlého nabíjení USB, Swap a zram, flexibilní přetaktování CPU a GPU. Jedno z nejlepších jader. Přizpůsobitelné pomocí Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) – Jádro pro Nexus S a Nexus 4. Jednoduché a přehledné jádro. Podpora přetaktování CPU a GPU, GammaControl, Fast USB Charge, Sweep2wake, I/O plánovače: SIO, ROW a FIOPS. Vylepšení výkonu. Přizpůsobitelné pomocí Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) je jednoduché a přehledné jádro pro zařízení Nexus 4 a HTC One X. Optimalizace pro Snapdragon S4 a NVIDIA Tegra 3, přepracovaný režim úspory energie pro Tegra 3, možnost přetaktování, algoritmus úspory energie: vyladěný OnDemand (k dispozici je také interaktivní).
  • SiyahKernel je jádro pro Galaxy S II a S III. Flexibilní možnosti přetaktování, automatická kalibrace baterie, vylepšený ovladač Dotyková obrazovka, algoritmy úspory energie: smartassV2 a lulzactiveV2, I/O plánovače: noop, deadline, CFQ, BFQV3r2 (výchozí), V(R), SIO. Ovladače CIFS a NTFS (s automatickým připojením). Konfigurovatelné pomocí ExTweaks.
  • franco.Kernel - jádro pro Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One a One X.

Schopnosti jádra se mezi zařízeními značně liší, takže podrobnosti bude nutné prozkoumat na místě. Flashnutím tohoto jádra však získáte možnost přetaktování, ladění ovladačů, vynikající výkon a také podporu různých algoritmů a plánovačů pro úsporu energie. Ve skutečnosti jádro obsahuje téměř všechny vychytávky popsané v článku. Považováno za jedno z nejlepších dostupných jader. Existuje aplikace pro automatická aktualizace franko.kernel updater. Můžete nakonfigurovat pomocí Trickster MOD.

Jak nainstalovat?

Všechna jádra jsou distribuována ve standardních Android ZIP archivech, které by měly být flashovány přes konzolu pro obnovu stejným způsobem jako alternativní firmware. Obvykle jsou jádra kompatibilní s jakýmkoli firmwarem, takže po výběru správného jádra jej můžete bezpečně nainstalovat. Jediné, na co byste si měli dát pozor, je verze Androidu, se kterou je jádro kompatibilní. Obojí se dokáže přiblížit všem dostupným zařízením Verze Androidu a pracovat pouze s jedním (vývojář to obvykle výslovně říká). Před flashováním nezapomeňte zálohovat aktuální firmware pomocí stejné konzoly pro obnovení. Pokud se něco pokazí, vždy se můžete vrátit zpět.

závěry

Jak vidíte, vlastní jádra mají mnoho výhod oproti jádrům používaným ve standardních resp firmware třetí strany. A co je důležitější, k jejich používání nepotřebujete znát všechny jemnosti Androidu, stačí si stáhnout a nainstalovat archiv ZIP.