https://www.onlogic.com/company/io-hub/wp-content/uploads/2016/10/Exploring-Real-Time-Operating-Systems.jpg

Gerçek Zamanlı İşletim Sistemleri (Real-Time Operating System — RTOS) ve LynxOS

1. Gerçek Zamanlı İşletim Sistemleri (Real-Time Operating System — RTOS)

Birol EMEKLİ
4 min readDec 3, 2020

--

Gerçek zamanlı işletim sistemleri, kaynak yönetimi, iletişim, hassas zamanlama, senkronizasyon ve planlama için destek sağlarlar[1]. RTOS, görevlerle ilişkili bir son tarihi vardır ve bu tarihi geçirmeden görevlerini tamamlaması gerekmektedir[2]. RTOS deterministik, hizmet kalitesi (QoS) ve son zaman (deadline) olmalıdır. Deos (DDC-I), embOS (SEGGER), FreeRTOS (Amazon), Integrity (Green Hills Software), Keil RTX (ARM), LynxOS (Lynx Software Technologies), MQX (Philips NXP / Freescale), Nucleus (Mentor Graphics), Neutrino (BlackBerry), PikeOS (Sysgo), SafeRTOS (Wittenstein), ThreadX (Microsoft Express Logic), µC/OS (Micrium), VxWorks (Wind River), Zephyr (Linux Foundation) popüler gerçek zamanlı işlerim sistemleridir.

Deterministik: Bir girdiye her zaman aynı çıktıyı üretmek

Hizmet Kalitesi (QoS): Bir ağın gecikme ve hata oranları, ağın performansı

Son Zaman (Deadline): Görevin tamamlanması gereken son zaman

2. Gerçek Zamanlı İşletim Sistemi Türleri

2.1. Zor RTOS ( Hard RTOS)

Görevin son tarihi sıkı şekilde ele alınır, görev belirtilen sürede başlayıp belirtilen sürede bitirilmesi gerekmektedir. Bu tip RTOS’lar görevin son tarihine bağımlıdır ve görev gecikmeye girerse sistem bozulur. Bu yüzden bu tarz sistemler gecikmelere tahammül edemezler. Uçak sensörü, uzay araçları gibi.

2.2. Sağlam Gerçek Zamanlı (Firm RTOS)

Görevin son tarihinde sonlanmamış olması büyük bir tehlike arz etmez fakat kalitede büyük bir düşüş istenmeyen etkilere neden olabilir. Multimedya uygulamaları gibi.

2.3. Yumuşak RTOS (Soft TROS)

Bu sistemlerde, gecikme kabul edilebilir bir durumdur fakat istenilen bir durum değildir. Ses ve video dağıtım yazılımları örnek verilebilir.

3. Gerçek Zamanlı İşletim Sistemi Özellikleri

Görev Önceliği (Task Priority): En çok ihtiyaç duyulan görevi tanımlama ve kaynağı elde etmek için denetimi gerçekleştirme

Görevler Arası İletişim Mekanizması (Task Communication Mechanism) Birden fazla görevin iletişim kurması ve veri bütünlüğünü sağlaması için senkronizasyon mekanizması gerekir.

Çoklu Görev (Multitasking): Birden fazla görevin aynı anda yürütmeye olanak sağlar

Belirleyici Davranış (Deterministic behaviour): Süreçler ve kesintiler (interrupts) belirli bir süre içinde ele alınır

Tanımlanmış Yığın Kullanımı (Defined stack usage): Her görev için tanımlanmış bir yığın alanı tahsis edilir

Sistem Yönetimi (System management): Kaynak yönetimi yerine, uygulama geliştirmeye olanak tanır

4. Gerçek Zamanlı İşletim Sistemleri Neden Tercih Edilir

· Önceliğe dayalı programlama sunar

· Daha az hafıza kullanımı

· Az kaynak tüketimi

· Hızlı yanıt süreleri

· API servisi sağlarlar

· Zaman kaybı olmaksızın süreçlere odaklanır

· Modüler geliştirmeye teşvik eder

· Görev tabanlı tasarımı vardır

5. Gerçek Zamanlı İşletim Sistemleri Hakkında Bazı Yanlışlar

· RTOS çok hızlıdır! Bir göreve hızlı yanıt vermek hızlı oldukları anlamına gelmez

· Tüm RTOS’lar aynıdır! Aslında daha önce bahsettiğimz gibi Zor ve Yumuşak RTOS olmak üzere farklı yapılar mevcuttur.

· CPU ek yükü kullanımı fazladır! Bir RTOS CPU’nun %1-%4 zamanını kullanır.

· RTOS tasarımında bilim yoktur! Gömülü sistemlerin karşılaştığı sorunlar üzerine çalışırken geliştirilmiştir.

· Çok fazla elektrik tüketir! Kullanılan mimariye ve donanımlara göre değişkenlik gösterir.[2]

6. Gerçek Zamanlı İşletim Sisteminde Kullanılan Bazı Terimler

· Görev (Task): Sistem işlevlerini birlikte sağlayabilen bir dizi

· İş (Job): İşlemciye atanan küçük iş parçası

· İşin Serbest Bırakılma Zamanı (Release time of a job): İşin uygulamay hazır hale geldiği zaman

· İşin Yürütme Süresi (Execution time of a job): İşin bitmesi için geçen süre

· İşin Son Tarihi (Deadline of a job): İşin tamamlanması gereken zaman

· İşlemciler (Processors): Aynı zamandaki aktif kaynaklar

· İşin Yanıt Süresi (Response time of a job): İşin başlayıp bittiği anda geçen süre

· Mutlak Bitiş Tarihi (Absolute deadline): Göreceli işin son tarihi

7. Genel Amaçlı İşletim Sistemleri ile Gerçek Zamanlı İşletim Sistemleri Farkları

8. LynxOS

8.1. LynxOS Gerçek Zamanlı İşletim Sistemi

İlk olarak 1986 yılında tanıtıldı. Lynx Yazılım Teknolojileri tarafından geliştirilen, havacılık, askeri, uzay ve savunma uygulamaları için zor gerçek zamanlı bir işletim sistemidir. ARM ve PowerPC mimarlilerini desteklemektedir[3]. Kanıtlanmış güvenlik, güvenirlilik geçmişine sahiptir. Kullanan kurumlar arasında NASA, Boeing, General Dynamic ve ABD Silahlı Kuvvetleri bulunmaktadır[4].

LynxOS Mimarisi [5]

Önleyici bir işletim sistemidir ve zaman açısından kritik sistemlerde, görevlerin anında biteceğini garanti eder. Ağa bağlı sistemlerde çok iş parçacıklı olarak çalışabilen bir sistemdir. Bellek yönetim birimi MMU) kullanımı gereklidir ve güvenlik olarak iyidir ancak esnek olmadığı için olumsuz olarak görülmektedir[5].

8.2. LynxOS Hakkında Detaylar

LynxOS, kabuğunun UNIX benzeri olduğu için daha fazla RAM ihtiyacı hissetmektedir. Araçları kullanma konusunda diğer gerçek zamanlı işletim sistemlerine göre daha özgürlükçü bir yaklaşım izlemektedir. LynxOS’da bellek yönetimi devre dışı bırakılamadığından sistemi daha güvenli çalıştırma imkanı sunmaktadır.

8.3. LynxOS Özellikleri

· CPU Planlama: Dinamik zaman dilimlemeyi kullanılır

· Hafıza Yönetimi : Geliştiriciyi bellek yönetimi kullanmaya zorlar

· Boyut: Optimize edilmiş boyuta sahip olması gereken sistemler için uygun değildir

· Güvenlik: MMU kullanımı nedeniyle son derece güvenlidir

· Bellek Ayırma: Bellek ayırma algoritmalarını gizli tutar

· Esneklik: MMU kullanımı gerektiğinden iyi bir esnekliğe sahip değildir

Kaynakça

[1] Real-Time Operating Systems (JOHN A .STANKOVIC R .RAJKUMAR)

[2] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6745342 (Prasanna Hambarde, Rachit Varma and Shivani Jha)

[3] https://tr.wikipedia.org/wiki/LynxOS

[4]https://www.unmannedsystemstechnology.com/company/lynx-software-technologies/

[5]https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.675.1885&rep=rep1&type=pdf

--

--