Atkārtoti mirgo android ierīces kodols. Pārskats par Android 3.10 65 kodola versijas kodola funkcijām

Svētdienas vakarā Linus Torvalds, Linux vecāks un operētājsistēmas kodola izstrādātājs, pēc divu mēnešu darba paziņoja par jaunas Linux kodola 3.10 versijas izlaišanu.

Pēc paša izstrādātāja teiktā, šis kodols izrādījās lielākais inovāciju apjoma ziņā pēdējo gadu laikā.

Linus atzina, ka sākumā viņš bija iecerējis atbrīvot vēl vienu atbrīvošanas kandidātu, bet pēc vilcināšanās viņš sliecās atbrīvot galīgo izlaidumu uzreiz ar numuru 3.10. Arī Torvalds savā ziņojumā pamanīja, ka jaunais kodols, tāpat kā 3.9 versija, ir pilnībā gatavs ikdienas lietošanai.

Turklāt paziņojumā par kodola RC versiju Linus Torvalds rakstīja, ka agrāk viņš vienmēr iekļāva to cilvēku vārdu sarakstu, kuri nosūtīja noteiktas koda daļas, taču šoreiz šis saraksts būtu tik liels, ka to nevarētu jāiesniedz pilnībā vienā lapā.

Galveno 3.10 kodola izmaiņu saraksts:

  • Tagad ir iespējams aizliegt skriptu izpildi kā programmas - skriptu palaišanas funkcionalitāti, kas satur ceļu uz tulku galvenē "#!" Tagad var apkopot kā kodola moduli;
  • Ir integrēta Google izstrādātā un izmantotā Bcache sistēma. Bcache ļauj organizēt piekļuvi lēniem cietajiem diskiem kešatmiņā ātros SSD diskdziņos; šajā gadījumā kešatmiņa tiek veikta bloķētas ierīces līmenī - un tas ļauj paātrināt piekļuvi diskam un neatkarīgi no ierīcē izmantotajām failu sistēmām;
  • Kodolu var veidot ar Clang kompilatoru, pateicoties LLVMLinux projekta sagatavotajiem ielāpiem;
  • Ir parādījusies dinamiska vadības sistēma, lai taimeris varētu radīt pārtraukumus. Tagad, atkarībā no pašreizējā stāvokļa, jūs varat mainīt pārtraukumus diapazonā no tūkstošiem ērču sekundē līdz vienam pārtraukumam sekundē - tas ļauj samazināt CPU slodzi, kad apstrāde tiek pārtraukta sistēmas neaktivitātes gadījumā. Tagad šī funkcija tiek izmantota reāllaika sistēmām un HPC (augstas veiktspējas skaitļošana), bet nākamajos kodola laidienos tā tiks izmantota arī galddatoru sistēmām;
  • Tagad ir iespējams ģenerēt notikumu, kas paziņo lietotnei par pieeju procesam / sistēmai pieejamās atmiņas izsmelšanai (grupās);
  • Komandai perf tagad ir pieejama atmiņas piekļuves profilēšana;
  • ISCSI apakšsistēmai pievienots RDMA (iSER) protokola atbalsts;
  • Ir jauna draivera "sinhronizācija" (eksperimentāla). Tas tika izstrādāts Android platformas ietvaros un tiek izmantots sinhronizācijai starp citiem draiveriem;
  • QXL virtuālās grafikas kartes draiveris tika integrēts (izmantots virtualizācijas sistēmās paātrinātai grafikas izvadei, izmantojot SPICE protokolu);
  • Tagad tiek atbalstītas jaunas jaudas pārvaldības funkcijas, kas ieviestas AMD 16h ("Jaguar") procesoru saimēs;
  • Radeon DRM modulim ir pievienots video dekodēšanas paātrinājuma atbalsts, izmantojot aparatūras UVD dekodētāju, kas iebūvēts mūsdienu AMD GPU;
  • Ir parādījies Microsoft Hyper-V virtuālo video adapteru draiveris (ir arī uzlabojumi Hyper-V kopumā);
  • Kriptogrāfisko funkciju izpilde (sha256, sha512, blowfish, twofish, čūska un kamēlija) tiek optimizēta, izmantojot AVX / AVX2 un SSE instrukcijas.

Mobilo ierīču lietotāji ne vienmēr ir apmierināti ar savu sīkrīku darbu un iespējām. Šī iemesla dēļ lietotāji meklē labāko veidu, kā mirgot Android operētājsistēmas kodolam. No vienas puses, šo darbību var viegli veikt ar planšetdatoru vai viedtālruni. Tūkstošiem lietotāju ir veiksmīgi mirgojuši kodolu bez jebkādiem sarežģījumiem vai problēmām. Bet, no otras puses, jebkura kļūda šī procesa laikā var izraisīt, tostarp sīkrīka kļūmi un dārgu pakalpojumu nepieciešamību. Dažādos posmos pastāv risks izvēlēties nepareizu kodola programmaparatūras versiju, kuru izveidoja nekvalificēti izstrādātāji vai kas neatbilst jūsu mobilajai ierīcei. Mēs iesakām būt ļoti uzmanīgiem, veicot darbības, kas zemā līmenī veic izmaiņas ierīces programmatūras daļā. Pēc veiksmīgas kodola mirgošanas daudziem ir sajūta, ka viņi rokās tur pilnīgi jaunu ierīci. Pieredzējuši lietotāji var pielāgot sīkrīku savām vajadzībām un vēlmēm, vienlaikus iegūstot jaunas zināšanas un pieredzi par mūsdienu mobilajām tehnoloģijām.

Android operētājsistēmas kodols un tā programmaparatūra

Kas ir mobilās ierīces kodols?

Operētājsistēmas kodols ir programmatūras mugurkauls, kas pārvalda ierīces aparatūru. No tā ir atkarīgi jebkura sīkrīka galvenie parametri. Jāatzīmē, ka to veido trīs savstarpēji saistīti komponenti - Linux kodols, vertikālā Dalvik mašīna un dažādi zema līmeņa pakalpojumi un bibliotēkas. Ja mēs runājam par pielāgotu programmaparatūru, tad tiek ietekmēti tikai divi komponenti, kas ļauj pievienot jaunus sistēmas pakalpojumus, optimizēt esošos parametrus un mainīt grafisko apvalku.

