RTOS (REAL TIME OPERATING SYSTEM)
Mikrodenetleyiciler, aynı
anda bir komut satırını işletebilen entegrelerdir.
Örneğin; ardiuno’da loop
fonksiyonun içine iki adet sonsuz döngü yerleştirelim. Mikrodenetleyici ilk
sonuz döngüye girdiğinde oranın içindeki komutlaru sırayala işler fakat ikinci
sonuz döngüye birinci döngüden çıkamadığı için oradaki görevleri
işletemez.
RTOS, mikrodenetleyicilerin
içine gömülen bir işletim sistemidir aynı windows, linux gibi. RTOS’un en
önemli özelliği görevleri parelelmiş gibi yapma yeteneği olmasıdır, bu
özelliğiyle FPGA benzetebiliriz. Örneğin, Bilgisayarda müzik dinliyorsunuz
spotify’de bir yandada internette gazete okuyorsunuz. Bilgisayarda bu işler
parlelmiş gibi yapılıyor. İnternette gezereken internet sayfanız donsa bile
veya internet sayfanız geç açılsa bile arka tarafta siz şarkınızı gayet akıcı
bir şekilde dinliyor olacaksınız. Bu iki görevi yani yazılımda sanki iki farklı
while sonsuz döngüsünde olduğunu düşünün. Yani bilgisayar iki farklı sonuz
döngüyü aynı anda çalıştırıyor. Aynı bu yapıyı mikrodenetleyicilerdede RTOS
sayesinde yaptırabilirz.
RTOS, sayesinde iki veya daha
fazla sonsuz döngüyü aynı anda çalıştırabiliriz.
Yukarıdaki resimde RTOS ile çalışan iki farklı sonsuz döngü
içersinden alınan iki sinyal görülmektedir.
Birinci sinyal sdkart’a data yazma zamanını, ikinci sinyalde
her 6 ms’da ekg devremizden örnekleme aldığımızı düşünelim. Burada yapılan iş 6
ms örnekleme alıp onu sd kart’a yazmak fakat bunu RTOS’suz yaparsak 1.sinyalde
A1’den A2’ye kadar lojik bir seviye olmuştur. Yani, sd karta yazma işi uzun
sürmüş yaklaşık 60 ms. RTOS’suz
yaptığımız düşünürsek 60 ms’de biz 6 adet ekg verisini kaybetmiş oluruz çünkü tek
bir sonuz döngü içinde olacak önce ekg datasını okucayacak sonra onu sd kart’a
kaydedecek. Kaydetme işi uzun olduğundan okuma yapıyacak ve bu durumda datalar
eksik yazılacaktır.
Fakat bunu RTOS kullanarak yaparsak bu başımıza gelmeyecek.
İkinci sinyalde de bu görülmektedir. A1 ve A2 süresi uzun sürse bile biz
örnekleme alacağız yani datalarımız kaybolamayacak. Burada iki farklı sonsuz döngü olacak.
Birinci döngüde sd karta yazacak, ikinci döngüde örnekleme alacağız kesintisiz.
Hiç yorum yok:
Yorum Gönder