Gömülü Linux (Embedded Linux); açık kaynak kodlu Linux işletim sistemi çekirdeğinin (kernel), kısıtlı donanım kaynaklarına sahip gömülü sistemler ve mikroişlemciler (MPU) üzerinde çalışacak şekilde özelleştirilmesi, hafifletilmesi ve optimize edilmesi sürecidir. Mikrodenetleyicilerin (MCU) yetersiz kaldığı; yüksek grafik arayüzü, gelişmiş ağ protokolleri veya yoğun dosya sistemi yönetimi gerektiren karmaşık projelerde endüstri standardı olarak kullanılır.
Geleneksel gömülü sistemlerde (Arduino, STM32 gibi) yazdığınız kod doğrudan donanım üzerinde "bare-metal" veya mini bir RTOS eşliğinde çalışırken; Gömülü Linux sistemlerinde yazılımınız donanımla doğrudan konuşmaz. Arada, donanım kaynaklarını yöneten, çoklu görevleri (multitasking) organize eden ve sürücü (driver) desteği sunan güçlü bir işletim sistemi katmanı bulunur.
Projelerde ne zaman bir mikrodenetleyici (RTOS/Bare-Metal), ne zaman bir mikroişlemci (Gömülü Linux) seçilmesi gerektiğinin temel kriterleri şunlardır:
| Kriter | Mikrodenetleyici (MCU) | Gömülü Linux (MPU) |
|---|---|---|
| İşlemci Mimarisi | ARM Cortex-M, AVR, RISC-V (Düşük Saat Hızı) | ARM Cortex-A, x86 (GigaHertz Seviyesi) |
| Bellek (RAM) | Kilobayt (KB) veya birkaç Megabayt (MB) | Megabayt (MB) veya Gigabayt (GB) seviyesi (DDR) |
| Grafik ve Arayüz | Basit karakter LCD'ler veya temel TFT ekranlar | Dokunmatik Full HD ekranlar, HDMI çıkışları, GPU desteği |
| Başlangıç Süresi | Milisaniyeler içinde (Anında açılır) | İşletim sisteminin yüklenmesi nedeniyle birkaç saniye |
Masaüstü bilgisayarlarımızda kullandığımız Ubuntu veya Fedora gibi hazır dağıtımlar, barındırdıkları binlerce gereksiz paket ve sürücü nedeniyle gömülü kartlar için çok hantaldır. Bu yüzden Gömülü Linux mühendisleri, donanıma özel terzi usulü sıfırdan dağıtım oluştururlar. Bunun için en popüler iki araç şunlardır:
Gömülü bir Linux kartına (örneğin bir Raspberry Pi, BeagleBone veya endüstriyel NXP i.MX kartı) güç verildiğinde sırasıyla şu aşamalar gerçekleşir:
init sürecini başlatır. Bu aşamada arka plan servisleri yüklenir ve sizin yazdığınız ana uygulama çalışmaya başlar.Kullanıcı etkileşiminin yüksek olduğu, ağ altyapısının yoğun kullanıldığı veya karmaşık yazılım kütüphanelerinin (OpenCV, Qt, Docker vb.) entegre edilmesi gereken her yerde Gömülü Linux karşımıza çıkar:
Gömülü Linux uzmanlığı; alt seviye donanım mimarisini bilmenin yanı sıra Linux çekirdeğine, C/C++ ve Python dillerine, kabuk programlamaya (Shell Scripting) ve ağ protokollerine hakim olmayı gerektiren, günümüz teknoloji dünyasının en üst düzey ve yüksek gelir potansiyeline sahip uzmanlık alanlarından biridir.
Henüz yorum yapılmamış. İlk yorumu siz yapın!