Tiem, kas vēlas instalēt kodolu operētājsistēmā Android, vajadzētu saprast, ka pastāv atšķirības starp pielāgota kodola un pielāgotas programmaparatūras jēdzieniem. Pēdējā ir neoficiāla programmatūras versija. Pielāgotu programmaparatūru izstrādāja speciālistu komanda konkrētām ierīcēm. Pielāgotā kodola pamatā ir Linux kodols un tā ir neoficiāla versija. Bieži vien pielāgots kodols tiek komplektēts ar programmaparatūru. Bet pēc programmaparatūras maiņas to var instalēt atsevišķi. Faktiski tas neaizstāj mobilās ierīces vietējo kodolu, kas ir šādas darbības galīgais mērķis.

Android kodola programmaparatūra galvenokārt tiek veikta, lai palielinātu ierīces darbības laiku par vairākām stundām, pielāgojot jaudas iestatījumus. Varbūt tas ir galvenais iemesls, kāpēc lietotāji veic sarežģītus savu sīkrīku programmatūras pārveidojumus. Programmaparatūra ļaus jums mainīt video mikroshēmu, neietekmējot viedtālruni vai planšetdatoru. Pieredzējuši lietotāji tādējādi pielāgo ekrāna darbu, mainot tā krāsu atveidojumu, jutību. Kodola programmaparatūra ļauj uzlabot ierīces skaņu, atjaunināt draiverus un ieviest atbalstu nestandarta ārējiem sīkrīkiem.

Pirms kodola mirgošanas iesakām pārliecināties, vai esat izvēlējies labu versiju, kuru izveidojuši pieredzējuši izstrādātāji. Turklāt ir svarīgi pārliecināties, vai tas atbilst jūsu Android programmaparatūras versijai. Ieteicams izlasīt to cilvēku pārskatus, kuriem izdevās savā mobilajā tālrunī instalēt piemērotu kodola versiju. Pārskatos var būt ietverta svarīga informācija par problēmām, kas var rasties programmaparatūras vai turpmākās ierīces darbības stadijā.

Sīkrīka programmaparatūra, izmantojot Fastboot

Android ierīci var atjaunot, izmantojot Fastboot. Bet vispirms jums ir jāinstalē utilīta savā sīkrīkā. Šādai programmai ir divas versijas. Pirmais ietver Fastboot lejupielādi kopā ar oficiālo Android SDK programmu. Otrā versija ietver utilītas lejupielādi atsevišķi.

Mēs iesakām pārbaudīt, vai jūsu mobilā ierīce redz klēpjdatoru vai datoru. Lai to izdarītu, jums ir jāizpilda. Pēc lejupielādes un instalēšanas datorā, klēpjdatora, kas darbojas Windows operētājsistēmā, utilītas Fastboot un viedtālruņa pievienošanas, ir jāatver komandrinda. Lai to izdarītu, atveriet meklēšanu. Operētājsistēmā Windows 8 pietiek ar peles kursora norādīšanu uz ekrāna labo pusi un atlasiet atbilstošo sadaļu. Meklēšanā jums jāievada "cmd", pēc kura jūsu priekšā parādīsies komandrinda. Ierīcei jābūt ieslēgtai programmaparatūras režīmā. Pēc tam ievadiet komandu, kas pārbaudīs datora un mobilās ierīces mijiedarbību:

ātrās palaišanas ierīces

Ja viss darbojas, jums jāielādē pareizā kodola programmaparatūras boot.img versija. Mēs neiesakām atsvaidzināt sākotnējās programmaparatūras kodolu, jo tas var radīt problēmas viedtālruņa darbībā. Fails jāsaglabā iepriekš izveidotā C diska nodalījumā ar nosaukumu "Android". Pēc tam mobilā ierīce jāielādē Fastboot un jāpievieno datoram. Ekrānā parādīsies ziņojums “Fastboot USB”.

  • cd C: \ Android.
  • fastboot flash boot boot.img.
  • fastboot erase cache.
  • fastboot reboot.

Ir ļoti svarīgi pareizi ievadīt visus vārdus, ņemot vērā reģistru un atstarpes. Komanda cd atver vajadzīgo mapi, kurā ir nepieciešamie faili. Pēc tam parādās mirgošana. Ātrās palaišanas kešatmiņas dzēšanas komanda izdzēš kešatmiņas nodalījumu. Pēdējā komanda ir fastboot reboot, kas pārstartē ierīci no programmaparatūras režīma uz parasto. Ja visas norādītās darbības esat veicis pareizi, process būs veiksmīgs.

Programmaparatūra ar ClockworkMod Recovery

ClockworkMod Recovery (vai īsumā CWM) ir atkopšanas sistēma, kas tiek izmantota sākotnējās rūpnīcas atkopšanas vietā. CWM ļauj instalēt jaunu programmaparatūru mobilajā ierīcē, mirgot kodolu, dublēt failus un atjaunot apvalku. Šāda sistēma spēj strādāt ar programmaparatūras atjaunināšanas failiem zip formātā. ClockworkMod ir instalēts, aizstājot rūpnīcas atkopšanu. Lai palaistu CWM, jums jāzina jūsu sīkrīkam atbilstošais īsinājumtaustiņš. Vairumā gadījumu tā ir skaļuma samazināšanas un ieslēgšanas pogu kombinācija, kas jānospiež, kamēr ierīce sāk darboties.

Lai aktivizētu kodolu, lejupielādējiet arhīvu ar zip paplašinājumu. Tajā jābūt mapei META-INF. Tad ir divas iespējas. Pirmajā gadījumā jums jānorāda programmaparatūras fails. Otrā iespēja ietver programmaparatūras faila ievietošanu mapē / sdcard. Pēc tam jums jāaktivizē ClockworkMod Recovery, tur jāatrod funkcija Lietot atjauninājumu no sdcard un jānorāda nepieciešamais fails.

Jāatzīmē, ka izvēlne ClockworkMod Recovery ir ērta un saprotama lielākajai daļai lietotāju. Papildus šādai programmaparatūras atkopšanas sistēmai varat izmantot TWRP atkopšanu. Šis rīks ir ērts un populārs Android lietotāju vidū. Galvenais ir izvēlēties pareizo programmaparatūras failu.

