Real-time — tizim natijasining to‘g‘riligi faqat hisoblangan qiymatga emas, u belgilangan vaqt chegarasida chiqarilishiga ham bog‘liq bo‘lgan xususiyat. “Juda tez” va “real-time” bir xil emas: real-time tizim worst-case response deadline’ni tahlil qiladi. Sanoat boshqaruvi, avtomobil tormozi, audio oqimi, birja va interaktiv ilovalar turli darajadagi vaqt talabiga ega.
Hard, firm va soft real-time
Hard real-time’da deadline buzilishi tizim xatosi hisoblanadi va jismoniy zarar yoki xavfsizlik buzilishi keltirishi mumkin. Airbag yoki motor control misol bo‘la oladi. Firm real-time’da kech natija qiymatsiz, lekin bitta miss falokat emas; masalan, kechikkan sensor sample tashlab yuboriladi.
Soft real-time’da deadline buzilishi sifatni pasaytiradi. Video frame kechiksa qotish ko‘rinadi, lekin tizim funksional qoladi. Web chat “real-time” deb atalishi ko‘pincha past latency va tez yangilanishni anglatadi, qat’iy hard deadline kafolatini emas.
Latency va jitter
Latency hodisa bilan javob orasidagi vaqt. Jitter latency’ning vaqt bo‘yicha o‘zgarishi. Audio streamda doimiy 80 ms kechikish boshqarilishi mumkin, 10–150 ms o‘zgarish esa playbackni buzadi. Jitter buffer paketlarni qisqa kutib, tekis playback beradi, lekin umumiy latency’ni oshiradi.
Average latency real-time kafolat uchun yetarli emas. P99/P99.9 tail latency va worst-case execution time muhim. Garbage collection, page fault, CPU frequency scaling, interrupt va lock contention kam uchrasa ham deadline miss yaratishi mumkin.
Scheduling
Real-time operating system priority-based preemptive scheduling, bounded interrupt latency va deterministik synchronization primitive beradi. Rate Monotonic Scheduling davri qisqa taskka yuqori priority, Earliest Deadline First esa yaqin deadline’li taskka ustunlik beradi. Ularning schedulability shartlari task execution va period asosida tahlil qilinadi.
Priority inversionda yuqori priority task past priority task tutgan lockni kutadi, o‘rta priority task esa pastni ishlatmay qo‘yadi. Priority inheritance lock egasining prioritysini vaqtincha ko‘taradi. Critical section qisqa va bounded bo‘lishi kerak.
Tarmoqdagi real-time
WebSocket ikki yo‘nalishli doimiy aloqa, Server-Sent Events serverdan clientga push beradi. Ular past latency transport, lekin internet orqali deadline kafolati bermaydi. Packet loss, routing, congestion va mobil radio o‘zgaruvchan. WebRTC media uchun UDP, congestion control va jitter buffer ishlatadi.
Industrial Ethernet va Time-Sensitive Networking time synchronization, traffic shaping va bounded delivery imkonini beradi. PTP sub-millisecond yoki aniqroq soat sinxronligi uchun ishlatilishi mumkin. Taqsimlangan event timestampi bir xil soat bazasiga ega bo‘lmasa, latency o‘lchovi noto‘g‘ri chiqadi.
Data processing
Stream processing eventlarni uzluksiz qayta ishlaydi, batch esa to‘plab keyin hisoblaydi. Event time hodisa manbada yuz bergan vaqt, processing time tizim qayta ishlagan vaqt. Late event va out-of-order kelish watermark hamda window policy bilan boshqariladi.
Exactly-once marketing atamasi end-to-end side effect uchun transaction yoki idempotency talab qiladi. Real-time tez yetkazish retry, ordering va durability trade-offiga ega. Queue’da backlog o‘ssa tizim “ishlayapti”, ammo natija deadline’dan keyin chiqishi mumkin; consumer lag asosiy metricdir.
Loyihalash va sinov
Deadline, yuk va failure holati aniq specificationda yoziladi. Load test faqat o‘rtacha trafikni emas, burst, dependency sekinlashishi va resource saturationni qamrab oladi. Clock monotonic source bilan duration o‘lchanadi; wall clock NTP tuzatishida orqaga siljishi mumkin.
Hard real-time tizim formal timing tahlili, sertifikatsiya va boshqariladigan hardware talab qilishi mumkin. Oddiy cloud VMda noisy neighbor va hypervisor scheduling worst-case kafolatni qiyinlashtiradi. Soft real-time web tizimi esa capacity headroom, backpressure va graceful degradation bilan tail latency’ni boshqaradi.
Bog‘liq tushunchalar
Latency, Jitter, Deadline, Real-time operating system, WebSocket, Stream processing, Scheduling