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 可能互相卡住或長期無法前進。

Deadlock

D-OS-Ch06ha-Deadlock

Priority Inversion

D-OS-Ch06hb-Priority_Inversion