Android kodola programmaparatūra ir procedūra, kuru mēs neiesakām izmantot, ja esat pilnībā apmierināts ar sīkrīka darbu. Šādas darbības virza vēlme uzlabot mobilā tālruņa vai planšetdatora veiktspēju. Pieredzējuši lietotāji iegūst iespēju iestatīt parametrus zemākā līmenī. Bet bez noteiktām zināšanām un objektīviem iemesliem labāk nemainīt mobilās ierīces programmatūras daļu, jo tas ir saistīts ar risku un darbības traucējumiem.

"Un es… mazgāju karburatoru!"
Joks

Ievads

Bērnudārzā mēs ar domubiedriem sadalījām sienāžus cerībā izprast viņu uzbūvi. Skolā radiouztvērējs "Krievija" tika pielodēts. Institūtā kārta nāca automašīnām, kuru uzgriežņi tika atkārtoti pārkārtoti. Intereses ir mainījušās, taču vēlme “izjaukt” dažreiz pamostas, un šodien tā ir vērsta uz Android.

Cik reizes jūs esat izglābis, pateicoties Android avotu pieejamībai? Es - vairs neskaitās. Android ir atvērtā koda projekts, bet diemžēl mums ir tikai lasīšanas iespējas; gandrīz nav iespējams rediģēt Android kodu, ja neesat Google darbinieks. Būsim skumji par šo brīdi un lejupielādēsim krātuvi. Kā to izdarīt, ir lieliski aprakstīts oficiālajā vietnē.


Vispārējā arhitektūra

Android arhitektūru var shematiski attēlot šādi:

Galddatoros un klēpjdatoros ir labi izveidota enerģijas režīmu sistēma (x86 procesoriem ir vairāki): dators darbojas "ar pilnu ātrumu", kad kaut kas tiek darīts, un pāriet energoefektīvā režīmā, kad sistēma ir dīkstāvē. Pāriešana miega režīmā notiek vai nu pēc diezgan ilga neaktivitātes perioda, vai manuāli, piemēram, aizverot klēpjdatora vāku.

Tālruņiem bija vajadzīgs atšķirīgs mehānisms: sistēmas galvenais stāvoklis ir "hibernācija", izeja no tās tiek veikta tikai nepieciešamības gadījumos. Tādējādi sistēma var aizmigt, pat ja kāda lietojumprogramma ir aktīva. Operētājsistēmā Android tika ieviests wakelock mehānisms: ja lietojumprogramma (vai draiveris) dara kaut ko svarīgu, kam jāsasniedz loģiskais gals, tā “uztver” wakelock, neļaujot ierīcei aizmigt.

Mēģinājumi pārvietot wakelock mehānismu uz kodolu ir sasnieguši daudzu izstrādātāju pretestību. Android programmētāji atrisināja konkrētu problēmu, kuras risinājums bija noteikts mehānisms. Problēmas apstākļi bija ļoti šauri. Mērķa platforma ir ARM, tāpēc tika izmantotas tās funkcijas: ARM procesori sākotnēji pieņem biežas izmaiņas "miega" un "nomoda" darbības režīmos, atšķirībā no x86. Operētājsistēmā Android lietojumprogrammas sazinās ar enerģijas pārvaldības sistēmu, izmantojot PowerManager, bet ko darīt Linux klientu lietojumprogrammām?

Android izstrādātāji pat nemēģināja atrast kopīgu risinājumu "nākotnei", kas pēc tam bez problēmām tiktu apvienots galvenajā kodolā, viņi šajā jautājumā nekonsultējās ar Linux kodola kopienu. Vai varat viņus par to vainot? Neskatoties uz visām problēmām un diskusijām, kā minēts iepriekš, kodolā parādījās API ar identisku automātiskās miega funkciju.

Android lietojumprogrammu programmētājiem reti nākas saskarties ar wakelocks, jo platforma un draiveri apstrādā viņiem noteiktos pienākumus, ņemot vērā miega režīmu. Tomēr pazīstamais PowerManager palīdzēs iejaukties šajā procesā. Starp citu, autoram ienāk prātā tikai viens scenārijs: neļaut tālrunim aizmigt, uzsākot pakalpojumu no BroadcastReceiver, ko atrisina palīgklase no Android atbalsta bibliotēkas WakefulBroadcastReceiver.

Zems atmiņas slepkava

Standarta Linux kodolam ir atmiņas slepkava, kas, pamatojoties uz sliktuma parametru, nosaka nogalināmo procesu:

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

Tādējādi, jo vairāk process patērē atmiņu un jo mazāk tas dzīvo, jo mazāk veiksies.

Diagramma parāda vispārējo Android reģistrēšanas sistēmu. Žurnāla draiveris nodrošina piekļuvi katram buferim, izmantojot / dev / log / *. Lietojumprogrammas tiem nepiekļūst tieši, bet izmantojot liblogu bibliotēku. Klases Log, Slog un EventLog sazinās ar liblog bibliotēku. Komanda adb logcat parāda galvenā bufera saturu.

Secinājums

Šajā rakstā mēs īsumā pārskatījām dažas Android kā Linux sistēmas funkcijas. Dažas citas detaļas (pmem, RAM konsole utt.), Kā arī tik svarīgi platformas aspekti kopumā, piemēram, System Service, sistēmas palaišanas process un citi, palika ārpus iekavām. Ja šī tēma ir interesanta, mēs tos izskatīsim turpmākajos rakstos.

Mēs jau esam rakstījuši par pielāgotu programmaparatūru, saknes lietojumprogrammām un alternatīvām sāknēšanas izvēlnēm. Visas šīs ir standarta tēmas Android hakeru kopienā, tomēr papildus visam iepriekšminētajam ir arī tāda lieta kā "pielāgots kodols", kas var dot gandrīz neierobežotas iespējas kontrolēt viedtālruni un tā aparatūru viszemākajā līmenī līmenis. Šajā rakstā es jums pastāstīšu, kas tas ir, kāpēc tas jums nepieciešams un kā izvēlēties pareizo pielāgoto kodolu.

Pielāgots kodols?

