20
Uğur YILDIZ İlyas VAROL Halil İbrahim AKGÜN Yunus MARANGOZ

Gerçek zamanlı-i̇şletim-sistemi

  • Upload
    ilvarol

  • View
    150

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gerçek zamanlı-i̇şletim-sistemi

Uğur YILDIZ• İlyas VAROL• Halil İbrahim AKGÜN• Yunus MARANGOZ

Page 2: Gerçek zamanlı-i̇şletim-sistemi

GERÇEK ZAMANLI İŞLETİM SİSTEMLERİ

Page 3: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 4: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 5: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 6: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 7: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 8: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 9: Gerçek zamanlı-i̇şletim-sistemi

RTOS’un Yapısı

Page 10: Gerçek zamanlı-i̇şletim-sistemi

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. 

Page 11: Gerçek zamanlı-i̇şletim-sistemi

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

Page 12: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 13: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 14: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 15: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 16: Gerçek zamanlı-i̇şletim-sistemi

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;

Page 17: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 18: Gerçek zamanlı-i̇şletim-sistemi

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.

Page 19: Gerçek zamanlı-i̇şletim-sistemi

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. 

Page 20: Gerçek zamanlı-i̇şletim-sistemi

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.