---
# System prepended metadata

title: Hard vs. Soft Real-Time Systems
tags: [RTS]

---

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

## Times
![](https://i.imgur.com/LaalKqI.png)
* `Release Time` : 一個 job 準備好可以被開始執行的時間點，也就是說 job 可以被排程在 release time 中的任何時間點執行。通常 release time 不會是一個確切的時間點而是落在一個範圍時間內。
* `Response Time` : 從 job 的 release time 到 job 執行完的時間差
:::info
但 response time 和 execution time 並不相同
response time = execution time + 其他的時間
:::

![](https://i.imgur.com/pqnMwdR.png)


* `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 來評估資料的可用性和時間的關係

![](https://i.imgur.com/xWgiZAg.png)
可以看出
* 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: 電話 -> 希望電話快點有回應 -> 有機率的容忍空間. 多媒體的影格交換率