Kas ir pielāgots kodols? Kā mēs visi zinām, Android ir pīrāgs, kas sastāv no trim pamata slāņiem: Linux kodola, zema līmeņa bibliotēku un pakalpojumu kopuma un Dalvik virtuālās mašīnas, virs kuras darbojas grafiskais apvalks, augsta līmeņa rīki un pakalpojumus, kā arī gandrīz visas no tirgus instalētās lietojumprogrammas. Lielākās daļas alternatīvo pielāgoto programmaparatūru veidotāji parasti strādā tikai ar diviem augšējiem slāņiem, pievienojot grafiskajam apvalkam funkcijas (piemēram, pogas aizkarā), mainot to (tēmas dzinējs programmā CyanogenMod), kā arī pievienojot jaunus sistēmas pakalpojumus ( ekvalaizers programmā CyanogenMod) un optimizējot esošos.

Populāras programmaparatūras autori arī iespēju robežās veic izmaiņas Linux kodolā: tie optimizē (veido ar agresīvākiem kompilatora optimizācijas karodziņiem), ietver jaunu funkcionalitāti (piemēram, atbalstu Windows bumbiņai), kā arī veic citas izmaiņas , piemēram, spēja pacelt procesora frekvenci augstāk nekā ražotājs ... Bieži vien tas viss paliek aiz ainas, un daudzi pielāgotās programmaparatūras lietotāji pat nezina šīs iespējas, jo īpaši tāpēc, ka tas pats CyanogenMod ir aprīkots ar pielāgotu kodolu tikai ierobežotam ierīču klāstam, kurām gan vietējā kodola avota kods un ir iespēja to nomainīt. Piemēram, gandrīz visi Motorola viedtālruņiem paredzētā programmaparatūra CyanogenMod izmanto standarta kodolu - bootloader necaurlaidīgās aizsardzības dēļ to nav iespējams aizstāt ar savu.

Tomēr kodolu viedtālruņos ar atbloķētu sāknēšanas ielādētāju var nomainīt atsevišķi no galvenās programmaparatūras. Un to nav viegli nomainīt, bet gan instalēt kodolu ar milzīgu skaitu dažādu funkciju, kuru pārvaldīšanai nepieciešamas noteiktas tehniskās zināšanas, un tāpēc tās parasti nav iebūvētas populārās programmaparatūras kodolos, piemēram, CyanogenMod, AOKP un MIUI. Starp šīm funkcijām jūs varat atrast atbalstu augstām procesoru frekvencēm, ekrāna gamma vadībai, enerģijas taupīšanas režīmiem, ļoti efektīviem enerģijas pārvaldniekiem un milzīgam skaitam citu funkciju.

Šajā rakstā mēs runāsim par to, ko mums var piedāvāt pielāgoto kodolu radītāji, apsvērsim dažādu ierīču galvenos pielāgotos kodolus, kā arī mēģināsim instalēt kodolu neatkarīgi no galvenās programmaparatūras un pārbaudīt visu uz savas ādas. Tātad, ko parasti iesaka alternatīvo kodolu izstrādātāji?

Gudrs satiksmes kontrolieris

Piemēram, Galaxy S II un Galaxy Nexus izmantotajiem OMAP35XX SoC ir SmartReflex funkcija, kas darbojas kā vieda sistēma sprieguma regulēšanai, mainoties procesora slodzei. Faktiski tas novērš nepieciešamību lietotājam precīzi noregulēt spriegumu.


Optimizācija

Bieži vien pielāgota kodola izveides galvenais mērķis ir optimizēt veiktspēju. Parasti mobilo tehnoloģiju pārdevējs cenšas saglabāt līdzsvaru starp veiktspēju un stabilitāti, tāpēc pat labas optimizācijas metodes, kas var ievērojami palielināt ierīces ātrumu, ražotājs var noraidīt, tikai pamatojoties uz to, ka pēc to izmantošanas dažas lietojumprogrammas sāka avarēt. katru desmito palaišanu. Protams, entuziastus nekautrējas šādi sīkumi, un daudzi no viņiem ir gatavi savas kompilācijas kodolam piemērot jebkuras kompilatora iespējas, enerģijas taupīšanas algoritmus un pacelt procesora frekvenci tik augstu, cik ierīce spēj izturēt. Starp visām optimizācijas metodēm četras ir visizplatītākās:



Vēl viens optimizācijas veids: standarta I / O plānotāja maiņa. Situācija šajā jomā ir vēl interesantāka, jo tā vietā, lai saprastu, kā darbojas plānotāji, daži kodolu veidotāji tīmeklī vienkārši lasa dokumentus par I / O plānotājiem Linux un izdara secinājumus. Šī pieeja ir vēl izplatītāka lietotāju vidū. Faktiski gandrīz visi visspēcīgākie un inteliģentākie Linux plānotāji ir pilnīgi nepiemēroti operētājsistēmai Android: tie ir paredzēti lietošanai ar mehāniskiem datu krātuvēm, kuros datu piekļuves ātrums mainās atkarībā no galvas stāvokļa. Plānotājs izmanto dažādas shēmas vaicājumu apvienošanai atkarībā no datu fiziskās atrašanās vietas, tāpēc vaicājumi datiem, kas atrodas tuvu pašreizējai galvas pozīcijai, saņems augstāku prioritāti. Tas ir pilnīgi neloģiski cietvielu atmiņas gadījumā, kas garantē vienādu piekļuves ātrumu visām šūnām. Uzlabotie plānotāji viedtālrunī nodarīs vairāk ļauna nekā laba, un neveiklākie un primitīvākie parādīs vislabākos rezultātus. Linux ir trīs šādi plānotāji:

  • Nop (bez operācijas)-tā sauktais neplānotājs. Vienkārša FIFO pieprasījumu rinda, pirmais pieprasījums tiks apstrādāts pirmais, otrais otrais utt. Labi piemērots cietvielu atmiņai un ļauj taisnīgi noteikt lietojumprogrammu piekļuvi diskdzinim. Papildu plus: zema procesora slodze ļoti vienkārša darbības principa dēļ. Trūkums: netiek ņemtas vērā ierīces darbības specifika, kas var izraisīt darbības traucējumus.
  • SIO (vienkāršs I / O)- termiņa plānotāja analogs, neņemot vērā sektoru tuvumu viens otram, tas ir, īpaši paredzēts cietvielu atmiņai. Ir divi galvenie akcenti: lasīšanas darbību prioritāte pār rakstīšanas operācijām un darbību grupēšana pēc procesiem, katram procesam piešķirot laika šķēli darbību veikšanai. Viedtālruņos, kur ir svarīgs pašreizējās lietojumprogrammas ātrums un lasīšanas darbību izplatība pār rakstīšanu, tas parāda ļoti labu veiktspēju. Pieejams Leankernel, Matr1x kodols Nexus 4 un SiyahKernel.
  • Rinda (LASĪT RAKSTĪT) ir plānotājs, kas īpaši izstrādāts mobilajām ierīcēm un pievienots kodolam tikai pirms dažiem mēnešiem. Galvenais izaicinājums: vispirms apstrādāt lasīšanas pieprasījumus, bet arī rakstīšanas pieprasījumu pareizu laiku. Pašlaik tiek uzskatīts par labāko NAND plānotāju, pēc noklusējuma to izmanto Leankernel un Matr1x.

