Linux nedir?

Daha öncedende bahsettiğimiz gibi piyasada bulunan bazı örneklerin yanı sıra tüm olası işlevleri listeleyerek gömülü sistem mühendisliğine bir giriş yapmıştık. Şimdi bu tür bir cihaz için bir geliştirme aracı olarak kullanılan mükemmel işletim sistemi olan Linux’dan bahsedeceğiz.

 

Linux, çekirdeğe ve GNU GPL altında bir dizi Unix işletim sistemine verilen addır . Birçok açıdan Linux, Windows, macOS (eski adıyla OS X) veya iOS gibi diğer işletim sistemlerine benzer. Onlar gibi, Linux da bir grafik arayüze ve kelime işlemciler, fotoğraf düzenleyiciler, video düzenleyiciler vb. gibi kullanmaya alışkın olduğunuz aynı tür masaüstü yazılımlarına sahip olabilir.

 

Linux aynı zamanda birçok önemli yönden farklılık gösterir.En önemli özelliği belkide açık kaynak yazılım olmasıdır.Bu yazılımı herkesin görüntülemesi,düzenlemesi ve bilgi sahibi kullanıcılarada katkıda bulunması için Linux’u oluşturulan kod ücretsizdir.

 

Bir diğer farklılığı ise Linux’un, Linux işletim sisteminin çekirdek parçaları genel olarak yaygın olmasına rağmen, birçok Linux dağıtımının farklı yazılım seçenekleri içermesidir. Buda Linux’un ciddi derecede özelleştirilebilir olduğu anlamına gelir . Çok hafif bir sistem kurabilir ve gerekli olan her şeyi daha sonra veya ihtiyaç duydukça ekleyebiliriz. Kullanıcılar, grafikleri görüntüleyen sistem gibi ana bileşenleri ve kullanıcı arayüzünün diğer bileşenlerini de seçebilirler.

 

Aslında günlük olarak kullandığımız çoğu cihazın yazılımında bulunduğundan , farkında olmasanız bile zaten Linux kullanıyorsunuzdur . Ziyaret ettiğimiz internet web sayfalarının bie çoğu muhtemelen Linux sunucuları tarafından oluşturulmuştur. Benzer şekilde, çoğu şirket ve birey , güvenli, esnek olduğu ve geniş bir kullanıcı topluluğundan mükemmel destek alabildiği için sunucuları için Linux’u tercih etmektedir.

 

Nerede Gömülü Linux Kullanılır?

Linux, mikroişlemci tabanlı bir donanımda çalışabilir. Donanımlarda genel olarak gömülü (embedded) Linux kullanılmaktadır. RTOS veya başka bir işletim sistemi de donanımlarda kullanılabilir ancak gömülü Linux donanımlarda çalışmak için optimize edilmiş bir işletim sistemidir.

 

Gömülü Linux , aynı çekirdeği kullanmasına rağmen , standart işletim sisteminden oldukça farklıdır . Boyutu çok daha küçüktür çünkü gömülü sistemler için uyarlanmıştır.Daha az işlem gücü gerektirir ve minimum özelliklere sahiptir. Linux çekirdeği, yerleşik bir Linux sürümü olarak değiştirilmiş ve optimize edilmiştir. Böyle bir Linux örneği, yalnızca cihaz için özel olarak oluşturulmuş uygulamaları çalıştırabilir.

 

Gömülü Linux esnektir, düşük maliyetlidir, açık kaynaklıdır ve belirli amaçlı mikroişlemcilere uyarlanır.  Linux, diğer yerleşik işletim sistemleri ile karşılaştırıldığında birden çok yazılım, geliştirme ve destek satıcısına izin verir; kararlı bir çekirdeğe sahiptir ve kaynak kodunu okuma, değiştirme ve yeniden dağıtma yeteneği sağlar. Linux özel bir sistem oluşturmak için oldukça modüler bir yapı taşı yaklaşımı sağlayarak daha fazla esneklik sağlamaktadır.

 

Gömülü sistemlerde Linux ve Yaygın olduğu uygulamalar 

Çok yönlülüğü sayesinde gömülü Linux, gömülü sistem mühendisleri arasında çok popüler hale geldi . Telefonlar, akıllı tabletler, dijital depolama aygıtları, kişisel video kaydediciler, kameralar, giyilebilir cihazlar ve diğerleri gibi pek çok tüketici elektroniği aygıtı tipik olarak Linux ile geliştirilir. Araba yazılımlarında ve ağ ekipmanı, makine kontrolü, endüstriyel otomasyon, navigasyon ekipmanı, uzay aracı uçuş yazılımı ve genel olarak tıbbi aletler gibi diğer birçok örnekte kullanılır.

 

Microsoft Windows bile, Linux veya WSL için Windows Alt Sisteminin bir parçası olarak Linux bileşenlerine sahiptir . Ancak gömülü Linux’un belki de en iyi örneği, Google tarafından geliştirilen Android’dir.

Gömülü Linux Windowsta nasıl geliştirilir ?

Linux’u kuruluşunuza dahil ettiğiniz zaman birçok zorluğun üstesinden gelebilirsiniz. Kılavuzlar, iyi bir hızda deneyim kazanmak için kesinlikle yararlıdır, peki ya geliştirme ortamı ne olacak? Linux gelişimini desteklemek için tamamen değiştirilmelimidir ?

