gerçek zamanlı-i̇şletim-sistemi
TRANSCRIPT
![Page 1: Gerçek zamanlı-i̇şletim-sistemi](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/1.jpg)
Uğur YILDIZ• İlyas VAROL• Halil İbrahim AKGÜN• Yunus MARANGOZ
![Page 2: Gerçek zamanlı-i̇şletim-sistemi](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/2.jpg)
GERÇEK ZAMANLI İŞLETİM SİSTEMLERİ
![Page 3: Gerçek zamanlı-i̇şletim-sistemi](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/9.jpg)
RTOS’un Yapısı
![Page 10: Gerçek zamanlı-i̇şletim-sistemi](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062302/5899c4e31a28ab45548b58b9/html5/thumbnails/20.jpg)
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.