real time time critical

Time critical – mission critical

Systems used for many mission critical applications must be real-time, such as for control of fly-by-wire aircraft, or anti-lock brakes on a vehicle, which must produce maximum deceleration but intermittently stop braking to prevent skidding. Real-time processing fails if not completed within a specified deadline relative to an event; deadlines must always be met, regardless of system load.

Yani belirlenen gorev belli bir zamanda (deadline’a kadar) yapilmazsa sistem patlar.

kaynak


Real time

Gercek zamanli isletim sistemi nedir, Linux cekirdegiyle ne kadar alakalidir onu da bildigimce yanitlamaya calisayim. Diyelim sisteminizde bir uygulamayi calistiran bir girdi var. Ornegin sicaklik degerini bir sensor ile okuyup, uzerinde cesitli islemler yapip bir cikti uretiyorsunuz. Sicakligi okudugunuz T zamani ile o sicakliga karsilik gelen ciktiyi urettiginiz T+t zamani arasinda bir kisit varsa, yani t belirli bir degerden buyuk olamazsa o zaman gercek zamanli islemlerden bahsediyorsunuz demektir. Bu t zamani gercek zamanli isletim sistemlerinde sistemin yukunden bagimsiz olarak garanti edilir. Bizim kullandigimiz gercek zaman yamasi yapilmamis cekirdekte ise calistirdiginiz isin onceliginin ne olduguna pek bakilmadigindan bu t zamani garanti edilemez.

kaynak


aslinda real time demek donanima is yaptirma ve algoritma kosturma surelerinin belli bir zamani gecmemesidir. buna deterministic calisma da denir.

real time in ne oldugunu anlatirken okulda hocalar, karpuz saticilarinin kamyonet uzerinden tezgaha karpuzlari atislarini ornek verirlerdi. yani kamyonetteki karpuz atan adam ile tezgaha yerlestirmek icin karpuzlari yakalayan adamin senkronize calismasi gereklidir. bir baska deyisle ikisine verilen belli bir process zamani vardir. bu zaman asilirsa veya ayrilan zamandan once islem biterse hata verir, karpuz yere duser. yani stack over flow olur ya da donanim tarafindan akan datada kacmalar olur.

yani karpuz atma isi time critical bir islemdir. latency’e tahammul yoktur.

ayrica yukaridaki ornekten de anlasilacagi uzere real time demek hizli demek de degildir. karpuzlar tezgaha yavas yerlestirilebilir. karpuz transferi uzak noktalar arasi da olabilir. tek mesele karpuzlarin yere dusmemesi, datalarin kaybolmamasidir.

real time sistem nasil real time olur? bazi os’ler donanima erisim saglama noktasinda araya katman girdigi icin ya da donanima erisim saglayamadigi icin mi real time olmazlar?

sistemler event triggered veya time triggered olabilirler.

time triggered sistemlerde task’lar predefined edilmis süreler ile periodic olarak calisilar. (bizim sisteme uymuyor)

event triggerde sistemler ise task’larin calismasi asenkrondur. donanim’dan ne zaman ne gelecegi belli olmaz. beklenmedik bir yerde interrupt gelebilir. sistemin bu interrupt’lara gerekli priority’yi vermesi gerekir. bu real time ozelligidir. (bizde bu olacak)

bu time triggered ve event triggered model’leri zaten rtos calismalarimda gordugunuz round robin ve preemptive task modelleri. preemptive task modeli (ki bizde olmasi gereken model) yüksek priority’li task’lara kisa response time vermesi gereklidir. yani kisa deadline, kisa period.


soft real time – hard real time arasindaki fark

soft real time sistemler vaadettikleri real time surelerine bazen uymayabilirler. sistem icin bunun cok muhim olmadigi durumlarda bu os’ler kabul edilebilir. bu sistemlerde latency’nin abartildigi durumlar soz konusu olabilir. tahammul edilebiliyorsa sorun yoktur. belirlenen sureler asildiginda sistem basarisiz oluyor denemez. bu bizim projeye uymuyor. bununla ilgili olarak ses sistemleri ornek verilir. mesela bikac bitlik data kaybini beyin algilayamaz ama bu durum cok olursa farkedilir, can sıkar.

hard real time’larda ise vaadedilen sureler kati bir sekilde saglanir. (absolutely hit every deadline) bunlar event triggered olurlar.