Ana Sayfa · Ürünler · BERK-RTOS

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.

Rust✓ TLA+ zamanlayıcı model denetimiDO-178C DAL-A hedefliSTM32F746G-DISCO kartında koştuTicari lisansv0.1 prototip
55.855
satır kaynak kod, 115 dosya
138–141
çevrim kesme gecikmesi — kartta kıyas programı, 216 MHz (DWT)
6
sektör personası tek çekirdekte
672
unsafe blok — %63 azaltıldı
Multikernel Mimari

"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.

ProfilSektörSertifikasyon HedefiÖzellikler
DefenseSavunma SanayiiCC EAL5+ → EAL7MILS, time-partitioning, MIFC
AvionicsHavacılıkDO-178C DAL-A/BARINC 653, health monitoring
AutomotiveOtomotivISO 26262 ASIL-DAUTOSAR OS, timing protection
MedicalMedikal CihazlarIEC 62304 Class CDeterministik, safe state
AutomationEndüstriyelIEC 62443 SL3PLC cyclic, fieldbus
IoTTüketici IoTETSI / PSATickless, OTA, low-power
Determinizm Mühendisliği

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.

Durum: çalışan prototip (v0.1). QEMU’da ve STM32F746G-DISCO kartında koşan multi-task RTOS; kernel WCET analizi, TLA+ ile zamanlayıcı ve bağlam-değişimi modellerinin model denetimi (model doğrulanır, kod değil) ve EAL5 hedefli iç bellek-izolasyonu doğrulaması yapıldı — bağımsız bir laboratuvar değerlendirmesi değildir. Kapalı/ticari lisans altında geliştirilmektedir.

RTOS yol haritamıza ortak olun

Kernel geliştirme, BSP desteği ve sertifikasyon derinleştirme çalışmalarında erken-erişim işbirliğine açığız.

İletişime geçin Belgeler → berk-systems.com