多重處理系統中,處理死鎖的辦法

2021-07-06 11:03:23 字數 994 閱讀 5780

一、問題求解:

在多重處理系統中,處理死鎖的辦法有兩種:一是防止其發生;二是發生後進行處理。下面的辦法中屬於防止其發生的是哪乙個?

a 破壞互斥條件

b 破壞不可剝奪條件

c 破壞迴圈等待條件

d 殺死某個啟用死鎖的程序

二、問題求解:

解析:所謂死鎖,是指多個程序迴圈等待它方占有的資源而無限期地僵持下去的局面。很顯然,如果沒有外力的作用,那麼死鎖涉及到的各個程序都將永遠處於封鎖狀態。

產生死鎖的4個必要條件是:

互斥條件:即某個資源在一段時間內只能由乙個程序占有,不能同時被兩個或兩個以上的程序占有。如印表機。

不可搶占條件:程序所獲得的資源在未使用完畢之前,資源申請者不能強行地從資源佔有者手中奪取資源,而只能由該資源的佔有者程序自行釋放。

占有且申請條件:程序至少已經占有乙個資源,但又申請新的資源;由於該資源已被另外程序占有,此時該程序阻塞;但是,它在等待新資源之時,仍繼續占用已占有的資源。

迴圈等待條件:存在乙個程序等待序列,其中p1等待p2所占有的某一資源,p2等待p3所占有的某一源,……,而pn等待p1所占有的的某一資源,形成乙個程序迴圈等待環。

根據產生死鎖的4個必要條件,只要使其中之一不能成立,死鎖就不會出現。

為此,可採用下列3種預防措施:

採用資源靜態分配策略,破壞「部分分配」條件;

允許程序剝奪使用其他程序占有的資源,從而破壞「不可剝奪」條件;

採用資源有序分配法,破壞「環路」條件。

但注意一點:互斥條件無法被破壞。本題中a是無法做到的,b和c正確,d選項屬於死鎖事後處理操作,與題意不符合。

語言處理系統

人和計算機交流資訊使用的語言稱為計算機語言或稱程式語言。計算機語言通常分為機器語言 組合語言和高階語言三類。如果要在計算機上執行高階語言程式就必須配備程式語言翻譯程式 下簡稱翻譯程式 翻譯程式本身是一組程式,不同的高階語言都有相應的翻譯程式。翻譯的方法有兩種 一種稱為 解釋 早期的basic源程式的...

批處理系統

將一批作業時間裝入磁帶,然後由監督程式道磁帶上調入記憶體,每次只能調入乙個程式並執行的是單道批處理系統 每次可調入多個程式並分時執行的是多道批處理系統。批處理系統的主要缺點 無互動能力 因為作業事先裝入磁帶即外存了 多道批處理系統採用的技術是中斷技術和多道程式技術。單道程式系統 記憶體中只能存放一道...

流處理系統

上面提到了批處理系統其實並不適合流式資料處理,所以我們需要一些工具來處理流式資料,當然資料庫也可以完成這個任務,生產者傳送任務到資料庫中,消費者輪詢查詢,但是當資料多了以後顯然效率上是有問題的,所以這其實是需要某些通知機制或者更為高效的模型,如下 發布訂閱系統 生產者消費者直接通訊 訊息佇列 這裡其...