Genelde yerleşik Linux ürün geliştirmesi, Linux ana bilgisayarının kendisi kullanılarak yapılır . PC sürümü,yerleşik Linux sistemlerinden önceden yüklenmiş kitap ve yardımcı program sunarak,Linux geliştirme ana bilgisayarlarını yerleşik Linux kodu geliştirmek için hazır hale getirir. Peki ya bu işletim sisteminde yeni olan veya bir geliştirme ana bilgisayarı olarak Windows’u kullanmayı tercih eden mühendisler?

 

Şimdiye kadarki en yaygın çözüm VirtualBox veya VMware Player gibi sanal ortamların kullanılması olmuştur . Bu şekilde, kullanıcının ana işletim sistemi olarak Windows ile çalışmaya devam etmesine ve dolayısıyla zaten tanıdık bir ortamda gezinmeye devam etmesine ve gömülü Linux tabanlı ürünlerin geliştirilmesi için sanal makineyi Ubuntu veya diğer Linux dağıtımlarıyla kullanmasına izin verilir.

 

Gömülü Linux kodu geliştirmek için başka seçenekler de vardır. Konteyner teknolojisi son zamanlarda büyük ilgi gördü ve Windows işletim sisteminde bir Linux dağıtımı çalıştırmak için daha farklı bir alternatif sunuyor.

Gömülü Linux ve Android nasıl çalışır ?

Bir gömülü Linux türü olan ,Android işletim sistemi akıllı telefonlarda kullanılmak üzere özelleştirilmiştir.Gömülü sistemlerde Android aynı türde Linx çekirdeğini çalıştırır ve aynı sürüceleri,ağ yeteneklerini paylaşır.Fakat onu mobil sistemler için uygun kılan bazı çekirdek değişikliklerde içerir .

Google,kendi sistemiyle birlikle gelen Androidi mobil işletim sistemi olarak Linuxtan ayrı inşa etti.

Kullanıcı ara yüzü,dokunmatik ekranlı cihazlar için optimize edilmiştir. Ayrıca, daha standart bir uygulama geliştirme ortamına izin veren bir dizi API ile birlikte gelir. Android cihazlar ayrıca diğerlerinin yanı sıra Google Haritalar, Fit, Cast veya Awareness gibi bir dizi Google hizmetinden yararlanabilir .

 

Kimileri ,telefonlar,tabletler yada televizyonlar gibi aygıtlar için Android ,yerleşik Linuxun yerini alabilicek uygun bir alternatif olarak düşünebilir.Android popülarite kazanıyor olabilir,fakat yerleşik Linux ile aynı dereceye alışmadan hatta onu değiştirme olasılığı daha da düşük olana kadar ilerlemesi gereken çok yolu var. Gömülü Linux’un “klasik” çeşitleri, gömülü sistem geliştiricileri için tercih edilen işletim sistemi olarak şüphesiz baskındır .

 

Gömülü Linux kullanmanın avantajları nelerdir?

Öncedende belirttiğimiz gibi gömülü Linux, gömülü sistemin işletim ve uygulama ihtiyaçlarını takip eden özellikler ve hizmetler sunan Linux’un daha basit bir sürümüdür . Linux gibi, diğer tümleşik işletim sistemlerine göre önemli avantajları, diğerlerinin yanı sıra, açık kaynak kullanımı ve düşük maliyeti, telif hakkı veya lisanslar açısından açıklığı,kararlı ve sağlam olması ve ek olarakta çekirdeğin gömülü bir sistem geliştirmeye yönelik oldukça modüler bir yapı taşı yaklaşımı sebebi ile kaynak kodu okuma,değiştirme ve yeniden dağıtma yeteneği.

Açık kaynak kodu.

Düşük fiyat.

Çoklu yazılım, geliştirme ve destek sağlayıcıları.

Son derece özelleştirilebilir.

Daha fazla esneklik.

Gömülü Linux’un dezavantajları nedir?

Açık kaynak olması ve birden fazla geliştirme içermesinden dolayı diğer gömülü geliştirme ortamlarına göre özellikler açısından daha zengindir. Linux’un geniş kod tabanı (hem sisteminizde hem de toplulukta mevcuttur) bu yüzdenden karmaşıklıkla sonuçlanır.

Kullanılıcak platforma tasarlanmış çözümler geliştirirken,donanımda yapılacak olan bi değişikliğin yazılımı doğrudan etkileyebileceğini,ürün değiştirme durumlarına ve hatta yazılımların güncellemelerine yansıyabiliceğini dikkate almalıyız.

 

Öte yandan, yerleşik Linux kullanmanın daha büyük bir bellek alanına sahip olma ihtiyacını ifade ettiğini unutmayın, Bu, çoğunlukla sınırlı kaynaklara sahip cihazları etkileyecektir.

Tüm bunların toplamında  yeni uygulamalar geliştirmek için para ve zaman artışına yol açabilir. Bu nedenle, süreci olabildiğince optimize edebilecek uzman geliştiricilere güvenerek yol almak önemlidir.

 

Erişim özelliklerine sahip olmak, daha yüksek karmaşıklığa yol açabilir.

Donanımı değiştirmek yazılımı etkileyebilir.

Daha büyük bellek alanı ihtiyacı.

Gömülü Linux: gömülü yazılım geliştiricileri bulun