Zaman kavramı, günümüz insan hayatının en önemli parçalarından biridir. Mesleki ve hayati süreçlerimizde genellikle bir karmaşa içerisinde olur ve planlarımızı olabildiği kadar zamana bağlı olarak yerine getirmeye çalışırız. Planlanan işler, düşünüldüğü sürelerde yerine getirilmez ise bir çok sıkıntı meydana gelebilir ve yapılacak işe göre diğer planlar da yerine getirilmeyip bütün yapı bozulabilir. Zaman kavramı, günümüz teknolojisinde de çok önemli bir hale gelmiştir. Bazı elektronik donanımlarda bulunan mekanizmaların, yapması gereken işlemleri saniyeler içerisinde çok hassas çalışarak yapması gerekmektedir. Hatta bu süre mili saniyeler bandında bile olabilir. İşte bu gibi görev zamanının ön planda olduğu durumlarda kullanılması amacıyla gerçek zamanlı işletim sistemi adı verilen sistemler meydana çıkmıştır.
Peki nedir bu gerçek zamanlı işletim sistemi? Öncelikli olarak işletim sistemi kavramını incelemek daha faydalı olacaktır.
İşletim Sistemi Nedir?
İşletim sistemi, bilgisayarda bulunan bütün donanım kaynaklarının yönetimini sağlayan, bir çok ihtiyacı karşılamak için kullandığımız uygulama yazılımları için, yaygın servisleri sağlayan yazılım bütünü denilebilir. Günlük hayatta bilgisayar üzerinden gerçekleştirdiğimiz bir çok işlemi yerine getiren uygulamaların yapması gerekli olan ve ya kullanıcının isteğine göre yapacağı işlemlerin yürütülmesi için donanımlar kullanılır.Ancak bellek işlemleri, girdi-çıktı değerleri alma gibi işlemleri yerine getirmesi için işletim sistemine ihtiyaç duymaktadır. İşletim sistemleri , bu durumda bilgisayar donanımı ile uygulama arasında bir nevi kanal vazifesi görmektedir.
Gerçek Zamanlı İşletim Sistemleri
Günümüzde, gömülü sistem alanı çok yaygın bir şekilde neredeyse tüm elektronik işlerinde yer almaktadır. Bu kavram, elektronik ile yazılımın birleşimi olarak düşünülebilir. Elektronik cihazlara, kullanıcı uyumluluğu,çevre etkileşimi ve görev bilinci kazandıran sistemlerdir. İsminden de anlaşılacağı gibi, içinde bulunduğu elektronik donanıma gömülü bir şekilde entegre edilir. Bulunduğu sistemde sensörler vasıtasıyla görev için gerekli olan ölçümleri alır, sistemde bulunan cihazların birbirleri ile haberleşmesi sağlar, alınan veriler doğrultusunda yapılması gereken işlemleri, yönetici konumunda çalışarak belirler. Kullanımı ise direkt olarak yazılımını gerçekleştiren kişiye bağlı olarak değişir.
Gerçek zamanlı işletim sistemleri de,genellikle, gömülü sistemlerde bulunur ve çalışmasında zaman kavramının çok önemli olduğu yerlerde kullanılır. Zamanın önemli olduğu sistemler için şöyle bir örnek verebiliriz. Bilgisayar üzerinde yazı yazarken,rapor hazırlarken ve ya internet üzerinde gezinirken bilgisayarın anlık olarak iki ve ya üç saniye donması, farenin hareket etmemesi biraz sinir bozsa da hayati olarak bir önemi yoktur. Ancak bu gecikme, yoğun bakımda bulunan bir hastayı besleyen bir elektronik cihazda meydana gelirse hastanın ölümüne kadar varabilecek çok büyük sıkıntılar çıkabilir. İşte bu gibi durumlarda gerçek zamanlı işletim sistemleri çok büyük bir öneme sahip.
Çalışma Prensibi
Elektronik bir cihazın kontrol kartında bulunan ve sistem içerisinde görev alan yapıların belli bir işlem sırası vardır. Dışarıdan bakan bir göz, her bir elemanın aynı anda çalıştığını düşünse de aslında olay öyle değildir. Gelişen teknoloji sayesinde ortaya çıkan mikroişlemci ve ya mikro denetleyiciler, bu geçiş süresini mili saniyeler içerisinde gerçekleştirdiği için aynı anda çalışıyor izlenimi verebilir. Yukarıda bahsedildiği gibi bu sürenin çok önemli olduğu durumlar söz konusu olabilir. Sistemde meydana gecikme süreleri çevresel durumlara ve ya elemana göre değişiklik göstereceği için bazı durumlarda çok büyük sıkıntılar ortaya çıkacaktır. İşte bu durumlar için geliştirilmiş olan gerçek zamanlı işletim sistemleri, gerçek zaman ve işletim sistemi olarak iki parçadan oluşur. Bu sistemler, çoklu görev bilincinde çalışırlar. İşlemler, yapılarında bulunan bir çekirdek üzerinden gerçekleştirilir.
Normal işletim sistemlerinden farkı, işlem önceliği yerine zaman önceliğine sahip olmalarıdır. Kendisine verilen görevleri, birbirleri arasında çok hızlı bir şekilde geçiş sağlayarak yerine getirerek, bütün işlemler aynı anda gerçekleşiyor izlenimi verirler. Yerine getirilmesi gereken görevler, yazılımcı tarafından belli bir ‘priority (öncelik)’ sıralamasına göre kodlanır. Normal bir akışta çalışırken, önceliği yüksek olan bir görev oluşursa, sistem direkt olarak o an ki görevi bırakır ve önceliği yüksek olan görevi yerine getirir. Bu işlemin bitiminde kaldığı yerden diğer görevlerini yerine getirmeye devam eder. Gerçek zamanlı işletim sistemi, herhangi bir veriyi alır almaz, ara bellek gecikmesi olmadan işleme alır. İşlem süresi gereksinimleri , saniyenin onda biri kadar süren kısa zaman aralıklarında hesaplanır. Gerçek zamanlı bir sistem, iyi tanımlanmış, sabit zaman kısıtlamaları olan zamana bağlı bir sistemdir. İşlem tanımlanan kısıtlamalar dahilinde yapılmalıdır, aksi takdirde sistem başarısız olur.
Kullanım Alanları
.Hava Trafiği Kontrol Sistemleri
.Kalp Pilleri
.Hava Savunma Sistemleri
.Kilitlenmeyi Önleyici Fren Sistemleri
.Multimedya Sistemleri
.Havacılık Elektroniği
Gerçek zamanlı işletim sistemi, kullanım alanı olarak çok geniş olmasa da sürenin çok önemli olduğu uygulamalarda vazgeçilmez olan sistemlerdir. Bazı dezavantajlara da sahiptirler. Hassasiyet, beraberinde maliyet artışını da getirdiğinden dolayı zaman kavramı çok kritik olmadığı sürece tercih edilmeyebilirler. Aynı zamanda bu sistemlerde CPU kullanımını da belli bir oranda artar.
-
Kaynakça
- wikipedia.org
- freertos.org
- medium.com



