Bir Android cihazın çekirdeğinin yanıp sönmesi. Bir Android cihazının çekirdeğinin yanıp sönmesi Çekirdek sürüm 3.10 72 android

Özel ürün yazılımı, kök uygulamalar ve alternatif önyükleme menüleri hakkında defalarca yazdık. Bunların hepsi Android hack topluluğunda standart konulardır, ancak yukarıdakilerin hepsine ek olarak, bir akıllı telefonu ve donanımını aynı anda yönetmek için neredeyse sınırsız olanaklar sağlayabilen "özel çekirdek" diye bir şey de vardır. en alt seviye. Bu yazıda size bunun ne olduğunu, neden gerekli olduğunu ve doğru özel çekirdeğin nasıl seçileceğini anlatacağım.

Özel çekirdek?

Özel çekirdek nedir? Hepimizin bildiği gibi Android, üç temel katmandan oluşan bir pastadır: bir dizi düşük seviyeli kütüphane ve hizmetten oluşan Linux çekirdeği ve üzerinde grafiksel bir kabuk, yüksek seviyeli araçlar ve hizmetler çalıştıran Dalvik sanal makinesi. ve piyasadan yüklenen hemen hemen tüm uygulamalar. Çoğu alternatif özel ürün yazılımının yaratıcıları genellikle yalnızca en üstteki iki katmanla çalışır, grafik kabuğa işlevler ekler (örneğin, perdedeki düğmeler), onu değiştirir (CyanogenMod'daki tema motoru) ve yeni sistem hizmetleri (ekolayzır) ekler. CyanogenMod'da) ve mevcut olanları optimize etmek.

Popüler bellenimin yazarları mümkün olduğunca Linux çekirdeğinde de değişiklikler yaparlar: optimize ederler (daha agresif derleyici optimizasyon bayraklarıyla derlerler), yeni işlevler eklerler (örneğin, Windows topu desteği) ve ayrıca yetenek gibi başka değişiklikler de yaparlar. işlemci frekansını üretici tarafından sağlanan frekansın üzerine çıkarmak için. Çoğu zaman, tüm bunlar perde arkasında kalır ve birçok özel donanım yazılımı kullanıcısı bu olasılıkların farkında bile değildir, özellikle de aynı CyanogenMod yalnızca sınırlı sayıda cihaz için özel bir çekirdekle geldiğinden, hem yerel kaynak kodunun hem de kaynak kodunun çekirdek ve onu değiştirme yeteneği mevcuttur. Örneğin, Motorola akıllı telefonları için neredeyse tüm CyanogenMod ürün yazılımı standart bir çekirdek kullanır - önyükleyicinin aşılmaz koruması nedeniyle onu kendinizle değiştirmek imkansızdır.

Ancak, önyükleyici kilidi açılmış akıllı telefonlardaki çekirdek, ana ürün yazılımından ayrı olarak değiştirilebilir. Ve sadece değiştirmekle kalmayıp, yönetilmesi belirli teknik bilgi gerektiren ve bu nedenle genellikle CyanogenMod, AOKP ve MIUI gibi popüler ürün yazılımının çekirdeklerinde yerleşik olmayan çok sayıda farklı işleve sahip bir çekirdeği yükleyin. Bu işlevler arasında yüksek işlemci frekansları, ekran gamasının kontrolü, enerji tasarrufu modları, yüksek verimli güç yöneticileri ve çok sayıda başka özellik için destek bulabilirsiniz.

Bu yazıda, özel çekirdeklerin yaratıcılarının bize neler sunabileceğinden bahsedeceğiz, çeşitli cihazlar için ana özel çekirdekleri ele alacağız ve ayrıca çekirdeği ana bellenimden bağımsız olarak kurmaya ve her şeyi kendi cildimizde kontrol etmeye çalışacağız. Peki alternatif çekirdek geliştiricileri genellikle ne sunuyor?

Akıllı trafik kontrolörü

Örneğin Galaxy S II ve Galaxy Nexus'ta kullanılan OMAP35XX SoC'ler, işlemci üzerindeki yük değiştiğinde akıllı voltaj ayarlama sistemi görevi gören SmartReflex işlevine sahiptir. Temel olarak, kullanıcı tarafından voltajın ince ayarlanması ihtiyacını ortadan kaldırır.

Optimizasyonlar

Genellikle özel bir çekirdek oluşturmanın ana hedefi performansı optimize etmektir. Tipik olarak, bir mobil cihaz satıcısı performans ve kararlılık arasında bir denge kurmaya çalışır; bu nedenle, bir cihazın hızını önemli ölçüde artırabilen iyi optimizasyon teknikleri bile, yalnızca bunları kullandıktan sonra bazı uygulamaların çökmeye başlaması nedeniyle üretici tarafından reddedilebilir. her onuncu fırlatmada bir. Elbette meraklılar bu kadar küçük şeylerden rahatsız olmuyorlar ve birçoğu herhangi bir derleyici seçeneğini, güç tasarrufu algoritmalarını kendi montajlarının çekirdeğine uygulamaya ve işlemci frekansını cihazın kaldırabileceği kadar yükseğe çıkarmaya hazır. Tüm optimizasyon teknikleri arasında en yaygın olanı dört tanesidir:



