Önceki yazımda gömülü sistemlere kullanıcı gözüyle bakmıştık . Bu sefer işin teknik boyutuna biraz daha eğileceğiz. Gömülü sistemlerin tanımını yapmakla işe başlayalım.Genel olarak gömülü sistemler:
“belirli bir fonksiyonu yerine getirmek için tasarlanmış yazılım ve donanım kombinasyonudur” şeklinde tanımlanabilir.
Gömülü sistemleri diğer genel amaçlı bilgisayar sistemlerinden ayıran özelliklerin başında, bu sistemlerin belirli bir amaç için tasarlanmış olmaları gelir. Bir video cihazını kontrol eden gömülü sistem bütün kullanım ömrü boyunca bu işi gerçekleştirecektir. Ancak ev ve işyerlerimizde kullandığımız PC’lerde birçok farklı işlemi gerçekleştirmekteyiz. PC’lerde bu değişik işleri değişik yazılımlarla yapmaktayız. Ancak gömülü sistemlerin içinde çalışan yazılım genellikle “tektir”.
Gömülü sistemler adlarından da anlaşılabileceği gibi genellikle daha büyük bir sistemin içinde “gömülü” olarak çalışırlar. Örneğin bir çamaşır makinesinde birçok mekanik kısım bulunmakla birlikte, bütün bunları kontrol eden bir veya birden fazla mikrodenetleyici tabanlı sistem bulunur. Bu sistemler kullandığımız cihazların “akıllı olmasını” sağlayan, beyin vazifesi gören birimlerdir
Her gömülü sistemin başlangıçta tanımlanan tasarım kriterleri farklı olduğundan, tasarımı da kendine özgüdür. Bir oyun konsolunun içerdiği birimlerle, bir mikrodalga fırının içerdiği gömülü sistemler birimleri birbirinden farklıdır. Ancak genel olarak her gömülü sistem şekildeki birimlere sahiptir:
Gömülü sistemlerin tasarım gereksinimleri şunlardır:
- İşlem Gücü
- Bellek
- Geliştirme Maliyeti
- Birim Üretim hacmi
- Beklenilen yaşam süresi
- Güvenilirlik
Bunlar dışında her sistemin kendine has başka gereksinimleri de olabilir. Örneğin pille çalışacak bir sistemde güç tüketimi de önemli bir kriterdir.
Tasarımlardaki kriterlere göre bu gereksinimlerinden bazıları arasında tercih yapmak gerekebilir. Örneğin karmaşık hesaplamaların gerekli olabileceği sistemlerde yüksek işlem gücü ihtiyacı ön planda olurken, çok büyük miktarlarda üretilecek sistemlerde düşük maliyet daha önemli olabilir.
Gömülü sistemler kullanım alanlarına göre zaman zaman oldukça kritik görevleri yerine getirebilirler. Burada oluşabilecek hatalar büyük mal ve can kayıplarıyla sonuçlanabilir. Bu açıdan bakıldığında bu sistemlerin “güvenilir” ve “hataları tolere edebilir” özellikte olmaları çok önemlidir. Bir mikrodalga fırının ya da bir oyuncağın içindeki sistemin zaman zaman hatalı çalışması çok büyük sorun oluşturmaz; ancak bir uçağın otomatik pilot sistemindeki hata birçok insanın hayatını tehlikeye atabilir.
Bugün dünyada üretilen mikroişlemcilerin / mikrodenetleyicilerin büyük çoğunluğu gömülü sistemlerde kullanılmaktadır. Genellikle 8 bit mikrodenetleyiciler yoğun olmakla beraber, 32 bitlik mikrodenetleyiciler de düşen maliyetleri sonucu artık geniş kullanım alanı bulmaktadır.
Gömülü sistemlerde tasarımcıların kullandığı temel araçlar:
- Programlayıcılar
- Hata Ayıklayıcılar (Debuggers)
- Derleyiciler
- Emülatörler
- Tümleşik Geliştirme Ortamları
Gömülü sistemlerin donanım ve yazılım olarak iki ana bölümden oluştuğunu söylemiştik. Burada donanım ve yazılım bileşenleri birbirleriyle sıkı sıkıya bağlı olduğundan tasarım ekibinde bulunan yazılımcı ve donanımcıların bir arada çalışmaları gerekmektedir. Bu anlamda gömülü sistemler için “multi-disipliner” bir alan diyebiliriz. Bu alandaki mühendislerin donanım, yazılım, kontrol sistemleri vs.. gibi birçok alanda bilgi sahibi olmaları gerekmektedir.
Gömülü yazılımların karmaşıklığı artıkça ve aynı anda yapılacak işlemlerin sayısı arttığında değişik yapılara ihtiyaç duyulur. Aslında bir mikrodenetleyici aynı anda sadece bir tek işi yapabilir. Ancak işlemleri mili, mikro hatta nanosaniyeler mertebesinde gerçekleştirdiğinden, birçok işi aynı anda yapıyormuş gibi görünebilir. Genel olarak mikrodenetleyicili sistemlerde bu tür işlemler kesmeler ve zamanlayıcılar sayesinde periyodik olarak gerçekleştirilir. Bu anlamda kesmeler yazılımlarda önemli bir rol oynar.
Gömülü sistemler de ayrıca gerçek zamanlı işletim sistemleri de kullanılır (RTOS – Real Time Operating Systems). Böylelikle tasarımcı donanım ayrıntılarıyla çok uğraşmadan ana işlemleri gerçekleştirmeye odaklanabilir. Arka plandaki görevlerin senkronizasyonu işletim sistemi tarafından gerçekleştirilir.
Çok geniş bir alanı kapsayan gömülü sistemlerin bütün özelliklerini ele almak çok zor olsa da bu yazıda genel özellikleri tanımış olduk. Bundan sonra değişik özellikleriyle gömülü sistemleri tanımaya devam edeceğiz.
[ad#ad-1]
Bir elektrik-elektronik mühendisliği öğrencisi olarak yazılarınızı büyük bir zevkle okudum fakat yazılış tarihleri arasında oldukça uzun zaman geçmiş.Böyle kaliteli yazıları daha sık görmeyi ümit ediyorum.
Yazınızı çok beğendim birçok kaynak araştırdım ama sizinkisi kadar açık ve güzel anlatan başka biryere rastlamadım.Tek kelimeyle harikulade bir yazı olmuş klavyenize sağlık hocam. 🙂
Teşekkür ederim.
”Gömülü sistemlerin genellikle bir işletim sistemleri yoktur ya da özelleştirilmiş gömülü işletim sistemleri kullanılmaktadır.”
Tırnak içerisinde ki yazıyı açıklayabilir misiniz? Eğer İşletim sistemleri yoksa gömülü sistemleri işleten şey nedir? Özelleştirilmiş Gömülü işletim Sistemleri nelerdir?
Çok basit bir şekilde “döngü” içerisinde sürekli aynı fonksiyonları çalıştırırlar. Gömülü sistemlerde kullanılan işletim sistemleri “gerçek zamanlı işletim sistemi – real time operating system – RTOS” olarak geçiyor, bu şekilde araştırabilirsiniz.
”Gömülü sistemlerin genellikle bir işletim sistemleri yoktur ya da özelleştirilmiş gömülü işletim sistemleri kullanılmaktadır.”
Tırnak içerisinde ki yazıyı açıklayabilir misiniz? Eğer İşletim sistemleri yoksa gömülü sistemleri işleten şey nedir? Özelleştirilmiş Gömülü işletim Sistemleri nelerdir?
Çok basit bir şekilde “döngü” içerisinde sürekli aynı fonksiyonları çalıştırırlar. Gömülü sistemlerde kullanılan işletim sistemleri “gerçek zamanlı işletim sistemi – real time operating system – RTOS” olarak geçiyor, bu şekilde araştırabilirsiniz.
Yazınızı çok beğendim birçok kaynak araştırdım ama sizinkisi kadar açık ve güzel anlatan başka biryere rastlamadım.Tek kelimeyle harikulade bir yazı olmuş klavyenize sağlık hocam. 🙂
Teşekkür ederim.