Real-Time Scheduling — tasklarning faqat natijasini emas, deadline ichida bajarilishini ham correctness talabi deb biladigan scheduling usullari majmuasi.
Deadline modeli
Hard real-time deadline buzilishini qabul qilmaydi; soft real-time’da kechikish sifatni pasaytiradi, lekin tizim butunlay noto‘g‘ri bo‘lmasligi mumkin. Worst-case execution time, period, deadline va blocking bound tahlilga kiradi.
Klassik algoritmlar
Rate Monotonic Scheduling qisqa periodli periodic taskga yuqori fixed priority beradi. Earliest Deadline First eng yaqin absolute deadline’li jobni tanlaydi. Ideal uniprocessorda EDF yuqori utilizationga erishishi mumkin, ammo overload behavior boshqariladi.
Blocking
Priority inversion mutex sabab yuz beradi. Priority inheritance yoki priority ceiling blockingni chegaralaydi. Interrupt va kernel critical section latency budgetga kiradi; faqat user task runtime’ni o‘lchash yetarli emas.
Admission control
Admission control yangi tasklar to‘plami schedulable ekanini isbotlamasa qabul qilmaydi. Sporadic task minimum inter-arrival time bilan model qilinadi. Shared cache, DMA va multicore interference WCETni murakkablashtiradi.
RTOS shartlari
Real-time OS preemption nuqtalari, high-resolution timer va deterministic allocator beradi. Page fault, dynamic allocation va noma’lum I/O critical pathdan chiqariladi yoki oldindan tayyorlanadi.
Tekshiruv
Test average latencyga emas, maksimal response time va deadline missga qaraydi. Stress, overload va fault injectionda safety fallback hamda monitoring tekshiriladi.
Amaliy boshqaruv
Real-Time Scheduling implementatsiyasida deadline, WCET va blocking bound alohida va versiyalangan holat sifatida yuritiladi. Qaror uchun zarur inputlar yashirin global taxminga aylantirilmaydi: platforma, konfiguratsiya, identity yoki memory-order sharti tegishli obyekt bilan bog‘lanadi. Shu sabab incremental yangilanish, context almashishi yoki parallel hodisada eskirgan ma’lumotdan foydalanish kamayadi. Debug rejim qarorni hosil qilgan edge, state transition va parametrlarni ko‘rsatadi; production log esa maxfiy qiymatlarni xom shaklda yozmaydi.
Muhim xato sinfi — deadline miss yoki noto‘g‘ri admission. Bunday vaziyatda tizim optimistik tarzda davom etmaydi: semantikaga qarab konservativ fallback, bounded retry, taskni bloklash yoki aniq error tanlanadi. Timeout correctness isboti emas; u faqat operatsion limitdir. Queue membership, reference count, lock ownership va visibility kabi invariantlar state bilan atomik yangilanadi. Cancellation yoki failure o‘rtada yuz bersa qisman o‘zgargan holat cleanup protokoli orqali tiklanadi.
Sifat nazorati overload va maksimal response time orqali bajariladi. Test normal yo‘ldan tashqari bo‘sh navbat, bitta element, yuqori contention, timeout bilan bir vaqtdagi wakeup, resurs limiti va platforma variantlarini qamraydi. To‘g‘rilik performance’dan alohida tekshiriladi; keyin throughput, p99 latency, context switch, cache miss yoki artefakt hajmi kabi mavzuga mos ko‘rsatkichlar baseline bilan solishtiriladi. Topilgan minimal interleaving yoki kirish regressiya to‘plamida doimiy saqlanadi.
Schedulability tahlili o‘lchangan o‘rtacha runtime’ga emas, xavfsiz WCET boundga tayanadi. Clock interrupt, cache warmness va shared bus interference ham response-time equationga qo‘shiladi. Deadline monitoring faqat missdan keyin log yozmay, safety tizimida oldindan degradation yoki fail-safe holatni ishga tushiradi.
Timer resolution va clock drift deadline measurementga ta’sir qiladi. Test qurilmasida time source hamda scheduler tick konfiguratsiyasi release platformasi bilan mos qayd etiladi.
Bog‘liq tushunchalar
deadline, WCET, EDF, rate-monotonic scheduling, priority inversion, real-time operating system