Upload
ilvarol
View
150
Download
0
Embed Size (px)
Citation preview
Uğur YILDIZ• İlyas VAROL• Halil İbrahim AKGÜN• Yunus MARANGOZ
GERÇEK ZAMANLI İŞLETİM SİSTEMLERİ
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.
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.
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.
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.
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.
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.
RTOS’un Yapısı
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.
RTOS’un Yapısı• Monolotik Kernel• Bellek yönetimi, kesme Yö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
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.
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.
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.
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.
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;
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 programlarda CPU 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.
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.
Görev Yönetimi• Öncellik Tabanlı 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.
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.