• Çekirdek sürümü 3.4 0 ne. Android'i öğrenmek. Çekirdek - nedir bu? Hız aşırtma, voltaj ve güç tasarrufu

    Pazar akşamı, yeni Linux 3.10 çekirdeği resmen yayınlandı. Linus Torvalds'a göre çekirdek, son birkaç yılda yenilik açısından en büyüğü oldu. Linus başlangıçta başka bir sürüm adayı yayınlamayı planlıyordu, ancak son bir 3.10 sürümüne yöneldi - ve gönderisinde, Linux 3.9 gibi yeni çekirdeğin sağlık sorunlarına eğilimli olmadığını ve günlük kullanıma hazır olduğunu belirtiyor.

    Torvalds, RC versiyonunun duyurusunda, genellikle kodun belirli kısımlarında gönderen kişilerin isimlerinin yer aldığı bir listeye yer verdiğini ancak bu kez listenin o kadar büyük olduğunu ve tamamının tek bir listede listelenemeyeceğini yazdı. mail listesi.

    3.10 çekirdeğinde yapılan değişikliklerin tamamlanmamış listesi:

    • Komut dosyalarının program olarak yürütülmesini engellemek mümkündür - "#!" 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 tarafından geliştirilen ve kullanılan Bcache sistemi entegre edilmiştir. Bcache, hızlı SSD sürücülerdeki yavaş sabit sürücülere erişimi önbelleğe almanıza 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 projesi tarafından hazırlanan yamalar sayesinde çekirdek, Clang derleyicisi ile derlenebilir;
    • Zamanlayıcı kesintilerinin oluşturulması için dinamik bir kontrol sistemi ortaya çıktı. Şimdi, mevcut duruma bağlı olarak, aralıktaki kesmeleri saniyede binlerce tıklamadan saniyede bir kesmeye değiştirebilirsiniz - bu, sistem etkin olmadığında kesintileri işlerken CPU üzerindeki yükü en aza indirmenize olanak tanır. Şu anda bu özellik gerçek zamanlı sistemler ve HPC (yüksek performanslı bilgi işlem) için kullanılmaktadır, ancak gelecekteki çekirdek sürümlerinde masaüstü sistemler için de etkinleştirilecektir;
    • Artık, uygulamaya süreç/sistem için kullanılabilir belleğin (gruplarda) tükenmeye yaklaştığını bildiren bir olay oluşturmak mümkündür;
    • Perf komutu için bellek erişim profillemesi kullanılabilir hale geldi;
    • Yeni bir "senkronizasyon" sürücüsü var (deneysel). Android platformu içinde 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ı (bir bütün olarak Hyper-V'nin çalışmasında da iyileştirmeler var);
    • AMD 16h (Jaguar) işlemcilerle sunulan yeni güç yönetimi özellikleri artık desteklenmektedir;
    • Radeon DRM'ye, modern AMD GPU'larda yerleşik donanımsal UVD kod çözücü kullanılarak hızlandırılmış video kod çözme desteği eklendi;
    • iSCSI alt sistemine RDMA (iSER) protokolü desteği eklendi;
    • Şifreleme işlevlerinin (sha256, sha512, balon balığı, iki balık, serpent ve kamelya) yürütülmesi AVX/AVX2 ve SSE komutları kullanılarak optimize edilmiştir;
    • QXL sanal grafik kartı sürücüsü entegre edildi (SPICE protokolünü kullanan hızlandırılmış grafik çıktısı için sanallaştırma sistemlerinde kullanıldı).

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

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

    Muhtemelen, Android dahil 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ı başlatmaktan sorumlu olan bir dizi program olduğunu biliyorsunuzdur.

    Ve Android çekirdeği, aslında, sistemin tüm donanım ve yazılım kısmı arasındaki etkileşimden sorumlu olan işletim sisteminin en önemli parçasıdır. Çekirdek, aygıtta bulunan tüm donanımlar için bir dizi sürücüden ve işletim sisteminin bellek, ağ, güvenlik ve 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 yeri belirler ve koordinatları, yine çekirdeği kullanarak cihazın belleğinde istenen uygulamayı bulup başlatacak olan diğer programlara bildirir. BT. Bu, elbette çok basitleştirilmiş bir modeldir, ancak işletim sisteminin işleyişinin özünü yansıtır.

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

    Çekirdek kesinlikle her şeyi yönetir: Wi-Fi, Bluetooth, GPS, bellek ve diğer cihazlar. Cihazın "kalbi" bir istisna değildir - işlemcisi. Çekirdek, frekansını ve güç kaynağını kontrol edebilir.
    Geliştiricileri Google tarafından Linux işletim sisteminden ödünç alınan Android işletim sisteminin çekirdeği.

    Çekirdek tüm donanımı kontrol ettiğinden ve tüm tabletlerin ve telefonların donanımı farklı olduğundan, temel Android çekirdeği her cihaz için ayrı ayrı üretici tarafından son haline getiriliyor.

    Üretici yazılımı gibi, çekirdekler de stok (fabrika) ve özel - alternatiftir, bağımsız geliştiriciler tarafından oluşturulur.

    Neden özel çekirdeğe ihtiyacımız var? Stok çekirdek, üretici tarafından belirli bir cihaz için maksimum düzeyde optimize edilmiştir, ancak genellikle işlemci frekansını kontrol etmek gibi önemli çekirdek işlevlerini engeller. Ve tabletinizin işlemcisini hız aşırtmanız gerekirse, ç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. Aşağıda, özel çekirdeklerin bize sağladığı özelliklerin yaklaşık bir listesi bulunmaktadır:

    • İşlemci frekansını geniş bir aralıkta değiştirmek;
    • Grafik alt sisteminin (GPU) hız aşırtması;
    • Daha uzun bir pil ömrü elde etmenizi sağlayan işlemcinin frekansını ve voltajını azaltmak;
    • Daha yeni ve yüksek kaliteli sürücüler, örneğin GPS'i hızlandırma veya yeni özellikler ekleme;
    • Ekranın ses ve renk gamını ayarlamak ve yapılandırmak için geniş fırsatlar;
    • Alternatif dosya sistemleri için destek (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 hatasız çalışacağının garantisi yoktur. Bu nedenle, yeni bir çekirdeği flaşlamadan önce, sistemin tam yedeğini almanız önerilir.

    Mobil cihaz kullanıcıları, cihazlarının çalışmasından ve yeteneklerinden her zaman memnun değildir. Bu nedenle kullanıcılar, Android işletim sisteminin çekirdeğini flaş etmenin en iyi yolunu arıyor. Bir yandan, böyle bir işlem tabletiniz veya akıllı telefonunuzla kolayca gerçekleştirilebilir. Binlerce kullanıcı, herhangi bir zorluk veya sorun yaşamadan çekirdeği başarılı bir şekilde flash etti. Ancak öte yandan, bu süreçteki herhangi bir hata, aralarında gadget'ın arızalanmasına ve pahalı hizmet ihtiyacına yol açabilir. Farklı aşamalarda, vasıfsız geliştiriciler tarafından oluşturulan veya mobil cihazınıza uymayan çekirdek ürün yazılımının yanlış sürümünü seçme riski vardır. Cihazın yazılım kısmında düşük seviyede değişiklik yapan herhangi bir işlemi gerçekleştirirken son derece dikkatli olmanızı tavsiye ederiz. Çekirdeği başarılı bir şekilde yükledikten sonra, çoğu kişi ellerinde tamamen yeni bir cihaz tutuyormuş gibi hissediyor. İleri düzey kullanıcılar böylece modern mobil teknolojiler hakkında yeni bilgi ve deneyim kazanırken gadget'ı kendi ihtiyaçlarına ve tercihlerine uyacak şekilde özelleştirebilir.

    Android işletim sisteminin çekirdeği ve bellenimi

    Bir mobil cihazın çekirdeği nedir?

    İşletim sistemi çekirdeği, cihazın donanımını yöneten yazılımın temelidir. Herhangi bir gadget'ın ana parametreleri ona bağlıdır. Birbiriyle ilişkili üç bileşenden oluştuğuna dikkat edilmelidir - Linux çekirdeği, Dalvik dikey makinesi ve çeşitli alt düzey hizmetler ve kitaplıklar. Özel üretici yazılımından bahsediyorsak, yeni sistem hizmetleri eklemenize, mevcut parametreleri optimize etmenize ve grafik kabuğunu değiştirmenize izin veren 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 üretici yazılımı, belirli cihazlar için uzmanlardan oluşan bir ekip tarafından geliştirilir. Özel çekirdek, resmi olmayan sürümünü temsil eden Linux çekirdeğini temel alır. Genellikle aygıt yazılımıyla birlikte özel bir çekirdek gelir. Ancak ürün yazılımı değiştirildikten sonra ayrı olarak kurulabilir. Aslında, böyle bir işlemin nihai amacı olan mobil cihazın yerel çekirdeğinin yerini almaz.

    Android çekirdeğinin yanıp sönmesi, temel 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ımlarında karmaşık dönüşümler gerçekleştirmelerinin ana nedeni budur. Ürün yazılımı ayrıca video çipini akıllı telefonunuz veya tabletiniz için herhangi bir sonuç olmadan değiştirmenize olanak tanır. İleri düzey kullanıcılar böylece ekranı ayarlayarak renk üretimini ve hassasiyetini değiştirir. Çekirdek üretici yazılımı, cihazın sesini iyileştirmenize, sürücüleri güncellemenize ve standart olmayan harici araçlar için destek uygulamanıza olanak tanır.

    Çekirdeği yüklemeden önce, deneyimli geliştiriciler tarafından oluşturulmuş doğru sürümü seçtiğinizden emin olmanızı öneririz. Ayrıca, Android üretici yazılımı sürümünüze uyduğundan emin olmanız önemlidir. Çekirdeğin uygun sürümünü cep telefonlarına yüklemeyi başaran kişilerin yorumlarını okumanız önerilir. İncelemeler, cihaz yazılımı veya cihazın daha fazla çalıştırılması sırasında ortaya çıkabilecek sorunlar hakkında önemli bilgiler içerebilir.

    Fastboot aracılığıyla Gadget üretici yazılımı

    Android cihazınıza Fastboot kullanarak flaş yapabilirsiniz. Ancak önce yardımcı programı gadget'ınıza yüklemeniz gerekir. Bu programın iki versiyonu bulunmaktadır. İlki, resmi Android SDK programıyla birlikte Fastboot'un indirilmesini içerir. İkinci sürüm, yardımcı programın ayrıca indirilmesini içerir.

    Mobil cihazınızın bir dizüstü veya bilgisayar görüp görmediğini kontrol etmenizi öneririz. Bunu yapmak için çalıştırmanız gerekir. Bir bilgisayara, Windows işletim sistemi üzerinde çalışan bir dizüstü bilgisayara, Fastboot yardımcı programını indirip kurduktan ve bir akıllı telefon bağladıktan sonra, komut satırını açmanız gerekir. Bunu yapmak için Ara'yı açın. Windows 8'de tek yapmanız gereken fare imlecini ekranın sağ tarafına getirmek ve uygun bölümü seçmek. Aramada "cmd" girmelisiniz, ardından önünüzde komut satırı görünecektir. Cihaz üretici yazılımı moduna geçirilmelidir. Ardından, bilgisayar ile mobil cihaz arasındaki etkileşimi test edecek bir komut girin:

    hızlı başlatma cihazları

    Her şey çalışırsa, boot.img çekirdek ürün yazılımının doğru sürümünü yüklemeniz gerekir. Akıllı telefonda sorunlara yol açabileceğinden, orijinal üretici yazılımının çekirdeğinin yanıp sönmesini önermiyoruz. Dosya, C sürücüsünde "Android" adlı önceden oluşturulmuş bir bölüme kaydedilmelidir. Bundan sonra, mobil cihazınızı Fastboot'ta başlatmanız ve bilgisayarınıza bağlamanız gerekir. Ekranda "Fastboot USB" mesajı belirecektir.

    • cdC:\Android.
    • fastboot flash önyükleme boot.img.
    • fastboot silme önbelleği.
    • hızlı önyükleme yeniden başlatma.

    Büyük/küçük harf ve boşlukları dikkate alarak tüm kelimeleri doğru girmek çok önemlidir. cd komutu, gerekli dosyaları içeren gerekli klasörü açar. Bundan sonra, bir yanıp sönme meydana gelir. Fastboot önbelleği sil komutu, önbellek bölümünü siler. Son komut - fastboot yeniden başlatma, cihazı üretici yazılımı modundan normale yeniden başlatır. Tüm bu adımları doğru bir şekilde yaptıysanız, işlem başarılı olacaktır.

    ClockworkMod Recovery kullanan aygıt yazılımı

    ClockworkMod Recovery (veya kısaca CWM), fabrika çıkışlı orijinal Recovery yerine kullanılan bir kurtarma sistemidir. CWM, bir mobil cihaza yeni üretici 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ına sahip üretici yazılımı güncelleme dosyalarıyla çalışabilir. ClockworkMod, fabrika Kurtarma'nın yerine kurulur. CWM'yi başlatmak için cihazınıza uygun tuş kombinasyonunu bilmeniz gerekir. Çoğu durumda, bu, cihaz başlatılırken basılması gereken ses kısma ve açma düğmelerinin birleşimidir.

    Çekirdeği flaşlamak için arşivi zip uzantılı olarak indirin. META-INF klasörünü içermelidir. Sonra, iki seçenek var. İlk durumda, üretici yazılımı dosyasını belirtmeniz gerekir. İkinci seçenek, üretici yazılımı dosyasını / sdcard klasörüne yerleştirmeyi içerir. Bundan sonra, ClockworkMod Recovery'yi etkinleştirmeli, orada sdcard'dan güncelleme uygula işlevini bulmalı ve gerekli dosyayı belirtmelisiniz.

    ClockworkMod Recovery menüsünün çoğu kullanıcı için uygun ve anlaşılır olduğu belirtilmelidir. Ürün yazılımı için böyle bir kurtarma sistemine ek olarak, TWRP Recovery'yi kullanabilirsiniz. Bu araç, Android kullanıcıları arasında kullanışlı ve popülerdir. Ana şey, doğru üretici 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ı iyileştirme arzusundan kaynaklanır. İleri düzey kullanıcılar, parametreleri daha düşük bir seviyede ayarlama olanağına sahip olur. 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 riskler ve arızalarla ilişkilidir.

    Özel bellenim, kök uygulamalar ve alternatif önyükleme menüleri hakkında bir kereden fazla yazdık. Tüm bunlar, Android hacker topluluğundaki standart konulardır, ancak yukarıdakilerin tümüne ek olarak, bir akıllı telefonu ve donanımını en düşük düzeyde yönetmek için neredeyse sınırsız olanaklar sağlayabilen "özel çekirdek" gibi bir şey de vardır. seviye. Bu yazıda size ne olduğunu, neden ihtiyacınız olduğunu ve doğru özel çekirdeği nasıl seçeceğinizi anlatacağım.

    özel çekirdek?

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

    Popüler sabit yazılımın yazarları ayrıca Linux çekirdeğinde mümkün olduğunca değişiklikler yaparlar: optimize edin (daha agresif derleyici optimizasyon bayraklarıyla oluşturun), yeni işlevler ekleyin (örneğin, Windows paylaşım desteği) ve ayrıca yetenek gibi başka değişiklikler yapın. işlemci frekansını üreticinin frekansının üzerine çıkarmak için. Çoğu zaman, tüm bunlar perde arkasında kalır ve özel üretici yazılımının birçok kullanıcısı bu özelliklerin farkında bile değildir, özellikle de aynı CyanogenMod, hem yerel çekirdeğin kaynak kodunun hem de kaynak kodunun geçerli olduğu sınırlı sayıda cihaz için özel bir çekirdekle birlikte geldiğinden. ve değiştirme imkanı 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 kendi çekirdeğinizle değiştirmek imkansızdır.

    Bununla birlikte, kilidi açılmış bir önyükleyiciye sahip 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 için belirli teknik bilgi gerektiren çok sayıda farklı işleve sahip bir çekirdeği kurun ve bu nedenle genellikle CyanogenMod, AOKP ve MIUI gibi popüler bellenim çekirdeklerinde yerleşik değildir. Bu özellikler arasında yüksek işlemci frekansları, ekran gama kontrolü, güç tasarrufu modları, yüksek verimli güç yöneticileri ve çok sayıda başka özellik için destek bulabilirsiniz.

    Bu yazıda, özel çekirdek yaratıcılarının bize neler sunabileceği hakkında konuşacağız, çeşitli cihazlar için ana özel çekirdekleri ele alacağız ve ayrıca ana aygıt yazılımından bağımsız olarak çekirdeği yüklemeye çalışacağız ve her şeyi kendi dış yüzeyimizde kontrol edeceğiz. Peki, alternatif çekirdek geliştiricileri genellikle ne sunar?

    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. Aslında, kullanıcı tarafından ince voltaj ayarı yapma ihtiyacını ortadan kaldırır.

    optimizasyonlar

    Genellikle, özel bir çekirdek oluşturmanın temel amacı performansı optimize etmektir. Genellikle, bir mobil teknoloji satıcısı, performans ve kararlılık arasında bir denge sağlamaya çalışır, bu nedenle, cihazın hızını önemli ölçüde artırabilen iyi optimizasyon teknikleri bile, yalnızca uygulamalarından sonra bazı uygulamaların çökmeye başladığı temelinde üretici tarafından reddedilebilir. her onuncu başlatmada. Tabii ki, bu tür önemsiz şeyler meraklıları rahatsız etmiyor 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 dayanabileceği kadar yükseğe yükseltmeye 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ç çünkü bazı çekirdek oluşturucular zamanlayıcıların nasıl çalıştığını anlamak yerine Web'deki Linux I / O zamanlayıcılarla ilgili belgeleri okuyor ve sonuçlar çıkarıyor. 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 başın konumuna bağlı olarak değiştiği mekanik veri depolarıyla kullanım için tasarlanmıştır. Zamanlayıcı, verilerin fiziksel konumuna bağlı olarak farklı sorgu toplama şemaları kullanır, bu nedenle geçerli ana konuma yakın olan veri istekleri daha yüksek öncelik alır. Bu, tüm hücrelere aynı erişim hızını garanti eden katı hal belleği söz konusu olduğunda tamamen mantıksızdır. Gelişmiş planlamacılar bir akıllı telefona yarardan çok zarar verir ve en beceriksiz ve ilkel olanlar en iyi sonuçları gösterir. Linux'ta böyle üç planlayıcı vardır:

    • Noop (İşlem yok)- sözde planlayıcı olmayan. Basit bir FIFO istek sırası, ilk istek önce, ikinci saniye vb. Katı hal bellek için çok uygundur ve sürücüye erişim için uygulamalara oldukça öncelik vermenizi sağlar. Ek bir artı: çok basit çalışma prensibi nedeniyle işlemci üzerinde düşük yük. Eksi: performans hatalarına neden olabilecek cihazın özelliklerinin dikkate alınmaması.
    • SIO (Basit G/Ç)- sektörlerin birbirine yakınlığını hesaba katmadan, yani katı hal belleği için özel olarak tasarlanmış bir Son Tarih zamanlayıcı analogu. İki ana vurgu: okuma işlemlerinin yazma işlemlerine göre önceliği ve işlemleri gerçekleştirmek için her işlem için bir zaman dilimi tahsis edilerek işlemlerin işlemlere göre gruplandırılması. Mevcut uygulamanın hızının ve okumanın yazmaya göre ağır basmasının önemli olduğu akıllı telefonlarda oldukça iyi performans gösteriyor. Nexus 4 için Leankernel, Matr1x çekirdeği ve SiyahKernel'de mevcuttur.
    • SATIR (YAZMA ÜZERİNDEN OKU) mobil cihazlar için özel olarak tasarlanmış ve sadece birkaç ay önce çekirdeğe eklenen bir zamanlayıcıdır. Ana zorluk: okuma isteklerinin öncelikli olarak işlenmesi, ancak yazma istekleri için zamanın adil bir şekilde dağıtılması. Şu anda mevcut olan en iyi NAND zamanlayıcı olarak kabul edilir, varsayılan olarak Leankernel ve Matr1x'tedir.

    Hemen hemen tüm standart ürün yazılımının ve özel olanların yarısının, çekirdeği standart Linux CFQ zamanlayıcı ile kullandığını söylemeye değer, ancak bu, katı hal sürücülerle doğru şekilde çalışabileceği için o kadar da kötü değil. Ö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. Diğer bir popüler seçenek, SIO kadar iyi olan ancak aşırıya kaçan Son Tarih zamanlayıcısıdır. Kullanılabilir planlayıcıların listesini aşağıdaki komutla görüntüleyebilirsiniz:

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

    Değiştirmek için şunu uygulayın (burada satır, zamanlayıcının adıdır):

    # i için /sys/block/*/queue/scheduler; do yankı satırı > $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şen içeriklerini zorla diske boşaltmak için kullanılan fsync sistem çağrısının devre dışı bırakılmasıdır. Fsync olmadan sistemin sürücüye daha az erişeceği ve böylece işlemci süresinden ve pil gücünden tasarruf edeceği kanısındayız. 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 devre dışı bırakılması, bir işletim sistemi çö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 devre dışı bırakmak için 0 veya etkinleştirmek için 1 yazılması gereken /sys/module/sync/parameters/fsync_enabled dosyası kullanılarak kontrol edilir. Yine, bu özellik önerilmez.

    Çekirdeğe yeni özellikler eklemek

    Tabii ki, optimizasyonlara, ince ayarlara ve çeşitli gelişmiş donanım yönetim sistemlerine ek olarak, özel çekirdekler ayrıca standart çekirdeklerde bulunmayan ancak kullanıcılar için yararlı olabilecek tamamen yeni işlevler içerir.

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

    Başka bir yararlı şey, NTFS dosya sisteminde biçimlendirilmiş flash sürücüleri monte etmek için gerekli olan çekirdeğe ntfs-3g sürücüsünün 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 kernellerinde mevcuttur. Genelde otomatik olarak aktif oluyor fakat bu olmuyorsa marketten StickMount uygulamasını kullanabilirsiniz.

    Pek çok çekirdek ayrıca, az miktarda RAM (genellikle %10) ayırmanıza ve bunu sıkıştırılmış bir takas alanı olarak kullanmanıza izin veren zram teknolojisi için destek içerir. Sonuç olarak, performans için herhangi bir ciddi sonuç olmaksızın, bellek miktarında bir tür genişleme vardır. Leankernel'de mevcuttur, Trickster MOD veya zram etkinleştirme komutuyla etkinleştirilir.

    Son iki ilginç özellik, Hızlı USB şarjı ve Sweep2wake'dir. Birincisi, akıllı telefon bilgisayarın USB bağlantı noktasına bağlı olsa bile "hızlı şarj" modunun dahil edilmesini zorlamaktan başka bir şey değildir. 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 özelliği, 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. Anlamı, ekranın altında veya ekranın kendisi boyunca bulunan gezinme tuşlarını kaydırarak akıllı telefonu açmaktır. Bu gerçekten kullanışlı bir özelliktir, ancak bu özelliğin açılması sensörün cihaz uykudayken bile aktif kalmasını sağlar ve bu da pilin önemli ölçüde boşalmasına neden olabilir.

    Hız aşırtma, voltaj ve güç tasarrufu

    Hız aşırtma, yalnızca sabit bilgisayar ve dizüstü bilgisayar sahipleri arasında değil, aynı zamanda mobil teknoloji meraklıları arasında da popülerdir. Mobil teknolojinin işlemcileri ve grafik çekirdekleri, x86 mimarisinin taşları gibi harika çalışıyor. Ancak, hız aşırtma yönteminin kendisi ve onu uygulamak için atılan adımlar burada biraz farklı. Gerçek şu ki, enerji tasarrufundan ve işlemci frekansını değiştirmekten sorumlu 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 yüklemeniz gerekir.

    Hemen hemen tüm az ya da çok yüksek kaliteli ve popüler özel çekirdekler, kilidi açılmış sürücüleri zaten içerir, bu nedenle, bunları kurduktan sonra, işlemcinin "gücünü" kontrol etme yeteneği büyük ölçüde genişletilir. Tipik olarak, özel çekirdek oluşturucular, frekans seçimini etkileyen iki şey yapar. Bu, frekans aralığının başlangıçta ayarlananların ötesinde bir uzantısıdır - hem daha yüksek bir işlemci frekansı hem de çok düşük bir frekans ayarlayabilirsiniz, bu da pilden tasarruf etmenize ve örneğin üç olası frekans yerine frekans derecelendirmesini artırmanıza olanak tanır. size altı seçenek sunulur. İkincisi, pil gücünden tasarruf etmek için işlemci voltajını düşük frekanslarda azaltabileceğiniz ve kararlılığı artırmak için yüksek frekanslarda artırabileceğiniz işlemci voltajını ayarlama yeteneğinin eklenmesidir.

    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 (gecikmelerden kaçınmak için), üst eşik kararlılık testi ile kademeli olarak artırılır, düştüğünde, belirli bir süre için voltajı biraz artırmanız önerilir. sıklık. Her işlemci benzersiz olduğundan ve değerler herkes için farklı olacağından voltaj önerisi yoktur.

    Montajcılar, değişen frekanslara ek olarak, çekirdeğe genellikle yeni güç tasarrufu kontrol algoritmaları (otomatik işlemci frekans kontrolü) eklerler ve bu algoritmaların standart olanlardan daha iyi sonuçlar gösterebileceğini düşünürler. Neredeyse tamamı, Android'in yeni sürümlerinde varsayılan olarak kullanılan Etkileşimli algoritmaya dayanmaktadır; bunun özü, yükte bir artış olması durumunda işlemci frekansını keskin bir şekilde maksimuma çıkarmak ve ardından kademeli olarak minimuma indirmektir. . Yükle orantılı olarak her iki yönde de frekansı düzgün bir şekilde ayarlayan ve sistemi daha duyarlı hale getirmenize izin veren, daha önce kullanılan OnDemand algoritmasının yerini almıştır. Alternatif çekirdek oluşturucular, Interactive'in yerine geçmek için aşağıdaki algoritmaları sunar:

    • SmartAssV2- Pil tasarrufuna odaklanarak Etkileşimli algoritmayı yeniden düşünmek. Ana fark, düşük işlemci performansının yeterli olduğu kısa yük patlamaları durumunda işlemciyi yüksek frekanslara çekmemek. Varsayılan, Matr1x çekirdeğinde kullanılır.
    • InteractiveX- ana özelliği, kullanıcı tarafından belirlenen minimum frekansta işlemci kilidi ve ekran kapatıldığında ikinci işlemci çekirdeğinin enerjisinin kesilmesi olan ayarlanmış Etkileşimli algoritma. Varsayılan, Leankernel'de kullanılır.
    • LulzactiveV2- esasen yeniden keşfedilen bir OnDemand. İşlemci yükü belirtilen yükü aştığında (varsayılan olarak %60), algoritma frekansı belirli sayıda bölmeyle (varsayılan olarak 1) yükseltir ve yük azaldığında düşürür. İşin parametrelerini bağımsız olarak ayarlamanıza izin vermesi özellikle ilgi çekicidir, bu nedenle sertleşmiş inekler için uygundur.

    Genel olarak, çekirdek oluşturucular, uygulamalarının basitliği nedeniyle yeni güç tasarrufu algoritmaları bulmaya bayılırlar, bu nedenle yaklaşık bir düzine başka algoritma bulabilirsiniz. Çoğu tam bir cüruftur ve bir zamanlayıcı seçerken, 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.

    Yönetim arayüzleri

    Popüler özel çekirdeklerin çoğu, çeşitli sürücü parametrelerinin ayrıntılı kontrolü için çeşitli mekanizmalar içerir; bunlardan en yaygın olanları ColorControl, GammaControl, SoundControl ve TempControl'dür.

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

    çekirdekler

    Hangi çekirdek seçilir? Bu sorunun tek bir cevabı yok ve "herkes 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 vardır. Öyle ya da böyle, hikaye boyunca birçoğundan bahsettim ama burada kısa bir açıklama yapacağım.

    • Leankernel, Galaxy Nexus, Nexus 7 ve Galaxy S III'ün çekirdeğidir. Geliştirmedeki ana vurgu, işin basitliği ve hızıdır. Güç Tasarrufu Algoritması: InteractiveX V2, G/Ç Zamanlayıcı: ROW, yukarıdaki kontrol arabirimlerinin tümü, Hızlı USB şarjı, Değiştirme ve zram desteği, esnek CPU ve GPU hız aşırtma. En iyi çekirdeklerden biri. Trickster MOD ile özelleştirilebilir.
    • Matr1x (http://goo.gl/FQLBI , goo.gl/ZcyvA) - Nexus S ve Nexus 4 için çekirdek. Basit ve düzenli çekirdek. CPU ve GPU hız aşırtma desteği, GammaControl, Hızlı USB Şarjı, Sweep2wake, G/Ç zamanlayıcıları: SIO, ROW ve FIOPS. Performans ayarlamaları. Trickster MOD ile özelleştirilebilir.
    • Bricked-Kernel (http://goo.gl/kd5F4 , goo.gl/eZkAV), Nexus 4 ve HTC One X için basit ve düzenli bir çekirdektir. Snapdragon S4 ve NVIDIA Tegra 3 için optimizasyonlar, Tegra 3 için yeniden tasarlanmış güç tasarrufu modu , hız aşırtma olasılığı, enerji tasarrufu algoritması: ayarlanmış OnDemand (Etkileşimli de mevcuttur).
    • SiyahKernel, Galaxy S II ve S III'ün çekirdeğidir. 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/Ç planlayıcıları: noop, son tarih, CFQ, BFQV3r2 (varsayılan), V(R), SIO. CIFS ve NTFS sürücüleri (otomatik bağlama ile). ExTweaks ile 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.

    Çekirdeğin yetenekleri cihazdan cihaza büyük ölçüde değişir, bu nedenle ayrıntılara yerinde bakılması gerekir. Bununla birlikte, bu çekirdeği flash ederek, hız aşırtma, sürücü ayarlama, mükemmel performans ve ayrıca çeşitli güç tasarrufu algoritmaları ve programlayıcıları için destek elde edeceksiniz. Aslında çekirdek, makalede açıklanan hemen hemen tüm ince ayarları içerir. Mevcut en iyi çekirdeklerden biri olarak kabul edilir. Franko.Kernel Updater'ı otomatik güncellemek için bir uygulama var. Trickster MOD'u kullanarak yapılandırabilirsiniz.

    Nasıl kurulur?

    Tüm çekirdekler, alternatif üretici yazılımıyla aynı şekilde kurtarma konsolu aracılığıyla yüklenmesi gereken standart Android ZIP arşivlerinde dağıtılır. Genellikle çekirdekler herhangi bir üretici yazılımıyla uyumludur, bu nedenle doğru çekirdeği seçerek onu güvenle kurabilirsiniz. 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ümleriyle çalışabilir veya yalnızca biriyle çalışabilir (geliştirici genellikle bunu açıkça belirtir). Flashlamadan önce, aynı kurtarma konsolunu kullanarak mevcut ürün yazılımını yedeklediğinizden emin olun. Bir şeyler ters giderse, her zaman geri alabilirsiniz.

    sonuçlar

    Gördüğünüz gibi, özel çekirdekler, standart veya üçüncü taraf üretici yazılımında kullanılan çekirdeklere göre birçok avantaja sahiptir. Ve daha da önemlisi, bunları kullanmak için Android'in tüm inceliklerini bilmenize gerek yok, sadece ZIP arşivini indirip yükleyin.

    Pazar akşamı, Linux'un ebeveyni ve işletim sistemi çekirdeğinin geliştiricisi olan 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 yenilikler açısından en büyüğü oldu.

    Linus, ilk başta başka bir sürüm adayını yayınlamayı planladığını itiraf etti, ancak biraz düşündükten sonra, son sürümü 3.10 numaradan hemen yayınlamaya yöneldi. Torvalds ayrıca mesajında, 3.9 sürümü gibi yeni çekirdeğin günlük kullanıma tamamen hazır olduğunu da belirtti.

    Ek olarak, çekirdeğin RC sürümünün duyurusunda Linus Torvalds, 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ı yazdı. tamamen tek bir sayfada verilir.

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

    • Artık betiklerin program olarak yürütülmesini engellemek mümkündür - "#!" başlığında yorumlayıcıya giden yolu içeren betikleri çalıştırma işlevi artık bir çekirdek modülü olarak derlenebilir;
    • Google tarafından geliştirilen ve kullanılan Bcache sistemi entegre edilmiştir. Bcache, hızlı SSD sürücülerdeki yavaş sabit sürücülere erişimi önbelleğe almanıza 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 projesi tarafından hazırlanan yamalar sayesinde çekirdek, Clang derleyicisi ile derlenebilir;
    • Zamanlayıcı kesintilerinin oluşturulması için dinamik bir kontrol sistemi ortaya çıktı. Şimdi, mevcut duruma bağlı olarak, aralıktaki kesmeleri saniyede binlerce tıklamadan saniyede bir kesmeye değiştirebilirsiniz - bu, sistem etkin olmadığında kesintileri işlerken CPU üzerindeki yükü en aza indirmenize olanak tanır. Şu anda bu özellik gerçek zamanlı sistemler ve HPC (yüksek performanslı bilgi işlem) için kullanılmaktadır, ancak gelecekteki çekirdek sürümlerinde masaüstü sistemler için de etkinleştirilecektir;
    • Artık, uygulamaya süreç/sistem için kullanılabilir belleğin (gruplarda) tükenmeye yaklaştığını bildiren bir olay oluşturmak mümkündür;
    • Perf komutu için bellek erişim profillemesi kullanılabilir hale geldi;
    • iSCSI alt sistemine RDMA (iSER) protokolü desteği eklendi;
    • Yeni bir "senkronizasyon" sürücüsü var (deneysel). Android platformu içinde 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 edildi (SPICE protokolünü kullanan hızlandırılmış grafik çıkışı için sanallaştırma sistemlerinde kullanıldı);
    • AMD 16h (Jaguar) işlemcilerle sunulan yeni güç yönetimi özellikleri artık desteklenmektedir;
    • Radeon DRM'ye, modern AMD GPU'larda yerleşik donanımsal UVD kod çözücü kullanılarak hızlandırılmış video kod çözme desteği eklendi;
    • Microsoft Hyper-V sanal video bağdaştırıcıları için bir sürücü ortaya çıktı (bir bütün olarak Hyper-V'nin çalışmasında da iyileştirmeler var);
    • Şifreleme fonksiyonlarının (sha256, sha512, balon balığı, iki balık, serpent ve kamelya) yürütülmesi AVX/AVX2 ve SSE talimatları kullanılarak optimize edilmiştir.