Ir vērts teikt, ka gandrīz visa standarta programmaparatūra un puse no pielāgotajām joprojām izmanto kodolu ar standarta Linux CFQ plānotāju, kas tomēr nav tik slikti, jo zina, kā pareizi strādāt ar cietvielu diskdziņiem. No otras puses, tas ir pārāk sarežģīts, rada lielāku slodzi procesoram (un līdz ar to arī akumulatoram) un neņem vērā mobilās OS īpatnības. Vēl viena populāra izvēle ir termiņa plānotājs, kas ir tikpat labs kā SIO, bet lieks. Pieejamo plānotāju sarakstu varat skatīt, izmantojot šādu komandu:

# cat / sys / block / * / rinda / plānotājs

Lai mainītu, izmantojiet šo (kur rinda ir plānotāja nosaukums):

# i i / sys / block / * / rinda / plānotājs; veiciet atbalss rindu> $ 1; darīts

Daži kodolu veidotāji izmanto arī cita veida I / O optimizāciju. Tas atspējo fsync sistēmas izsaukumu, kas tiek izmantots, lai piespiestu atvērto failu mainīto saturu izskalot diskā. Tiek uzskatīts, ka bez fsync sistēma retāk piekļūs diskdzinim un tādējādi ietaupīs CPU laiku un akumulatora enerģiju. Diezgan pretrunīgs apgalvojums: fsync lietojumprogrammās netiek izmantots ļoti bieži un tikai patiesi svarīgas informācijas saglabāšanai, taču tās atspējošana var izraisīt šīs informācijas zudumu operētājsistēmas avārijas vai citu problēmu gadījumā. Spēja atspējot fsync ir pieejama franco.Kernel un GLaDOS kodolos, un kontrolei tiek izmantots fails / sys / module / sync / settings / fsync_enabled, kurā jāraksta 0, lai atspējotu, vai 1, lai iespējotu. Atkal šī funkcija nav ieteicama.

Jaunu funkciju pievienošana kodolam

Protams, papildus optimizācijai, uzlabojumiem un dažādām modernām aparatūras pārvaldības sistēmām pielāgotos kodolos varat atrast arī pilnīgi jaunu funkcionalitāti, kas nav standarta kodolos, bet kas var būt noderīga lietotājiem.

Tie galvenokārt ir dažādi draiveri un failu sistēmas. Piemēram, daži kodoli ietver atbalstu CIFS modulim, lai uzstādītu Windows bumbiņas. Šāds modulis atrodas Matr1x kodolā Nexus S, faux123 - Nexus 7, SiyahKernel un GLaDOS. Tas pats par sevi ir bezjēdzīgi, taču tirgū ir vairākas lietojumprogrammas, kas ļauj izmantot tās iespējas.

Vēl viena lietderība ir ntfs-3g draivera iekļaušana kodolā (precīzāk, komplektā ar kodolu pats draiveris darbojas kā Linux lietojumprogramma), kas nepieciešams, lai uzstādītu NTFS failu sistēmā formatētus zibatmiņas diskus. Šis draiveris ir pieejams faux123 un SiyahKernel kodolos. Parasti tas tiek aktivizēts automātiski, bet, ja tas nenotiek, varat izmantot lietojumprogrammu StickMount no tirgus.

Daudzi kodoli ietver arī atbalstu tā sauktajai zram tehnoloģijai, kas ļauj rezervēt nelielu RAM apjomu (parasti 10%) un izmantot to kā saspiestu mijmaiņas zonu. Rezultātā notiek sava veida atmiņas apjoma paplašināšanās, neradot nopietnas sekas veiktspējai. Pieejams Leankernel, iespējots ar Trickster MOD vai zram enable komandu.

Pēdējās divas interesantas funkcijas ir ātra USB uzlāde un Sweep2wake. Pirmais ir nekas cits kā "ātrās uzlādes" režīma piespiedu iekļaušana, pat ja viedtālrunis ir pievienots datora USB portam. Ātrās uzlādes režīms ir pieejams visos vairāk vai mazāk jaunajos viedtālruņos, tomēr tehnisku ierobežojumu dēļ to nevar iespējot vienlaikus ar piekļuvi atmiņas kartei. Ātrās USB uzlādes funkcija ļauj vienmēr iespējot šo režīmu, vienlaikus atspējojot piekļuvi diskdzinim.

Sweep2wake ir jauns ierīces pamodināšanas veids, ko izgudroja Breaked-kodola autors. Tā nozīme ir viedtālruņa ieslēgšana, velkot ar pirkstu pa navigācijas taustiņiem, kas atrodas zem ekrāna, vai pašā ekrānā. Šī ir patiešām ērta funkcija, taču tās aktivizēšanas rezultātā sensors paliks aktīvs pat tad, kad ierīce guļ, kas var ievērojami izlādēt akumulatoru.

Overclocking, sprieguma un enerģijas taupīšana