Başka bir optimizasyon türü: varsayılan G/Ç zamanlayıcısını değiştirmek. Bu alandaki durum daha da ilginçtir, çünkü bazı çekirdek oluşturucular, zamanlayıcıların çalışma prensiplerini anlamak yerine, Linux için I/O zamanlayıcılarla ilgili İnternet'teki belgeleri okuyup sonuçlar çıkarırlar. Kullanıcılar arasında bu yaklaşım daha da yaygındır. Aslında, en güçlü ve akıllı Linux programlayıcılarının neredeyse tamamı Android için tamamen uygun değildir: Veri erişim hızının kafanın konumuna bağlı olarak değiştiği mekanik veri depolarıyla kullanılmak üzere tasarlanmıştır. Zamanlayıcı, verilerin fiziksel konumuna bağlı olarak farklı istek toplama şemaları kullanır, dolayısıyla mevcut ana konuma yakın olan verilere yönelik istekler daha yüksek öncelik alacaktır. Tüm hücrelere aynı erişim hızını garanti eden katı hal belleği söz konusu olduğunda bu tamamen mantıksızdır. Gelişmiş zamanlayıcılar bir akıllı telefona yarardan çok zarar verecektir ve en beceriksiz ve ilkel olanlar en iyi sonuçları verecektir. Linux'un üç benzer zamanlayıcısı vardır:

  • Hayır (İşlem yok)- sözde zamanlayıcı olmayan. Basit bir FIFO istek kuyruğunda ilk istek önce, ikinci ikinci vb. işlenir. Katı hal belleği için çok uygundur ve sürücüye erişim için uygulama önceliklerini adil bir şekilde dağıtmanıza olanak tanır. Ek bir artı: çok basit çalışma prensibi nedeniyle düşük işlemci yükü. Dezavantajı: Cihazın çalışma özelliklerinin dikkate alınmaması, performansta başarısızlıklara neden olabilir.
  • SIO (Basit G/Ç)- Sektörlerin birbirine yakınlığını hesaba katmayan, yani özellikle katı hal belleği için tasarlanmış Son Tarih zamanlayıcının bir analogu. İki ana özellik: okuma işlemlerinin yazma işlemlerine göre önceliği ve işlemlerin işlemlere göre gruplandırılması, işlemleri gerçekleştirmek için her işleme bir zaman dilimi tahsis edilmesi. Mevcut uygulamanın hızının ve okuma işlemlerinin yazma işlemlerine üstünlüğünün önemli olduğu akıllı telefonlarda oldukça iyi performans gösteriyor. Nexus 4 ve SiyahKernel için Leankernel, Matr1x kernel seçenekleri mevcuttur.
  • SATIR (YAZMA ÜZERİNE OKU)- mobil cihazlar için özel olarak tasarlanmış ve çekirdeğe yalnızca birkaç ay önce eklenen bir zamanlayıcı. Ana amaç, önce okuma isteklerini işleme koymak, ancak yazma istekleri için de adil süre dağıtmaktır. Şu anda NAND belleği için en iyi zamanlayıcı olarak kabul ediliyor; varsayılan olarak Leankernel ve Matr1x'te kullanılıyor.

Neredeyse tüm standart ürün yazılımının ve özel yazılımların yarısının hala standart Linux CFQ zamanlayıcılı çekirdeği kullandığını söylemeye değer, ancak bu o kadar da kötü değil, çünkü katı hal sürücülerle doğru şekilde çalışabilir. Öte yandan, çok karmaşıktır, işlemci (ve dolayısıyla pil) üzerinde daha fazla yük oluşturur ve mobil işletim sisteminin özelliklerini dikkate almaz. Bir diğer popüler seçenek ise SIO kadar iyi olan ancak gereksiz olan Son Tarih zamanlayıcıdır. Aşağıdaki komutu kullanarak mevcut zamanlayıcıların listesini görüntüleyebilirsiniz:

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

Değiştirmek için aşağıdakiler kullanılır (burada satır, zamanlayıcının adıdır):

# i için /sys/block/*/queue/scheduler'da; echo satırını yapın > $1; Tamamlandı

Bazı çekirdek oluşturucular ayrıca G/Ç ile ilgili başka bir optimizasyon türü kullanır. Bu, açık dosyaların değiştirilen içeriklerinin diske aktarılmasını zorlamak için kullanılan fsync sistem çağrısını devre dışı bırakır. Fsync olmadan sistemin sürücüye daha az erişeceği ve böylece işlemci zamanından ve pil gücünden tasarruf edeceği yönünde bir görüş var. Oldukça tartışmalı bir ifade: fsync, uygulamalarda çok sık kullanılmaz ve yalnızca gerçekten önemli bilgileri kaydetmek için kullanılır, ancak bunun devre dışı bırakılması, işletim sisteminin çökmesi veya başka sorunlar durumunda aynı bilgilerin kaybolmasına neden olabilir. Fsync'i devre dışı bırakma yeteneği franco.Kernel ve GLaDOS çekirdeklerinde mevcuttur ve /sys/module/sync/parameters/fsync_enabled dosyası tarafından kontrol edilir; devre dışı bırakmak için 0 veya etkinleştirmek için 1 yazmanız gerekir. Tekrar söylüyorum bu özelliğin kullanılması önerilmez.

Çekirdeğe yeni işlevler ekleme

Tabii ki, optimizasyonlara, ince ayarlara ve çeşitli gelişmiş donanım yönetim sistemlerine ek olarak, özel çekirdeklerde, standart çekirdeklerde olmayan ancak kullanıcılara faydalı olabilecek tamamen yeni işlevler de bulabilirsiniz.

Bunlar esas olarak farklı sürücüler ve dosya sistemleridir. Örneğin bazı çekirdekler, Windows paylaşımlarını bağlamanıza olanak tanıyan CIFS modülü desteğini içerir. Böyle bir modül Nexus S için Matr1x çekirdeğinde, Nexus 7 için faux123, SiyahKernel ve GLaDOS çekirdeğinde bulunmaktadır. Tek başına işe yaramaz, ancak piyasada yeteneklerini kullanmanıza izin veren birkaç uygulama var.

