# Hard vs. Soft Real-Time Systems
###### tags: `RTS`
## Jobs and Processors
* Jobs
* 是被系統排程 (scheduled) 和執行 (executed) 的最小單位
* RTS 中的功能常常是透過一連串 jobs 的排程與執行而成
* Task
* 一連串的 jobs 組合而成
* eg : 讓飛機飛行在空中並維持固定高度
## Times

* `Release Time` : 一個 job 準備好可以被開始執行的時間點,也就是說 job 可以被排程在 release time 中的任何時間點執行。通常 release time 不會是一個確切的時間點而是落在一個範圍時間內。
* `Response Time` : 從 job 的 release time 到 job 執行完的時間差
:::info
但 response time 和 execution time 並不相同
response time = execution time + 其他的時間
:::

* `Deadlines` : job 在該時間點前一定要被被執行完畢,又稱為 **absolute deadline**
* `Completion time` : job 執行完的時間點
* `Relative deadline` : 表示 job 最大可容許的 `response time`
* `Absolute deadline` : 相當於 `release time + relative time`
## Timing constraints
* hard timing constraint
當系統沒有達成這個時間限制或 job 沒在 deadline 前被完成時,會有致命的錯誤產生(fatal fault)
* soft timing constraint
當系統沒有達成這個時間限制或 job 沒在 deadline 前被完成時,使會讓結果產生的沒預期的好
:::info
因此會以此立場對目標結果的重要性決定其為 hard or soft
:::
* Usefulness of result
使用 tardiness of job 來評估資料的可用性和時間的關係

可以看出
* A 若未在 deadline 前完成,其有效性為 0 => ==hard timing constraint==
* B 與 C 則是隨時間遞減 =? ==soft timing constraint==
* 不同型態的 timing constraints
* Deterministic constraint
* 具體的給了 deadline 的時間,如: 10(ms) 內要完成
* HRTS 通常用這個
* Probabolity constraint
* 將 timing constraint 用機率分佈來表示,如: response time 超過 10 (ms) 的機率要小於 0.2
* Usefulness function
* 如: 每個 control law 的 usefulness 都必須高於 0.8
## Hard Real-Time Systems
在系統中的 timing constraint 都為 hard timing constraint 時,稱其為 hard real-time system。
許多嵌入式系統都是 HRTS。在嵌入式系統中,job 的 deadline 指的是 senor. actuator. control by it 的時間
* 汽車煞車系統
然而有些非嵌入式系統也是 HRTS
* 股市交易系統
不過提早完成這些 HRTS 的 deadline 並沒有帶來任何好處,他的 response time 並不能代表什麼指標,因此僅須在 deadline 前完成即可。事實上比較重要的指標反而是要讓 response time 的 ==jitters== 最小越好,也就是說希望週期性的 job 每次被執行完的時間是固定的
:::info
**jitters** - 是指每次 response time 的跳動也就是變動的幅度
:::
## Soft Real-Time Systems
在系統中的 timing constraint 都為 soft timing constraint 時,稱其為 soft real-time system。
* eg: 線上交易系統. 電話交換機系統. 遊戲
當系統對時間的驗證度越不嚴謹,就代表著有越寬鬆的 timing constraint,這也讓系統開發者有較大的空間去考量其他非時間上的效能,因此滿足 deadline 就不會是主要的考量了
* eg: 電話 -> 希望電話快點有回應 -> 有機率的容忍空間. 多媒體的影格交換率