Pārmērīšana ir populāra ne tikai stacionāro datoru un klēpjdatoru īpašnieku vidū, bet arī mobilo tehnoloģiju entuziastu vidū. Tāpat kā x86 arhitektūras akmeņi, mobilo tehnoloģiju procesori un grafikas kodoli lieliski vajā. Tomēr pati pārspīlēšanas metode un tās īstenošanai veiktie pasākumi šeit ir nedaudz atšķirīgi. Fakts ir tāds, ka SoC standarta draiveri, kas ir atbildīgi par enerģijas taupīšanu un procesora frekvences maiņu, parasti tiek bloķēti standarta frekvencēs, tāpēc, lai precīzi noregulētu, jums jāinstalē vai nu alternatīvs draiveris, vai pielāgots kodols.

Gandrīz visos vairāk vai mazāk kvalitatīvajos un populārajos pielāgotajos kodolos jau ir atbloķēti draiveri, tāpēc pēc to instalēšanas ievērojami tiek paplašinātas procesora "jaudas" kontroles iespējas. Parasti pielāgoto kodolu veidotāji veic divas lietas, kas ietekmē frekvences izvēli. Tas ir frekvenču diapazona paplašinājums, kas pārsniedz sākotnēji noteikto - jūs varat iestatīt gan augstāku, gan ļoti zemu procesora frekvenci, kas ļauj ietaupīt akumulatoru un palielināt frekvences gradāciju, piemēram, trīs iespējamo frekvenču vietā, tiek piedāvāta sešu izvēle. Otrais ir pievienota iespēja regulēt procesora spriegumu, lai jūs varētu pazemināt procesora spriegumu zemās frekvencēs, lai taupītu akumulatora enerģiju un palielinātu augstās frekvencēs, lai palielinātu stabilitāti.

To visu var kontrolēt, izmantojot labi zināmo apmaksāto utilītu SetCPU vai bezmaksas Trickster MOD. Pārvaldības ieteikumi ir tādi paši kā galddatoru sistēmām. Labāk ir iestatīt zemāko procesora frekvenci līdz minimumam, bet ne zemāk par 200 MHz (lai izvairītos no kavēšanās), augšējais slieksnis pakāpeniski paaugstinās, pārbaudot darbības stabilitāti, kad tas samazinās, ieteicams nedaudz paaugstināt spriegumu šai frekvencei. Nav ieteikumu par spriegumu, jo katrs procesors ir unikāls, un vērtības katram būs atšķirīgas.

Papildus frekvenču maiņai montētāji kodolam bieži pievieno jaunus enerģijas taupīšanas vadības algoritmus (automātisku procesora frekvences vadību), kas, viņuprāt, var uzrādīt labākus rezultātus salīdzinājumā ar standarta. Gandrīz visi no tiem ir balstīti uz interaktīvo algoritmu, kas pēc noklusējuma tiek izmantots jaunajās Android versijās, kura būtība ir strauji palielināt procesora frekvenci līdz maksimālai slodzes palielināšanās gadījumā un pēc tam pakāpeniski samazināt to līdz minimumam . Tas aizstāj iepriekš izmantoto OnDemand algoritmu, kas vienmērīgi pielāgo frekvenci abos virzienos proporcionāli slodzei un padara sistēmu atsaucīgāku. Alternatīvo kodolu kolekcionāri piedāvā šādus algoritmus, lai aizstātu Interactive:

  • SmartAssV2- pārdomāt interaktīvo algoritmu, koncentrējoties uz akumulatora taupīšanu. Galvenā atšķirība ir tā, ka īslaicīgas slodzes pārrāvuma gadījumā procesors nav jārauj augstās frekvencēs, un tam pietiks ar zemu procesora veiktspēju. Noklusējums tiek izmantots Matr1x kodolā.
  • InteractiveX- noregulēts interaktīvs algoritms, kura galvenā iezīme ir procesora bloķēšana lietotāja norādītajā minimālajā frekvencē un otrā procesora kodola atslēgšana, kad ekrāns ir izslēgts. Noklusējums tiek izmantots Leankernel.
  • LulzactiveV2 būtībā ir atkārtoti izgudrots OnDemand. Kad procesora slodze pārsniedz noteikto (pēc noklusējuma 60%), algoritms paaugstina frekvenci par noteiktu sadalījumu skaitu (pēc noklusējuma 1), kad slodze samazinās, tā to pazemina. Īpaši interesanti ir tas, ka tas ļauj patstāvīgi iestatīt darbības parametrus, tāpēc tas ir piemērots cietajiem geekiem.

Kopumā kodolu kolekcionāriem ļoti patīk nākt klajā ar jauniem enerģijas taupīšanas algoritmiem to ieviešanas vienkāršības dēļ, tāpēc jūs varat atrast vēl duci. Lielākā daļa no tiem ir pilnīgi izdedži, un, izvēloties plānotāju, jums jāvadās pēc noteikuma: vai nu viens no trim iepriekš aprakstītajiem, vai arī standarta Interactive, kas, starp citu, ir ļoti labs. Jūs varat izdarīt izvēli, izmantojot to pašu Trickster MOD.

Pārvaldības saskarnes

Lielākajā daļā populāro pielāgoto kodolu ir vairāki mehānismi dažādu draiveru parametru precizēšanai, no kuriem visizplatītākie ir ColorControl, GammaControl, SoundControl un TempControl.

Pirmās divas saskarnes ir pieejamas gandrīz visur, ieskaitot CyanogenMod kodolus, otrās divas ir pieejamas Leankernel un varbūt citās. Vienā vai otrā veidā tos visus var kontrolēt ar Trickster MOD.

Kodoli