Bir başka kullanışlı özellik, NTFS dosya sisteminde biçimlendirilmiş flash sürücüleri monte etmek için gerekli olan ntfs-3g sürücüsünün çekirdeğe dahil edilmesidir (daha doğrusu, çekirdek içeren pakette; sürücünün kendisi bir Linux uygulaması olarak çalışır). Bu sürücü faux123 ve SiyahKernel çekirdeklerinde bulunmaktadır. Genellikle otomatik olarak aktif hale gelir ancak bu gerçekleşmezse marketten StickMount uygulamasını kullanabilirsiniz.

Pek çok çekirdek, az miktarda RAM (genellikle %10) ayırmanıza ve bunu sıkıştırılmış takas alanı olarak kullanmanıza olanak tanıyan zram teknolojisi adı verilen desteği de içerir. Sonuç, performans açısından ciddi sonuçlar doğurmadan, bellek miktarının bir tür genişlemesidir. Leankernel'de mevcuttur, Trickster MOD veya zram etkinleştirme komutu kullanılarak etkinleştirilir.

Son iki ilginç özellik Hızlı USB şarjı ve Sweep2wake'tir. Birincisi, akıllı telefon bilgisayarın USB bağlantı noktasına bağlı olsa bile "hızlı şarj" modunun zorla etkinleştirilmesinden başka bir şey değil. Hızlı şarj modu hemen hemen tüm yeni akıllı telefonlarda mevcuttur, ancak teknik sınırlamalar nedeniyle hafıza kartına erişimle aynı anda etkinleştirilemez. Hızlı USB şarj işlevi, sürücüye erişimi devre dışı bırakırken her zaman bu modu etkinleştirmenize olanak tanır.

Sweep2wake, Breaked-kernel'in yazarı tarafından icat edilen bir cihazı uyandırmanın yeni bir yoludur. Amacı, parmağınızı ekranın altında bulunan gezinme tuşları üzerinde veya ekranın kendisi üzerinde kaydırarak akıllı telefonu açmaktır. Bu gerçekten kullanışlı bir özellik, ancak onu açmak, sensörün cihaz uykudayken bile aktif kalmasına neden olacak ve bu da pilin önemli ölçüde tükenmesine neden olabilir.

Hız aşırtma, voltaj ve enerji tasarrufu

Hız aşırtma yalnızca masaüstü bilgisayar ve dizüstü bilgisayar sahipleri arasında değil, aynı zamanda mobil teknoloji meraklıları arasında da popülerdir. X86 mimari taşları gibi mobil cihazların işlemcileri ve grafik çekirdekleri de mükemmeldir. Ancak hız aşırtma yönteminin kendisi ve bunu uygulamak için atılan adımlar biraz farklıdır. Gerçek şu ki, enerji tasarrufundan ve işlemci frekansını değiştirmekten sorumlu olan SoC'ler için standart sürücüler genellikle standart frekanslarda kilitlenir, bu nedenle ince ayar için alternatif bir sürücü veya özel bir çekirdek kurmanız gerekir.

Neredeyse tüm az çok yüksek kaliteli ve popüler özel çekirdekler, kilidi açılmış sürücüleri zaten içerir, bu nedenle bunları yükledikten sonra işlemcinin "gücünü" kontrol etme yeteneği önemli ölçüde artar. Genellikle özel çekirdek oluşturucular, frekans seçimini etkileyen iki şey yapar. Bu, frekans aralığının başlangıçta belirtilenlerin ötesine genişletilmesidir - daha yüksek bir işlemci frekansı veya çok düşük bir frekans ayarlayabilirsiniz; bu, pilden tasarruf etmenize ve örneğin üç olası frekans yerine frekans geçişini artırmanıza olanak tanır. , aralarından seçim yapabileceğiniz altı tane var. İkincisi, işlemci voltajını ayarlama yeteneğinin eklenmesidir; böylece pil şarjını korumak için düşük frekanslarda işlemci voltajını azaltabilir ve kararlılığı artırmak için yüksek frekanslarda artırabilirsiniz.

Tüm bunlar, iyi bilinen ücretli yardımcı program SetCPU veya ücretsiz Trickster MOD kullanılarak kontrol edilebilir. Yönetim önerileri masaüstü sistemlerle aynıdır. Alt işlemci frekansını minimuma ayarlamak daha iyidir, ancak 200 MHz'den düşük olmamalıdır (gecikmeleri önlemek için), çalışma kararlılığını test ederken üst eşik kademeli olarak artırılır, düşerse voltajı biraz artırmanız önerilir. bu frekans için. Her işlemci benzersiz olduğundan ve değerler herkes için farklı olacağından voltaj konusunda herhangi bir öneri yoktur.

İnşaatçılar, frekansları değiştirmenin yanı sıra, çekirdeğe genellikle standart olanlara kıyasla daha iyi sonuçlar gösterebilecek yeni güç tasarrufu kontrol algoritmaları (işlemci frekansının otomatik kontrolü) ekler. Neredeyse hepsi, Android'in yeni sürümlerinde varsayılan olarak kullanılan Etkileşimli algoritmaya dayanmaktadır; bunun özü, yük arttığında işlemci frekansını keskin bir şekilde maksimuma çıkarmak ve ardından yavaş yavaş minimuma indirmektir. Frekansı her iki yönde de yüke göre sorunsuz bir şekilde ayarlayan ve sistemi daha duyarlı hale getiren, daha önce kullanılan OnDemand algoritmasının yerini alır. Alternatif çekirdek toplayıcıları, Interactive'in yerini alacak aşağıdaki algoritmaları sunar:

  • SmartAssV2- Pil tasarrufuna odaklanarak İnteraktif algoritmanın yeniden düşünülmesi. Temel fark, düşük işlemci performansının yeterli olduğu kısa süreli yük patlamaları durumunda işlemciyi yüksek frekanslara çekmemektir. Varsayılan, Matr1x çekirdeğinde kullanılır.
  • EtkileşimliX- ana özelliği işlemciyi kullanıcı tarafından belirlenen minimum frekansta kilitlemek ve ekran kapatıldığında ikinci işlemci çekirdeğinin enerjisini kesmek olan ayarlanmış bir Etkileşimli algoritma. Leankernel'de varsayılan kullanılır.
  • LulzactiveV2- aslında yeniden keşfedilen bir OnDemand. İşlemci üzerindeki yük belirtilen değeri aştığında (varsayılan olarak %60), algoritma frekansı belirli sayıda bölüm (varsayılan olarak 1) artırır ve yük azaldığında ise düşürür. Çalışma parametrelerini bağımsız olarak ayarlamanıza izin verdiği için özellikle ilgi çekicidir, bu nedenle deneyimli meraklılar için uygundur.

Genel olarak, çekirdek oluşturucular, uygulama kolaylığı nedeniyle yeni enerji tasarrufu algoritmaları bulmayı gerçekten seviyorlar, böylece bir düzine başka algoritma da bulabilirsiniz. Çoğu tamamen saçmalık ve bir zamanlayıcı seçerken şu kurala göre yönlendirilmelisiniz: ya yukarıda açıklanan üçünden biri ya da bu arada çok iyi olan standart Interactive. Aynı Trickster MOD'u kullanarak bir seçim yapabilirsiniz.

Kontrol Arayüzleri

En popüler özel çekirdekler, çeşitli sürücü parametrelerinin ayrıntılı kontrolü için çeşitli mekanizmalar içerir; bunların en yaygın olanları ColorControl, GammaControl, SoundControl ve TempControl'dür.

İlk iki arayüz, CyanogenMod çekirdekleri de dahil olmak üzere hemen hemen her yerde mevcuttur; ikinci ikisi Leankernel'de ve belki başkalarında da mevcuttur. Öyle ya da böyle, hepsi Trickster MOD kullanılarak kontrol edilebilir.

Çekirdekler

Hangi çekirdeği seçmelisiniz? Bu sorunun net bir cevabı yok ve "herkesin kendine ait" olduğu için değil, dünyada çok sayıda Android cihazı ve neredeyse bir o kadar farklı çekirdek olduğu için. Ancak aynı anda birden fazla cihaz için geliştirilmekte olan birkaç popüler çekirdek bulunmaktadır. Öyle ya da böyle, hikaye boyunca birçoğundan bahsettim ve burada da kısa bir açıklama yapacağım.

  • Leankernel, Galaxy Nexus, Nexus 7 ve Galaxy S III'ün çekirdeğidir. Geliştirme sırasındaki ana vurgu, işin basitliği ve hızıdır. Enerji tasarrufu algoritması: InteractiveX V2, G/Ç zamanlayıcı: ROW, yukarıdaki kontrol arayüzlerinin tümü, Hızlı USB şarjı desteği, Takas ve zram, CPU ve GPU için esnek hız aşırtma seçenekleri. En iyi çekirdeklerden biri. Trickster MOD kullanılarak özelleştirilebilir.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - Nexus S ve Nexus 4 için çekirdek. Basit ve aşırı yüklenmemiş çekirdek. CPU ve GPU hız aşırtması, GammaControl, Hızlı USB Şarjı, Sweep2wake, I/O zamanlayıcıları desteği: SIO, ROW ve FIOPS. Performans ayarlamaları. Trickster MOD kullanılarak özelleştirilebilir.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) - Nexus 4 ve HTC One X için basit ve aşırı yüklenmemiş bir çekirdek. Snapdragon S4 ve NVIDIA Tegra 3 için optimizasyonlar, Tegra 3 için yeniden tasarlanmış güç tasarrufu modu , hız aşırtma yeteneği, enerji tasarrufu algoritması: ayarlanmış OnDemand (İnteraktif olarak da mevcuttur).
  • SiyahKernel - Galaxy S II ve S III için çekirdek. Esnek hız aşırtma seçenekleri, otomatik pil kalibrasyonu, geliştirilmiş dokunmatik ekran sürücüsü, güç tasarrufu algoritmaları: smartassV2 ve lulzactiveV2, G/Ç zamanlayıcıları: noop, son tarih, CFQ, BFQV3r2 (varsayılan), V(R), SIO. CIFS ve NTFS sürücüleri (otomatik montajlı). ExTweaks kullanılarak yapılandırılabilir.
  • franco.Kernel - Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One ve One X için çekirdek.

Çekirdek yetenekleri cihazdan cihaza büyük ölçüde farklılık gösterir, bu nedenle ayrıntıları sitede kontrol etmeniz gerekir. Bununla birlikte, bu çekirdeğin flaşını yaparak, hız aşırtma, sürücü ayarlama, mükemmel performansın yanı sıra çeşitli güç tasarrufu algoritmaları ve zamanlayıcıları için destek alma olanağına sahip olacaksınız. Aslında çekirdek, makalede anlatılan hemen hemen tüm ince ayarları içerir. Mevcut en iyi çekirdeklerden biri olarak kabul edilir. Franko.Kernel Updater'ın otomatik güncellenmesi için bir uygulama var. Trickster MOD'u kullanarak yapılandırabilirsiniz.

Nasıl kurulur?

Tüm çekirdekler, alternatif yazılımlarla aynı şekilde kurtarma konsolu aracılığıyla flaşlanması gereken standart Android ZIP arşivlerinde dağıtılır. Tipik olarak çekirdekler herhangi bir ürün yazılımıyla uyumludur, bu nedenle doğru çekirdeği seçtiğinizde onu güvenle yükleyebilirsiniz. Dikkat etmeniz gereken tek şey, çekirdeğin uyumlu olduğu Android sürümüdür. Cihaz için mevcut olan tüm Android sürümleri için uygun olabilir veya yalnızca biriyle çalışabilir (geliştirici genellikle bundan açıkça bahseder). Firmware'i yüklemeden önce, aynı kurtarma konsolunu kullanarak mevcut firmware'in yedeğini aldığınızdan emin olun. Bir şeyler ters giderse her zaman geri dönebilirsiniz.

sonuçlar

Gördüğünüz gibi, özel çekirdeklerin standart veya üçüncü taraf ürün yazılımında kullanılan çekirdeklere göre birçok avantajı vardır. Daha da önemlisi, bunları kullanmak için Android'in tüm inceliklerini bilmenize gerek yok; sadece ZIP arşivini indirip yüklemeniz yeterli.

Çeşitli forumlarda ve web sitelerinde birçok Android cihaz sahibi, genellikle çekirdek veya İngilizce çekirdek adı verilen anlaşılmaz bir şeyden söz eder. Değiştirilebilir ve cihaz ayarları menüsünde “Tablet (telefon) hakkında” bölümünde belirtilir.

Daha derine inerseniz, çekirdeğin işletim sisteminin bir parçası olduğunu ve yalnızca Android'de değil, aynı zamanda diğer işletim sistemlerinde de bulunduğunu göreceksiniz: Windows, iOS, MacOS ve diğerleri. Ancak Android çekirdeğiyle ilgileneceğiz ve bunun ne olduğunu acemi kullanıcılar düzeyinde açıklamaya çalışacağım.

Android de dahil olmak üzere herhangi bir işletim sisteminin genel olarak tüm cihazın çalışmasını yöneten ve oyunlar, dosya yöneticileri, web tarayıcıları ve diğerleri gibi kullanıcı uygulamalarının başlatılmasından sorumlu olan bir dizi program olduğunu muhtemelen biliyorsunuzdur.

Ve Android çekirdeği, sistemin tüm donanım ve yazılım kısmı arasındaki etkileşimden sorumlu olan işletim sisteminin pratikte en önemli parçasıdır. Çekirdek, aygıttaki tüm donanımlar için bir dizi sürücüden ve bellek, ağ iletişimi, güvenlik ve işletim sisteminin diğer temel işlevlerini yönetmek için bir alt sistemden oluşur.
Örneğin, bir uygulamayı başlatmak için ekrana dokunduğunuzda, ekran dokunmatik yüzey sürücüsü dokunmanın gerçekleştiği konumu belirler ve koordinatları diğer programlara bildirir; bu program da yine çekirdeği kullanarak istenen uygulamayı cihazın belleğinde bulur ve başlatır. BT. Bu elbette çok basitleştirilmiş bir model ama işletim sisteminin özünü yansıtıyor.

Böylece herhangi bir yazılımın bir şey yapmak için tablet veya telefon donanımına ihtiyaç duyduğunda, bunu yapmak için işletim sistemi çekirdeğine başvurduğunu öğrendik.

Çekirdek kesinlikle tüm ekipmanı kontrol eder: Wi-Fi, Bluetooth, GPS, bellek ve diğer cihazlar. Cihazın “kalbi” olan işlemcisi de bir istisna değildir. Çekirdek frekansını ve güç kaynağını kontrol edebilir.
Android işletim sisteminin çekirdeği, geliştiricileri Google tarafından Linux işletim sisteminden ödünç alındı.

Çekirdek tüm donanımı kontrol ettiğinden ve tüm tablet ve telefonların donanımı farklı olduğundan, temel Android çekirdeği üretici tarafından her cihaz için ayrı ayrı değiştirilir.

Ürün yazılımı gibi, çekirdekler de bağımsız geliştiriciler tarafından oluşturulan stok (fabrika) ve özel alternatif olabilir.

Neden özel çekirdeklere ihtiyacımız var? Stok çekirdeği, üretici tarafından belirli bir cihaz için maksimum düzeyde optimize edilmiştir, ancak genellikle örneğin işlemci frekansını kontrol etmek gibi önemli çekirdek işlevlerini engeller. Ve tabletinizin işlemcisini hız aşırtmanız gerekiyorsa, çekirdeği, işlemci frekans kontrol işlevinin kilidinin açık olduğu özel bir çekirdekle değiştirmeniz gerekecektir.

Ayrıca özel çekirdekler genellikle Linux çekirdeklerinin daha yeni sürümlerini temel alır. Özel çekirdeklerin bize sağladığı özelliklerin yaklaşık bir listesi:

  • İşlemci frekansını geniş bir aralıkta değiştirin;
  • Grafik alt sisteminin (GPU) hız aşırtma;
  • Daha uzun pil ömrüne olanak tanıyan işlemci frekansının ve voltajının azaltılması;
  • Daha yeni ve yüksek kaliteli sürücüler, örneğin GPS'i hızlandırma veya yeni işlevler ekleme;
  • Ses ve ekran renklerini özelleştirmek ve yapılandırmak için geniş seçenek yelpazesi;
  • Alternatif dosya sistemleri desteği (XFS, ReiserFS ve diğerleri).

Alternatif çekirdekler bağımsız geliştiriciler tarafından oluşturulduğundan, özel bir çekirdek yükledikten sonra tabletinizin veya telefonunuzun sorunsuz çalışacağının garantisi yoktur. Bu nedenle, yeni bir çekirdeği flashlamadan önce sistemin tam yedeğini almanız önerilir.

Pazar akşamı yeni Linux çekirdeği 3.10 resmi olarak piyasaya sürüldü. Linus Torvalds'a göre çekirdek, son birkaç yılda yenilik açısından en büyük çekirdek haline geldi. Linus başlangıçta başka bir sürüm adayı yayınlamayı planlamıştı, ancak son sürüm 3.10'u yayınlama eğilimindeydi ve mesajında, Linux 3.9 gibi yeni çekirdeğin performans sorunlarına eğilimli olmadığını ve günlük kullanıma hazır olduğunu belirtiyor.

