CodeBlanks Logo Icon CodeBlanks

Real-time

Real-time C++ ve zamanlama kısıtlarını öğrenirsin.

Real-time

Bir real-time system (gerçek zamanlı sistem), işlemlerin belirli bir teslim süresi (deadline) içinde bitmesini gerektiren sistemdir. Hız değil, belirlilik (determinism) esastır: her görevin ne kadar süreceği önceden bilinmelidir.

İki tür real-time vardır: hard real-time (teslim süresi kaçırılırsa sistem başarısız — örneğin hava yastığı kontrolü) ve soft real-time (teslim süresi kaçırılırsa kalıte düşer ama sistem çalışır — örneğin video oynatma). Gömülü sistemler genellikle real-time kısıtları taşır.

Determinizm

Real-time sistemlerde determinizm, bir görevin süresinin önceden bilinebilmesidir. Dinamik bellek ayırma, önbellek miss, çöp toplama gibi belirsiz süreli işlemlerden kaçınılır. Görev süresi en kötü durum için hesaplanır.

Örnek: bir gömülü döngü while (true) { runTask(); } şeklindedir. Her runTask çağrısının süresi önceden bilinmelidir; aksi halde teslim süresi kaçırılabilir. jitter (zaman değişkenliği) küçük tutulur; bu, görev süresinin her seferinde aynı olması anlamına gelir.

Uygulama Real-time döngü yaz

void runTask() tanımla (boş gövde yeterli). main içinde int count = 0; tanımla, for (int i = 0; i < 3; ++i) { runTask(); count++; } yaz ve std::cout << count; yaz.

Başlangıç kodu

main.cpp
#include <iostream>

// runTask fonksiyonunu buraya tanımla

int main() {
    // runTask'i üç kez çağıran bir döngü yaz ve count'u yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

void runTask() {
}

int main() {
    int count = 0;
    for (int i = 0; i < 3; ++i) {
        runTask();
        count++;
    }
    std::cout << count;
    return 0;
}

Beklenen çıktı

3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Döngü açıklamasını tamamla

Soru
for (;;) { /* ____ döngüsü */ runTask(); }
Cevap
for (;;) { /* real-time döngüsü */ runTask(); }

Açıklama: Sonsuz döngü real-time sistemin iskeletidir.

2 Terimi rolüne eşle

Kavram Anlamı
hard real-time Teslim süresi kritik
soft real-time Teslim süresi esnek
determinism Belirli zaman üst sınırı
jitter Zaman değişkenliği

3 Hard real-time ne demektir?

main.cpp
// hava yastığı kontrolü
  • Teslim süresi esnektir
  • Her zaman en hızlı
  • Teslim süresi kritiktir, kaçarsa sistem başarısız Doğru cevap
  • İşletim sistemi gerektirir

Açıklama: Hard real-time'ta teslim süresi kaçırılırsa sistem başarısız sayılır.

Uzman bölümündeki tüm dersler