Kuru kodolu jums vajadzētu izvēlēties? Uz šo jautājumu nav vienas atbildes un ne tāpēc, ka "katram savs", bet gan tāpēc, ka pasaulē ir milzīgs skaits Android ierīču un gandrīz tikpat dažādi kodoli. Tomēr ir vairāki populāri kodoli, kas tiek izstrādāti vairākām ierīcēm vienlaikus. Tā vai citādi, es daudzus no tiem minēju stāsta gaitā, šeit es sniegšu īsu to aprakstu.

  • Leankernel ir Galaxy Nexus, Nexus 7 un Galaxy S III kodols. Izstrādes galvenais uzsvars tiek likts uz darba vienkāršību un ātrumu. Enerģijas taupīšanas algoritms: InteractiveX V2, I / O: ROW plānotājs, visas iepriekš minētās vadības saskarnes, ātras USB uzlādes atbalsts, Swap un zram, elastīgas CPU un GPU overclocking iespējas. Viens no labākajiem kodoliem. Konfigurējams ar Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - kodols Nexus S un Nexus 4. Vienkāršs un nepārslogots kodols. Atbalsta CPU un GPU pārspīlēšanu, GammaControl, ātru USB uzlādi, Sweep2wake, I / O plānotājus: SIO, ROW un FIOPS. Veiktspējas uzlabojumi. Konfigurējams ar Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV)-vienkāršs un nepārslogots kodols Nexus 4 un HTC One X. Snapdragon S4 un NVIDIA Tegra 3 optimizācija, pārveidots enerģijas taupīšanas režīms Tegra 3, spēja pārspīlēt, enerģijas taupīšanas algoritms: pielāgots OnDemand (ir pieejams arī interaktīvs).
  • SiyahKernel ir Galaxy S II un S III kodols. Elastīgas pārspīlēšanas iespējas, automātiska akumulatora kalibrēšana, uzlabots skārienekrāna draiveris, enerģijas taupīšanas algoritmi: smartassV2 un lulzactiveV2, I / O plānotāji: noop, termiņš, CFQ, BFQV3r2 (noklusējums), V (R), SIO. CIFS un NTFS draiveri (automātiska montāža). Konfigurējams, izmantojot ExTweaks.
  • franco.Kernel ir kodols ierīcēm Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One un One X.

Kodola iespējas dažādās ierīcēs ir ļoti atšķirīgas, tāpēc detaļas būs jāapskata uz vietas. Neskatoties uz to, mirgojot ar šo kodolu, jūs iegūsit pārspīlēšanu, draivera regulēšanu, lielisku veiktspēju, kā arī atbalstu dažādiem enerģijas taupīšanas algoritmiem un plānotājiem. Faktiski kodolā ir iekļauti gandrīz visi rakstā aprakstītie uzlabojumi. Tiek uzskatīts par vienu no labākajiem pieejamajiem kodoliem. Ir automātisko atjauninājumu lietojumprogramma franko.Kernel Updater. To var konfigurēt, izmantojot Trickster MOD.

Kā instalēt?

Visi kodoli tiek izplatīti standarta Android ZIP arhīvos, kas būtu jāatgaismo caur atkopšanas konsoli tāpat kā alternatīvā programmaparatūra. Parasti kodoli ir saderīgi ar jebkuru programmaparatūru, tāpēc, izvēloties vajadzīgo kodolu, varat to droši instalēt. Vienīgais, kam jāpievērš uzmanība, ir Android versija, ar kuru kodols ir saderīgs. Tas var vai nu atbilst visām ierīcē pieejamajām Android versijām, vai arī strādāt tikai ar vienu (izstrādātājs to parasti saka skaidri). Pirms mirgošanas noteikti izveidojiet pašreizējās programmaparatūras dublējumu, izmantojot to pašu atkopšanas konsoli. Ja kaut kas noiet greizi, jūs vienmēr varat atgriezties.

secinājumus

Kā redzat, pielāgotajiem kodoliem ir daudz priekšrocību salīdzinājumā ar kodoliem, ko izmanto standarta vai trešās puses programmaparatūrā. Un vēl svarīgāk ir tas, ka jums nav jāzina visas Android smalkumus, lai tos izmantotu, vienkārši lejupielādējiet un instalējiet ZIP arhīvu.

Nesen jaunas kodolu versijas tika izlaistas diezgan bieži. Stabila versija tiek izlaista ik pēc dažiem mēnešiem. Un nestabilie atbrīvošanas kandidāti iznāk vēl biežāk. Linus Torvalds un daudzi izstrādātāji visā pasaulē nepārtraukti strādā, lai uzlabotu jaunus kodolus un pievienotu tiem arvien vairāk funkcionalitātes.

Ar katru jaunu laidienu Linux kodols pievieno atbalstu vairākām jaunām ierīcēm, piemēram, jauniem procesoriem, videokartēm vai pat skārienekrāniem. Nesen atbalsts jaunai aparatūrai ir ievērojami uzlabojies. Tāpat kodolā ir iekļautas jaunas failu sistēmas, tiek uzlabota tīkla kaudze, tiek novērstas kļūdas un kļūdas.

Ja jums nepieciešama sīkāka informācija par izmaiņām konkrētā kodola versijā, skatiet tās izmaiņu žurnālu vietnē kernel.org, un šajā rakstā mēs apskatīsim Linux kodola atjaunināšanu uz jaunāko versiju. Centīšos nesaistīt instrukciju ar konkrētu kodola versiju, jauni kodoli tiek izlaisti diezgan bieži un tas būs aktuāli katram no tiem.

Apsveriet iespēju atjaunināt Ubuntu un CentOS kodolus. Vispirms apskatīsim, kā jaunināt kodolu Ubuntu 16.04.

Vispirms apskatīsim, kuru kodolu esat instalējis. Lai to izdarītu, atveriet termināli un palaidiet:

Piemēram, man pašlaik ir versija 4.3 un varu jaunināt uz jaunāko versiju. Ubuntu izstrādātāji jau ir pārliecinājušies, ka viņu lietotāji kodolu neveido manuāli un neizveido jaunās kodola versijas deb paketes. Tos var lejupielādēt oficiālajā Canonical vietnē.

Es būtu varējis šeit uzskaitīt wget lejupielādes komandas, ja būtu zināma kodola versija, taču mūsu gadījumā labāk būtu izmantot pārlūkprogrammu. Dodieties uz vietni http://kernel.ubuntu.com/~kernel-ppa/mainline/. Šeit atrodas visi Ubuntu komandas apkopotie kodoli. Kodoli ir veidoti īpašiem izplatījumiem ar izplatīšanas koda nosaukumu, kā arī vispārīgiem. Turklāt kodoli no Ubuntu 16.10, visticamāk, darbosies 16.04, bet no 9.04 Ubuntu 16.04 jums nevajadzētu instalēt kodolu.

Ritiniet līdz apakšai, šeit atrodas jaunākās kodolu versijas:

Turklāt pašā augšpusē ir ikdienas / pašreizējā mape, kurā ir jaunākās, katru nakti veidotās kodolu versijas. Izvēlieties pareizo kodola versiju un lejupielādējiet savai arhitektūrai divus Linux galvenes un linux attēlu failus:

Kad lejupielāde ir pabeigta, varat turpināt instalēšanu. Lai to izdarītu, terminālī rīkojieties šādi:

Dodieties uz mapi ar instalācijas pakotnēm, piemēram, ~ / Lejupielādes:

Palaidiet instalāciju:

Ja šī komanda nedarbojās, varat iet citu ceļu. Instalējiet utilītu gdebi:

sudo apt-get install gdebi

Pēc tam izmantojiet to, lai instalētu kodolu:

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

Kodols ir instalēts, atliek atjaunināt sāknēšanas ielādētāju:

sudo update-grub

Tagad jūs varat restartēt datoru un redzēt, kas notiek. Pēc pārstartēšanas pārliecinieties, vai Linux kodola atjaunināšana uz jaunāko versiju bija veiksmīga:

Kā redzat, kodols ir veiksmīgi instalēts un darbojas. Bet nesteidzieties dzēst kodola veco versiju, ieteicams, lai sistēmā būtu vairākas kodola versijas, lai problēmu gadījumā varētu palaist no vecās darba versijas.

Automātiski Linux kodola atjauninājumi Ubuntu

Iepriekš mēs esam redzējuši, kā manuāli instalēt nepieciešamo kodola versiju. Agrāk Ubuntu bija PPA ikdienas kodolu veidošanai, bet tagad tas ir slēgts. Tāpēc jūs varat atjaunināt kodolu, tikai lejupielādējot deb paketi un instalējot to. Bet to visu var vienkāršot ar īpašu skriptu.

Instalējiet skriptu:

cd / tmp
$ git clone git: //github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater / instalēt

Atjauninājumu meklēšana:

KernelUpdateChecker -r yakkety

Opcija -r ļauj norādīt izplatīšanas filiāli, kurai vēlaties meklēt kodolus. Ksenialiem kodoli vairs netiek veidoti, bet nākamās versijas kodoli šeit darbosies labi. Turklāt opcija -no -rc var norādīt utilītprogrammai neizmantot laidiena kandidātus, un opcija -v norāda precīzu instalējamā kodola versiju. Ja jums ir vienalga, kādai izplatīšanai kodols ir paredzēts, ja vien tas ir visjaunākais, izmantojiet opciju -any-release. Skripts radīs šādu rezultātu:

Pirms kodola instalēšanas varat redzēt informāciju, atverot failu / tmp / kernel-update:

Šeit mēs redzam, ka tika veikta yakkety meklēšana, un pašlaik ir pieejama kodola versija 4.7-rc6. Mēs varam instalēt:

sudo / tmp / kodola atjauninājums

Skripts parādīs mums pašreizējā kodola versiju, kā arī instalējamā kodola versiju, tā izveides datumu un citu informāciju. Jums arī tiks jautāts, vai jums ir jāglabā izmaiņu žurnāls. Tālāk būs instalācija:

Vecie kodoli, tikai gadījumā, ja neizdzēšat (n):

Gatavs, kodola atjaunināšana uz jaunāko versiju ir pabeigta, tagad restartējiet datoru (y):

Pārbaudiet, vai Ubuntu kodola atjauninājums tiešām darbojās:

Turklāt skripts tika pievienots startēšanai un tagad automātiski pārbaudīs atjauninājumus 60 sekundes pēc pieteikšanās. Automātiskās ielādes saīsne ir failā:

vi ~ / .config / autostart / KernelUpdate.desktop

Jūs varat to mainīt pēc nepieciešamības vai izdzēst. Ja vēlaties pilnībā noņemt skriptu no sistēmas, palaidiet:

rm ~ / .config / autostart / KernelUpdate.desktop
$ sudo rm / usr / local / bin / KernelUpdate (pārbaudītājs, skriptu ģenerators)

Notiek lejupielāde

Ja instalēšanas laikā radās kļūdas vai kodols netika pareizi atjaunināts un sistēma tagad netiek startēta ar jauno kodolu, varat izmantot veco kodolu. Sistēma var arī nedarboties, ja NVIDIA videokartei izmantojat patentētu draiveri, šajā gadījumā nesteidzieties lejupielādēt jaunāko kodola versiju, izmantojiet tikai stabilus kodolus, parasti šī moduļa atbalsts jau ir tiem pievienots.

Un, lai atjaunotu sistēmu, atlasiet vienumu Papildu iespējas Ubuntu Grub izvēlnē:

Un sāciet iepriekšējo skriešanas kodolu:

Pēc palaišanas atliek noņemt nepareizi instalēto kodolu un vēlreiz atjaunināt Grub, aizstāt vajadzīgo kodola versiju 4.7 vietā:

sudo apt noņemt linux-header-4.7 * linux-image-4.7 *

sudo update-grub

Jūsu sistēma tagad ir atgriezusies iepriekšējā stāvoklī. Varat mēģināt instalēt vecāku kodola versiju vai mēģināt vēlreiz.

Linux kodola jaunināšana uz 4.4 operētājsistēmā CentOS

Tagad apskatīsim, kā CentOS atjaunināt jaunāko Linux kodolu. Instrukcijas ir pārbaudītas, izmantojot CentOS 7, taču, visticamāk, tās darbosies RedHat 7, Fedora un citos līdzīgos izplatījumos.

Parasti jaunie kodoli nav iekļauti oficiālajās CentOS krātuvēs, tāpēc, lai iegūtu jaunāko stabilo versiju, mums būs jāpievieno ELRepo repozitorijs. Šī ir Enterprise Linux pakotņu krātuve, un to atbalsta arī RedHat un Fedora.

Lai pievienotu krātuvi, veiciet tālāk norādītās darbības.

Vispirms jums ir jāimportē atslēga:

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

Pievienojiet krātuvi un nepieciešamos komponentus RHEL / Scientific Linux / CentOS-7:

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

yum instalējiet yum-spraudni-ātrākais spogulis

Fedora 22 un jaunākas versijas: