BERK-RTOS — yerli ve millî gerçek-zamanlı işletim sistemi
Savunma sanayii, medikal sistemler ve kritik IoT için tasarlanmış RTOS. Tek çekirdek, altı sektör personası; TLA+ ile model denetimi yapılmış zamanlayıcı tasarımı ve deterministik kesme yolu.
"Tek Çekirdek — Altı Persona"
Aynı çekirdek; sektöre göre sertifikasyon profiliyle şekillenir. Her persona, kendi standardının gerektirdiği özellik kümesini taşır.
| Profil | Sektör | Sertifikasyon Hedefi | Özellikler |
|---|---|---|---|
| Defense | Savunma Sanayii | CC EAL5+ → EAL7 | MILS, time-partitioning, MIFC |
| Avionics | Havacılık | DO-178C DAL-A/B | ARINC 653, health monitoring |
| Automotive | Otomotiv | ISO 26262 ASIL-D | AUTOSAR OS, timing protection |
| Medical | Medikal Cihazlar | IEC 62304 Class C | Deterministik, safe state |
| Automation | Endüstriyel | IEC 62443 SL3 | PLC cyclic, fieldbus |
| IoT | Tüketici IoT | ETSI / PSA | Tickless, OTA, low-power |
Dalsız zamanlayıcı tekerleği — kartta ölçüldü
Zamanlayıcı tekerleği bileşeni (DualBufferWheel) için DO-178C DAL-A hedefli deterministik
tick işlevi: atomik işlem yok, koşullu dal yok (derleyici çıktısında 0), kesme yolunda bayrak yazımı yok. Ölçüm bileşenin
gerçek kaynağı üzerinde, STM32F746G-DISCO @ 216 MHz'de DWT çevrim sayacıyla yapıldı. Tekerlek artık çekirdeğin
esas zamanlayıcısıdır: SysTick yolunda (scheduler.on_tick) her tick ilerletilir; gecikme ile semafor ve
mesaj zaman aşımları burada kurulur (masaüstü ölçüt testleri ZS-1…ZS-7). SysTick yolu uçtan uca kartta ölçüldü (aşağıda).
21 çevrim tick (kartta)
tick_atomic_free, ITCM'de kod ve DTCM'de veriyle: kararlı durumda net 21 çevrim (~97 ns), 0 ve 8 zamanlayıcıda
aynı; 10 000 örneğin 9 999'u aynı değerde. İlk çağrı dahil en kötü gözlenen net 30 çevrim (ölçüm çağrısının
ilk-çağrı payı dahil). Önbellek açık ve kapalı sonuç aynı. Kayıt: berk-rtos logs/kart_tick_20261029_123002.log.
Bu, ölçülmüş en kötü değerdir; statik WCET analizi değildir.
108 çevrim bağlam değişimi (kartta)
Çekirdeğin kendi PendSV işleyicisi ITCM'de: görevin geçiş isteğinden hedef görevin ilk komutuna, FPU bağlamı
taşıyan iki görev arasında 108 çevrim (500,0 ns), FPU kullanmayan görevler arasında 68 çevrim (~0,31 µs);
iki yönde aynı, iki yönde de 10 000 örneğin tamamı aynı değerde (iki yön ölçümde birebir aynı koddan geçer). FPU kullanan görevler arasında s0-s31 ve FPSCR korunur; istek yokken
gelen PendSV bağlam değiştirmez (kartta doğrulandı). Kayıt: berk-rtos logs/kart_pendsv_20261029_202936.log.
Ölçülmüş değerdir; statik WCET analizi değildir.
SysTick yolu uçtan uca (kartta)
Gerçek çekirdek, gerçek SysTick: belirlenimci kipte (Cortex-M7 dal hedef önbelleği kapalı,
belirlenimci_kip) her tick türü tek değer verir — normal 192, zaman dilimi 309, görev uyanması 883,
uzak zamanlayıcının yeniden kurulması 461; tek görev uyanırken en kötü sınıf (yeniden kurma + uyanma) 1 058 çevrim;
giriş gecikmesi 37 çevrim; önbellek açık ve kapalı aynı. Aynı tick'te k görev uyanınca maliyet k ile artar
(varsayılan kipte k = 1/4/8: 842/1 130/1 514 çevrim). Tek uyanmalı tick için uçtan uca en kötü:
37 + 1 058 + PendSV 108 = 1 203 çevrim (~5,6 µs). Varsayılan kipte değerler daha düşüktür (normal 123, uyanma 816)
ama önceki tick'lere göre oynar; gözlenen her değer belirlenimci kip değerinin altında kaldı —
bu bir gözlem, garanti değil. Kayıt: berk-rtos logs/kart_systick_20261029_202251.log. Ölçülmüş değerdir; statik WCET
analizi değildir.
Güvenlik katmanları
Watchdog, stack guard'lar, SafetyViolation çerçevesi, MILS cache-flush sertleştirmesi, syscall katmanı ve öncelik-mirası (priority inheritance).
Donanımda doğrulama
BerkRTOS çekirdeği STM32F746G-DISCO kartında iki öncelikli-kesmeli BERK göreviyle koştu; aynı BERK programı FreeRTOS, ThreadX ve Zephyr üzerinde de koştu. Bağımsız çıplak-metal kıyas programlarıyla 216 MHz'de DWT ölçümleri (2026-01-27): bağlam kaydet/geri yükle dizisi 279–301 çevrim (SRAM, ~1,3–1,4 µs), kesme gecikmesi 138–141 çevrim (~640 ns, 3 çevrim titreşim); 14 sektörlük 37 kart testi 37/37. Zamanlayıcı tekerleğinin tick işlevi, çekirdeğin PendSV bağlam değişimi ve SysTick yolu kartta ölçüldü (yandaki kartlar). i.MX RT1050 için yalnız donanım uygunluk değerlendirmesi var.