Governors(Düzenleyiciler) Bunlar işlemci frekansları ile ilgili her türlü ayarlamayı yapan kısımlardır. frekans aralıkları, maksimum-minimum limitleri, geçiş süreleri vb gibi frekans ayarlamaları ile ilgilidir. Temel olarak ondemand, interactive ve karışım olarak üçe ayırabiliriz kendi içlerinde. Diğerleri ise varyasyon olarak nitelendirilebilirler.
1- a) Ondemand Tabanlı - Ondemand
Stock(orjinal) kernellerin varsayılan profilidir. İhtiyaç halinde mümkün olan en kısa sürede işlemciyi maksimum seviyelerine çıkartır.
- OndemandX
ondemand ile benzer özelliklere sahiptir. biraz daha fazla batarya dostu olduğu söylenebilir. ekran kapandığında maksimum 500mhz hızına kadar çıkabilir.
- Intellidemand
açılımı intelligent ondemand olarak nitelendirilebilir. uyku ve uyanık durumlarında farklı davranır. GPU kullanımına göre farklı kullanım gösterir. eğer GPU meşgulse ondemand gibi davranır. boşta ise batarya tasaruufu için hızı limitlendirir.
- Lazy
işlemcinin frekans aralıklarında kalış sürelerini düzenleyen belirli ayarlar içerir. ondemand'a göre daha kararlı çalışır. ekran kapandığında işlemciyi maksimum hızda kullanma ile ilgili parametrelere sahiptir. bu bazen sorunlara neden olabilir.
- Lagfree
ondemand ile aynı özelliklerdedir. sadece batarya kullanımına özgü bazı düzenlemeler içerir. işlemci hız arttırımları daha düzenlidir. frekanslar arasında atlama yapmaz ve her frekansı geçer en yüksek ve düşük hıza geçerken.
1- b) Conservative Tabanlı - Conservative
yavaş ondemand denilebilir. bataryayı korumak adına hız arttırımı daha yavaştır. birden arttırmak yerine yavaş yavaş hızlandırır. hızı kademe kademe arttırdığı gibi beklemede birden en düşük frekansa geçerir.
- Lionheart
performansa yönelik agresif çizgileri olan bir conservative türüdür. deadline i/o scheduler iler kullanılması tavsiye edilir.
- LionheartX
smartass ayarlarından oluşturulmuş ayar çekilebilir bir türdür.
2- Interactive Tabanlı - Interactive
hızlı ondemand denilebilir. ona göre daha stabil bir kullanım sağlar. hızı arttırıp azaltma da daha seri ve yumuşak davranabilir.
- InteractiveX
odemand'ta olduğu gibi uyku profili içerir. ekran kapanınca hızı limitler.
- Lulzactive
interactive ve smartass ayarlarının derlenmesi ile oluşturulmuştur. kullanıcı tarafından düzenlenebilen ayarları vardır. bu ayarlar işlemci frekans arttırma-azaltma aralıkları ve sürelerini belirler.
- Smartass
performans içermeyen, daha iyi batarya ömrü için optimize edilmiş bir moddur.
- SmartassV2
hedef olarak ideal frekans aralıklarının bulunması düşünülmüştür. ekran kapalı ve açık konumlarında farklı frekans değerleri kullanır. ekran kapandığında frekansları çok hızlı düşürür. ekran kapandığında frekans değişimleri yavaşlar. ekran kapalı iken işlemci kısıtlaması yoktur.
- Brazilianwax
smartassv2 ile aynıdır. agresif yapıdadır. daha performanslı ama daha az batarya dostudur.
- SavagedZen
smartassv2 tabanlıdır. performans ve batarya ile dengeli bir kullanıma sahiptir.
3- Karışık - Userspace
işlemci frekansları otomatik değil kullanıcı tarafından belirlenir
- Powersave
maksimum hızı minimum hıza kilitler. eğer minimum hız çok düşükse ekran açılma ve kapanmalarında kullanımaması tavsiye edilir.
- Performance
minimum hızı maksimum hıza kilitler. sadece testlerde kullanılması tavsiye edilir.
*Pegasusq temel olarak ondemand governor seçeneğini almıştır. çift çekirdekli işlemcilerde, işlem yaparken çekirdekleri daha efektif kullanmanıza yardımcı olur. bu yüzden diğerlerinden ayrı bir yeri vardır.
Hangisi İyidir? Hangisini Tavsiye Ederiz? aslında bunu çeşitli kombinasyonlar yaparak kendiniz denemelisiniz. çünkü her cihazda, her kullanımda, her kernelde aynı performans ve stabiliteyi vermezler. zaten her kernel bunların hepsini kullanıma sunmaz ve desteklemez. kimisinde tek governor olurken kimisinde 8-10 governor türü birden desteklenebilir. Ama eğer kerneliniz destekliyorsa şu sıralamayı deneyebilirsiniz: pegasusq > Lulzactive > SmartassV2 > Interactive
I/O(input/output) SCHEDULERS (giriş/çıkış zamanlayıcıları-planlayıcıları)
Ne İşe Yarar?
- disk gecikmelerini azaltmak
- işlemlerde I/O isteklerine öncelik vermek
- çalışan işlemlerin disk bantgenişliğini paylaştırmak
- bazı isteklerin sonlanmadan görevini yapmasını garantiler
özetle; kerneller disk kullanımını I/O scheduler üzerinden kontrol ederler.
1- Noop
gelen bütün I/O isteklerini önce giren önce çıkar prensibi ile işler. mekanik erişimi olmayan depolama aygıtlarında en iyi şekilde kullanılır (ortalama bir kullanım için iyidir)
2- Deadline
amaç istek yoğunluğunu ve I/O gecikmelerini minimize etmektir. gelen istekleri agresif şekilde yeniden sıralar. derin uykudan çıkmada sorun çıkartabilir.
3- CFQ (Completely Fair Queuing)
adı üzerinde istekler arasında adil bir sıralama yapar. dengeli performansa sahiptir.
4- BFQ
işlemler zaman dilimlerine ayrılırlar. aktif işlemler bitene kadar disk kullanımı ayrılmıştır. hd video kaydı ve usb veri transferi için en iyi seçenektir.
5- SIO
minimum ısınma hedeflenmiştir. öncelik sırası kavramı yoktur. noop ve deadline karışımıdır. istekler arasında sıralama yada yeniden düzenleme yapılmaz.
6- V(R)
testler için en iyi seçimdir. sonraki istekler son isteklerden hemen sonra tutulurlar. stabil değildirler.
7- Anticipatory
okuma işlemleri yazma işlemlerinin daha üzerinde önceliğe sahiptir. okumada iyi yazmada kötü olduğu için stabil performans vermez.
Hangisi İyidir? Hangisini Tavsiye Ederiz?
aslında bunu çeşitli kombinasyonlar yaparak kendiniz denemelisiniz. çünkü her cihazda, her kullanımda, her kernelde aynı performans ve stabiliteyi vermezler. ama genel performans-batarya kullanımı olarak şu sıralamayı kullanabilirsiniz: SIO> NOOP> Deadline > VR > BFQ > CFQ
Önemli Not: Bu işlemler sonucunda cihazınız ısınma yapabilir. Kilitlenme, donma, takılma, yavaşlama yaşayabilirsiniz. Ekranı kapatıp uyku moduna aldığınızda geri açılmayabilir. Bu durumlarda cihazı kapatıp açın ve ayarlarınızı değiştirin. En kötü ihtimalle firmware yükleyerek düzeltirsiniz. Tekrar belirteyim; yukarıda anlattığım kısımlar her kernel tarafından desteklenmeyebilir ve dolayısı ile hepsini göremeyebilirsiniz. Olanlar içinden kombinasyon deneyebilirsiniz.