RC versiyonunun duyurusunda Torvalds, genellikle kodun belirli kısımlarını gönderen kişilerin isimlerinden oluşan bir listeye yer verdiğini ancak bu sefer listenin o kadar büyük olduğunu ve tamamının tek bir e-posta listesinde listelenemeyeceğini yazdı.

Çekirdek 3.10'da yapılan değişikliklerin kısmi listesi:

  • Komut dosyalarının program olarak yürütülmesini engelleyebilirsiniz - "#!" başlığında yorumlayıcıya giden yolu içeren komut dosyalarını çalıştırma işlevi artık bir çekirdek modülü olarak derlenebilir;
  • Google'ın geliştirip kullandığı Bcache sistemi entegredir. Bcache, hızlı SSD sürücülerdeki yavaş sabit sürücülere erişimin önbelleğe alınmasını düzenlemenize olanak tanır; önbelleğe alma, blok cihaz düzeyinde gerçekleştirilir - ve bu, cihazda kullanılan dosya sistemlerinden bağımsız olarak sürücüye erişimi hızlandırmanıza olanak tanır;
  • LLVMLinux projesinin hazırladığı yamalar sayesinde çekirdek, Clang derleyicisi kullanılarak derlenebiliyor;
  • Zamanlayıcı kesintilerinin oluşumunu kontrol etmek için dinamik bir sistem ortaya çıktı. Artık mevcut duruma bağlı olarak, kesintileri saniyede binlerce tıklamadan saniyede bir kesmeye kadar değiştirebilirsiniz; bu, sistem etkin olmadığında kesintileri işlerken CPU üzerindeki yükü en aza indirmenize olanak tanır. Şu anda bu işlev gerçek zamanlı sistemler ve HPC (yüksek performanslı bilgi işlem) için kullanılıyor, ancak sonraki çekirdek sürümlerinde masaüstü sistemler için de kullanılacak;
  • Artık uygulamaya, işlem/sistem için mevcut belleğin (gruplar halinde) tükenmeye yaklaştığını bildiren bir olay oluşturmak mümkündür;
  • Bellek erişim profili oluşturma artık perf komutu için kullanılabilir;
  • Yeni bir "senkronizasyon" sürücüsü var (deneysel). Android platformu içerisinde geliştirilmiştir ve diğer sürücüler arasında senkronizasyon için kullanılır;
  • Microsoft Hyper-V sanal video bağdaştırıcıları için bir sürücü ortaya çıktı (genel olarak Hyper-V'nin çalışmasında da iyileştirmeler var);
  • AMD'nin 16h (Jaguar) işlemci ailesinde sunulan yeni güç yönetimi özellikleri artık destekleniyor;
  • Modern AMD GPU'larda yerleşik donanım UVD kod çözücüyü kullanarak video kod çözmeyi hızlandırma desteği Radeon DRM'ye eklendi;
  • iSCSI alt sistemine RDMA (iSER) protokolü desteği eklendi;
  • Kriptografik fonksiyonların (sha256, sha512, balon balığı, iki balık, yılan ve kamelya) yürütülmesi AVX/AVX2 ve SSE talimatları kullanılarak optimize edilmiştir;
  • QXL sanal grafik kartı sürücüsü entegre edilmiştir (SPICE protokolü kullanılarak hızlandırılmış grafik çıkışı için sanallaştırma sistemlerinde kullanılır).

Mobil cihaz kullanıcıları, cihazlarının işleyişinden ve yeteneklerinden her zaman memnun olmazlar. Bu nedenle kullanıcılar Android işletim sisteminin çekirdeğini flaşlamanın en iyi yolunu arıyor. Bir yandan bu işlemi tabletiniz veya akıllı telefonunuzla kolaylıkla gerçekleştirebilirsiniz. Binlerce kullanıcı herhangi bir zorluk veya sorun yaşamadan çekirdeği başarıyla flashladı. Ancak öte yandan, bu işlem sırasında herhangi bir hata, cihazın arızalanması ve pahalı servis ihtiyacı gibi sorunlara yol açabilir. Çeşitli aşamalarda, çekirdek donanım yazılımının vasıfsız geliştiriciler tarafından oluşturulan veya mobil cihazınız için uygun olmayan yanlış sürümünü seçme riski vardır. Cihazın yazılım kısmında düşük seviyede değişiklik yapacak işlemleri gerçekleştirirken son derece dikkatli olmanızı öneririz. Çekirdeği başarıyla yükledikten sonra birçok kişi, ellerinde tamamen yeni bir cihaz tutuyormuş gibi hissediyor. İleri düzey kullanıcılar, modern mobil teknolojiler hakkında yeni bilgi ve deneyim kazanırken, gadget'ı kendi ihtiyaçlarına ve tercihlerine göre özelleştirebilir.

Android işletim sisteminin çekirdeği ve ürün yazılımı

Bir mobil cihazın çekirdeği nedir?

İşletim sistemi çekirdeği, cihazın donanımını kontrol eden yazılımın temelidir. Herhangi bir gadget'ın temel parametreleri ona bağlıdır. Birbirine bağlı üç bileşenden oluştuğunu belirtmekte fayda var: Linux çekirdeği, Dalvik dikey makinesi ve çeşitli düşük seviyeli hizmetler ve kütüphaneler. Özel ürün yazılımından bahsediyorsak, yeni sistem hizmetleri eklemenize, mevcut parametreleri optimize etmenize ve grafik kabuğunu değiştirmenize olanak tanıyan yalnızca iki bileşen etkilenir.

Çekirdeği Android'e yüklemek isteyenler, özel çekirdek ve özel ürün yazılımı kavramları arasında bir fark olduğunu anlamalıdır. İkincisi, yazılımın resmi olmayan bir sürümüdür. Özel aygıt yazılımı, belirli cihazlar için uzmanlardan oluşan bir ekip tarafından geliştirildi. Özel çekirdek, resmi olmayan sürümünü temsil eden Linux çekirdeğini temel alır. Genellikle özel bir çekirdek, ürün yazılımıyla birlikte gelir. Ancak ürün yazılımını değiştirdikten sonra ayrı olarak kurulabilir. Temel olarak, böyle bir operasyonun nihai amacı olan mobil cihazın yerel çekirdeğinin yerini almaz.

Android çekirdek ürün yazılımı esas olarak, güç tüketimi parametrelerini ayarlayarak cihazın çalışma süresini birkaç saat artırmak için yapılır. Belki de kullanıcıların, cihazlarının yazılımında karmaşık dönüşümler gerçekleştirmesinin ana nedeni budur. Ürün yazılımı, akıllı telefonunuz veya tabletiniz için herhangi bir sonuç doğurmadan video çipini değiştirmenize olanak tanır. İleri düzey kullanıcılar ekranı bu şekilde özelleştirerek renk sunumunu ve hassasiyetini değiştirir. Çekirdek ürün yazılımı, cihazın sesini iyileştirmenize, sürücüleri güncellemenize ve standart dışı harici aygıtlar için destek sunmanıza olanak tanır.

Çekirdeği flashlamadan önce deneyimli geliştiriciler tarafından oluşturulan iyi bir sürümü seçtiğinizden emin olmanızı öneririz. Ayrıca Android donanım yazılımı sürümünüze uygun olduğundan emin olmanız da önemlidir. Çekirdeğin uygun sürümünü cep telefonlarına kurmayı başaran kişilerin yorumlarını okumanız tavsiye edilir. İncelemeler, donanım yazılımı aşamasında veya cihazın daha fazla çalıştırılması aşamasında ortaya çıkabilecek sorunlar hakkında önemli bilgiler içerebilir.

Gadget'ın Fastboot aracılığıyla yanıp sönmesi

Fastboot'u kullanarak Android cihazınızı yeniden başlatabilirsiniz. Ancak önce yardımcı programı gadget'ınıza yüklemeniz gerekir. Bu programın iki versiyonu bulunmaktadır. Birincisi, resmi Android SDK programıyla birlikte Fastboot'un indirilmesini içerir. İkinci sürüm, yardımcı programın ayrı olarak indirilmesini içerir.

Mobil cihazınızın dizüstü bilgisayarınızı veya bilgisayarınızı görüp göremediğini kontrol etmenizi öneririz. Bunu yapmak için yapmanız gerekir. Fastboot yardımcı programını Windows işletim sistemi çalıştıran bilgisayarınıza veya dizüstü bilgisayarınıza indirip yükledikten ve akıllı telefonunuzu bağladıktan sonra komut satırını açmanız gerekir. Bunu yapmak için Ara'yı açın. Windows 8'de bunu yapmak için fare imlecini ekranın sağ tarafına hareket ettirmeniz ve uygun bölümü seçmeniz yeterlidir. Arama'da "cmd" girmeniz gerekir, ardından komut satırı önünüzde görünecektir. Cihaz firmware moduna geçirilmelidir. Daha sonra bilgisayarınız ile mobil cihazınız arasındaki etkileşimi test edecek bir komut girmelisiniz:

hızlı önyükleme cihazları

Her şey işe yararsa, çekirdek ürün yazılımı boot.img'nin doğru sürümünü indirmeniz gerekir. Orijinal ürün yazılımının çekirdeğinin yanıp sönmesini önermiyoruz çünkü bu, akıllı telefonun çalışmasında sorunlara yol açabilir. Dosya, C sürücüsündeki “Android” adı verilen önceden oluşturulmuş bir bölüme kaydedilmelidir. Bundan sonra mobil cihazı Fastboot'a önyüklemeniz ve bilgisayara bağlamanız gerekir. Ekranda “Fastboot USB” mesajı görünecektir.

  • cd C:\Android.
  • fastboot flash önyükleme boot.img.
  • fastboot önbelleği siler.
  • fastboot yeniden başlatma.

Tüm kelimelerin büyük/küçük harf ve boşluk dikkate alınarak doğru girilmesi çok önemlidir. Cd komutu, gerekli dosyaları içeren gerekli klasörü açar. Bundan sonra yanıp sönme meydana gelir. Fastboot önbelleği sil komutu Önbellek bölümünü siler. Son komut - fastboot yeniden başlatma, cihazı ürün yazılımı modundan normale yeniden başlatır. Yukarıdaki adımların tamamını doğru bir şekilde gerçekleştirdiyseniz işlem başarılı olacaktır.

ClockworkMod Recovery'yi kullanan ürün yazılımı

ClockworkMod Recovery (veya kısaca CWM), orijinal fabrika Kurtarma yerine kullanılan bir kurtarma sistemidir. CWM, bir mobil cihaza yeni ürün yazılımı yüklemenize, çekirdeği flaş etmenize, dosyaları yedeklemenize ve kabuğu geri yüklemenize olanak tanır. Böyle bir sistem, zip formatındaki ürün yazılımı güncelleme dosyalarıyla çalışabilir. ClockworkMod, fabrika Kurtarma'nın yerini alacak şekilde kurulur. CWM'yi başlatmak için gadget'ınıza uygun tuş kombinasyonunu bilmeniz gerekir. Çoğu durumda bu, cihaz önyüklenirken basılması gereken Sesi Kısma ve Güç düğmelerinin birleşimidir.

Çekirdek donanım yazılımını flaşlamak için arşivi zip uzantılı indirin. META-INF klasörünü içermelidir. O zaman iki seçenek var. İlk durumda, ürün yazılımı dosyasını belirtmeniz gerekir. İkinci seçenek, ürün yazılımı dosyasının /sdcard klasörüne yerleştirilmesini içerir. Bundan sonra ClockworkMod Recovery'yi etkinleştirmeli, orada SD karttan güncellemeyi uygula işlevini bulmalı ve gerekli dosyayı belirtmelisiniz.

ClockworkMod Recovery menüsünün çoğu kullanıcı için kullanışlı ve anlaşılır olduğunu belirtmekte fayda var. Ürün yazılımı için bu kurtarma sistemine ek olarak TWRP Kurtarma'yı kullanabilirsiniz. Bu araç Android kullanıcıları arasında kullanışlı ve popülerdir. Önemli olan doğru ürün yazılımı dosyasını seçmektir.

Android çekirdeğinin yanıp sönmesi, gadget'ın çalışmasından tamamen memnunsanız başvurmanızı önermediğimiz bir prosedürdür. Bu tür eylemler, bir cep telefonunun veya tabletin performansını artırma arzusundan kaynaklanmaktadır. İleri düzey kullanıcılar parametreleri daha düşük bir seviyede ayarlama olanağına sahiptir. Ancak belirli bilgi ve nesnel nedenler olmadan, mobil cihazın yazılım bölümünü değiştirmemek daha iyidir, çünkü bu, çalışmasındaki risk ve arızalarla ilişkilidir.

Pazar akşamı, Linux'un atası ve işletim sistemi çekirdeğinin geliştiricisi Linus Torvalds, iki aylık çalışmanın ardından Linux çekirdeği 3.10'un yeni bir sürümünün yayınlandığını duyurdu.

Geliştiricinin kendisine göre bu çekirdek, son birkaç yılda yenilik açısından en büyüğüdür.

Linus, ilk başta başka bir sürüm adayını yayınlamayı planladığını ancak düşündükten sonra 3.10 numaralı son sürümü hemen yayınlama eğiliminde olduğunu itiraf etti. Torvalds, mesajında ​​ayrıca 3.9 sürümü gibi yeni çekirdeğin de günlük kullanıma tamamen hazır olduğunu kaydetti.

Ayrıca Linus Torvalds, çekirdeğin RC sürümünün duyurusunda, daha önce her zaman kodun belirli bölümlerini gönderen kişilerin adlarının bir listesine yer verdiğini ancak bu sefer bu listenin o kadar büyük olacağını yazmıştı ki, tamamen tek sayfalık postalarla verilmiştir.

Çekirdek 3.10'da yapılan önemli değişikliklerin listesi:

  • Artık komut dosyalarının program olarak yürütülmesini önleyebilirsiniz - “#!” başlığında yorumlayıcıya giden yolu içeren komut dosyalarını başlatma işlevi artık bir çekirdek modülü olarak derlenebilir;
  • Google'ın geliştirip kullandığı Bcache sistemi entegredir. Bcache, hızlı SSD sürücülerdeki yavaş sabit sürücülere erişimin önbelleğe alınmasını düzenlemenize olanak tanır; önbelleğe alma, blok cihaz düzeyinde gerçekleştirilir - ve bu, cihazda kullanılan dosya sistemlerinden bağımsız olarak sürücüye erişimi hızlandırmanıza olanak tanır;
  • LLVMLinux projesinin hazırladığı yamalar sayesinde çekirdek, Clang derleyicisi kullanılarak derlenebiliyor;
  • Zamanlayıcı kesintilerinin oluşumunu kontrol etmek için dinamik bir sistem ortaya çıktı. Artık mevcut duruma bağlı olarak, kesintileri saniyede binlerce tıklamadan saniyede bir kesmeye kadar değiştirebilirsiniz; bu, sistem etkin olmadığında kesintileri işlerken CPU üzerindeki yükü en aza indirmenize olanak tanır. Şu anda bu işlev gerçek zamanlı sistemler ve HPC (yüksek performanslı bilgi işlem) için kullanılıyor, ancak sonraki çekirdek sürümlerinde masaüstü sistemler için de kullanılacak;
  • Artık uygulamaya, işlem/sistem için mevcut belleğin (gruplar halinde) tükenmeye yaklaştığını bildiren bir olay oluşturmak mümkündür;
  • Bellek erişim profili oluşturma artık perf komutu için kullanılabilir;
  • iSCSI alt sistemine RDMA (iSER) protokolü desteği eklendi;
  • Yeni bir "senkronizasyon" sürücüsü var (deneysel). Android platformu içerisinde geliştirilmiştir ve diğer sürücüler arasında senkronizasyon için kullanılır;
  • QXL sanal grafik kartı sürücüsü entegre edilmiştir (SPICE protokolü kullanılarak hızlandırılmış grafik çıkışı için sanallaştırma sistemlerinde kullanılır);
  • AMD'nin 16h (Jaguar) işlemci ailesinde sunulan yeni güç yönetimi özellikleri artık destekleniyor;
  • Modern AMD GPU'larda yerleşik donanım UVD kod çözücüyü kullanarak video kod çözmeyi hızlandırma desteği Radeon DRM'ye eklendi;
  • Microsoft Hyper-V sanal video bağdaştırıcıları için bir sürücü ortaya çıktı (genel olarak Hyper-V'nin çalışmasında da iyileştirmeler var);
  • Kriptografik fonksiyonların (sha256, sha512, balon balığı, iki balık, yılan ve kamelya) yürütülmesi AVX/AVX2 ve SSE talimatları kullanılarak optimize edilmiştir.