Embedded bir proje hazırlıyorum; iş filan değil, kendi ihtiyacım. Emektar Via C3′ü kullanmaya karar verdim. Bu bir Via Mini ITX kart; üzerinde 256 MB RAM var. Modeli VE8000; Via C3 işlemcisi ve Samuel modeli (Bir de Ezra var).

Via C3 için standart kernel kullanmak risklidir; zira çoğu çalışmaz. Aslına bakarsanız, bu 686 sınıfı olduğunu iddia eden, ama komut setine baktığınızda 586 komut setini destekleyen tuhaf bir işlemci. Bendeki 800 Mhz olduğu halde, performansı 466 Mhz bir Intel işlemci düzeyinde. Via, düşük enerji tüketimiyle öğünse de, Watt başına performansı son derece kötü. C7′de bile durum böyle. Zaten Intel’de, özellikle ULV serisiyle Via’yı bu şekilde sıkıştırmayı düşünüyor.

Herneyse…Nedense son anda 2.6.x serisi bir kernel kullanmaya karar verdim. Tıknefes sistemlerle çalışıyorsanız, 2.6 kernelin iddia ettikleri gibi performanslı olduğunu söyleyemem. Doğrusunu isterseniz, SMP bir kernel kullanmayacaksanız, aynı anda birden fazla uygulama çalıştırmayacaksanız, Hyperthreading destekleyen bir işlemciniz yoksa, 2.6 kernel hiç de ideal bir seçim değil. Özellikle de, yer kısıtlamanız varsa: daha önce 2.4 serisi ile Via C3 için hazırladığım kernel 500k civarındaydı; şimdi 2.6 ile 970k civarındayım. 2.6′nın bana tek getirisi, initramfs kullanabilmem oldu. Şu sıra, çalışacak sistemi initramfs içinde mi bıraksam, yoksa root’a mı taşısam onu düşünmekteyim. Root’a taşımamak akıllıca görünüyor; çünkü projenin ticari bir hal alıp satılma ihtimali sözkonusu.

Gerçi bunu biraz kasarak 2.4 ile de yapabilirdim. 2.6, bana epey performans kaybı getirdi: basit işler yapan, yavaş, kaynakları kısıtlı bir sistemde, 2.6 serisi, RAM tüketiminden tutun CPU çevrimine kadar, en az %50 daha fazla sömürüyor sistemi…

Yakın zamana kadar, hatta şimdi bile, “hız” iddiasında olan bazı az sayıda masaüstü GNU/Linux dağıtımlarının 2.4.x serisi kernellerle gelmesi boşuna değil. (Puppy Linux, Damn Small Linux gibi 50-100 MB arası mini dağıtımlar hala 2.4.x serisi kerneller ile geliyorlar)

Açıkçası, 2.6′yı seçmemin hiçbir rasyonel nedeni yoktu. Belki crytoloop, belki initramfs. Ama bunlar sonradan da düşünülebilir, en azından kernel düzeyinde olmasa bile, user space programlarla üstesinden gelinebilirdi.

Demek istediğim, “üst sürüme geçme hastalığı” böyle bir zamanda bile etkisini gösterebiliyor. Bunun için, aynı işi donanım tabanlı ya da yazılım tabanlı yapabilirsem, donanım tabanlı çözümü tercih ederim. Çünkü, donanıma firmware yazmak belli bir “ciddiyet” ve planlama gerektiriyor; üstelik satılan bir anakart üstündeki BIOS’un hatalı olduğunu düşünün: bu durumda üretici anakartları geri alıp BIOS’ları değiştirmek zorunda. Onun için daha dikkatli, çok daha dikkatli davranıyorlar. Oysa yazılımda pardon demelerine bile gerek kalmıyor.

Popularity: 4% [?]