(當一個system有很多process)

每個process都有critical section (關鍵區,臨界區) segment of code

修改 common variables,  更新表格, writing file

 

當一個process在critical section , 不會有其他的process 在它的 critical section

(目的: 確保"執行"的順序、結果正確)

 

design 協議去解決

每個process要進去critical section之前,

都要在entry section 詢問是否允許,

執行結果會到exit section

剩下的code會在 remainder section 執行

 

 

solve critical section problem

 

目的: 確保"執行"的順序、結果正確

Mutual Exclusion

只要有一個process的executing進入他的critical section, 其他的不能進入

 

目的: 資源的有效應用(不執行則不分配)

Progress

如果沒有process正在執行他的critical section, 而且有些processes希望進入他們的critical section

只有沒有在執行他們的remainder sections 的 processes可以被允許決定是否可以接著進入critical section

選擇,不可以被無限期延遲

 

目的:資源的公平分配(限制提出需求的等待次數)

Bounded Waiting

一個限界或是限制載次數,讓其他的process可以被允許進入critical section

(假設: 每個process的計算速度不為0,沒有顧慮n個process的relative speed)

文章標籤
全站熱搜
創作者介紹
創作者 cc08310112tw 的頭像
cc08310112tw

墨墨喵喵喵

cc08310112tw 發表在 痞客邦 留言(0) 人氣(4,729)