3. Gerçek Zamanlı İşletim Sistemi Nedir?
• Gerçek Zamanlı İşletim sistemi (RTOS) gerçek zamanlı uygulamalar
için tasarlanmış çoklu görev icra edebilen bir işletim sistemidir.
• İki bileşenden oluşur.
• Bunlar gerçek zaman (Real -Time) ve işletim sistemidir.
4. Gerçek Zaman
• Yürütülen işlemlerin cevap verme süresinin belli bir değer arasında
olmasıdır.
• Bir işin tam zamanında yapılması gerekiyorsa bu iş, zaman açısından
kritik bir iştir.
• RTOS(Gerçek zamanlı işletim sistemi) gerçek zamanı garanti eden bir
mekanizmadır.
5. Neden kullanılır?
• Gömülü sistemler içerisinde uygulamaların
karmaşıklığı arttıkça RTOS’un ihtiyacı daha belirgin
hale gelir.
• Her geçen gün daha karmaşık donanımlar içeren
gömülü sistemlerin üretilmeye başlaması sistemden
beklenen görevlerin yönetimini giderek
zorlaştırmıştır.
• Bu tür uygulamalarda RTOS gerekli performansları
karşılamak için efektif gerçek zamanlı uygulama
geliştirmek için kullanılır.
6. RTOS’un sınıflandırılması
• Hard real-time: Görevlerin bitirilme zamanında meydana gelen
gecikme tolerans derecesi oldukça küçüktür. Zamanında yapılmayan
görevler sistem için yıkıcı etki oluştururlar.
• Soft real-time: Görev için atanan sürenin tutturulması çok önemli
olmayabilir ve bu süredeki kayıp tolere edilebilir. Sistem kalitesindeki
azalma kabul edilebilir.
• Firm real-time: Görevlerin zamanında bitirilememesi kabul edilemez
kalite azalmasına neden olabilir.
7. Jitter
• Gecikme(Delay): Bir paketin alıcıya teslimi sırasında geçen işlem
süresine denir.
• Gecikme en fazla 150 ms olacak şekilde kabul edilebilir.
• Jitter: Paketlerin gecikme sürelerindeki farklılıktır. Aynı türden
paketlerin iletimi sırasında her paketin ulaştığı süreyi ifade eder.
• Jitter, gecikmenin sabitlenemediği ve ölçülemediği durumlarda
başlar.
8. Buffer(Tampon)
• Buffer, değişken gecikmenin oluştuğu durumlarda ses ve diğer medya
paketlerini tamponda tutar ve gönderir.
• Amacı, değişken gecikme durumunda kabul edilebilir değerlerde
paketleri tamponlamak ve alıcıya göndermek üzerine kuruludur.
10. RTOS’un Yapısı
• Kernel(çekirdek)
• İşletim sistemi genel olarak iki kısımdan oluşur. Bunlar;
• kernel
• kullanıcı modülü
• İşletim sisteminin en küçük ve merkezi bileşenidir.
• Belleğin ve cihazların yönetimini sağlar.
• Yazılım uygulamalarının kaynakları kullanabilmesi için bir ara yüz oluşturur.
11. RTOS’un Yapısı
• Monolotik Kernel
• Bellek yönetimi, kesmeYönetimi, I/O haberleşmesi gibi
bütün temel sitem servislerini yerine getiren kernel
çeşididir.
• Alt yapısının oluşturan donanım için zengin ve güçlü bir
soyutlama sağlar.
• Örneğin Linux,Windows
12. RTOS’un Yapısı
• MicroKernel
• Yalnızca temel işlem iletişimi ile I/O kontrolünü yerine
getiren Kernel çeşididir.
• Diğer dosya sistemi, ağ gibi diğer sistem hizmetleri ise
kullanıcı kısmında yer alır. Bu yüzden basit donanım
soyutlaması sağlar.
• Monotilik kernel’e göre daha karalı bir yapıya sahiptir.
• Dosya sistemi gibi sistemlerler çökse bile kernel bunlardan
etkilenmez.
• Örneğin AmigaOS,QNX.
13. Görev Yönetimi
• Görev yönetimi programlayıcıları her biri faklı hedef ve bitim
zamanına sahip görevler tasarlamalarına imkan sağlar.
• Bu servis schedular ve dispatcher gibi görev nesnesi oluşturma ve
devamını sağlaması için kullanılan scheduler ve dispatcher
mekanizmalarına sahiptir.
14. Görev Yönetimi
• Görev nesnesi: Gerçek zamanlı uygulama programlarında eş
zamanlılığı oluşturabilmek için, uygulama küçük ve zamanlanabilen
sıralı program birimleri olan görevlere ayrılır.
• Görev için üç zaman vardır;
• Release time: Bir görevin işleme alındığı zamanı gösterir.
• Deadline: Bir görevin bitmesi gereken süreyi gösterir.
• Execution time: Görevin işlendiği zamanı gösterir.
15. Görev Yönetimi
• Bir görev nesnesi aşağıdaki bileşenler tarafından tanımlanır.
• Görev kontrol Bloğu: görev veri yapısı RM içerisinde bulunur ve yalnızca rtos
tarafından erişilebilir.
• Görev yığını: Program içerisinde tanımlanan veri olup RAM içerisinde bulunur
ve yığın işaretçisi tarafından erişilir.
• Görev routine: ROM içerisindeki program kodudur.
16. Görev Yönetimi
• Her bir görev için 4 durum bulunur ve görevler programın yürütülmesi
esnasında bu dört durumunun birinde bulunur.
• Bu durumlar, aşağıdaki gibidir;
17. Görev Yönetimi
• Schedular;
• Her bir görevin durum kayıtlarını tutar ve yürütülmeye hazır olan görevi seçer ve
işlemeciyi bu göreve tahsis eder.
• Çok görev içeren programlardaCPU kullanımını en etkin şekilde kullanılmasını
sağlar. Böylece bekleme zamanını azaltır.
• Genel olarak iki tür schedular bulunur.
18. Görev Yönetimi
• Non Preemptive
• Görevler arasında öncellik sırası yoktur
• Bütün görevler aynı öncellikli olarak kabul edilir.
• Bir görev yürütülmeye başlandığında diğer bir görev bu görevin bitmesi ile yürütülmeye başlar.
19. Görev Yönetimi
• ÖncellikTabanlı Preemptive
• Her zaman işlemci yüksek öncelikli görevleri kontrol eder.
• Eğer yüksek öncelikli bir görev işlenmek için hazır ise işlemci üzerindeki görev hemen askıya alınır ve
işlemcinin kontrolü yüksek öncelikli göreve verilir.
20. Görev Yönetimi
• Dispatcher
• Scheduler tarafından seçilmiş göreve işlemcinin kontrolünü vermek içi kullanılır. Bu sayede yürütme
akışını değiştirilmiş olur.