Liveness
Introduction
Liveness 指系統要保證 process 在 execution life cycle 中能持續 make progress。
在 synchronization 中,若 process 想進入 critical section 卻無限等待,就是 liveness failure。
Relation with Critical-Section Requirements
Critical-section problem 的 progress 與 bounded waiting 都是 liveness property。
- Progress 失敗:沒人在 critical section,但系統仍無法選出下一個進入者
- Bounded waiting 失敗:process 已 request,但永遠輪不到它
Common Forms
Synchronization tool 解 race condition 時會建立等待關係;若等待關係設計不好,process 可能互相卡住或長期無法前進。