系統死鎖是什麼意思啊,活鎖和死鎖是什麼意思啊

2022-03-24 14:07:06 字數 5199 閱讀 8976

1樓:風雲屠龍

死鎖屬於作業系統的概念了……其實很好理解,

死鎖的四個必要條件

作業系統中有若干程序併發執行,它們不斷申請、使用、釋放系統資源,雖然系統的進

程協調、通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能

繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解

除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中兩個或者多個程序無限期

地等待永遠不會發生的條件,系統處於停滯狀態,這就是死鎖。

產生死鎖的原因主要是:

(1) 因為系統資源不足。

(2) 程序執行推進的順序不合適。

(3) 資源分配不當等。

如果系統資源充足,程序的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則

就會因爭奪有限的資源而陷入死鎖。其次,程序執行推進順序與速度不同,也可能產生死鎖。

產生死鎖的四個必要條件:

(1) 互斥條件:乙個資源每次只能被乙個程序使用。

(2) 請求與保持條件:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。

(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。

(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。

這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之

一不滿足,就不會發生死鎖。

死鎖的解除與預防:

理解了死鎖的原因,尤其是產生死鎖的四個必要條件,就可以最大可能地避免、預防和

解除死鎖。所以,在系統設計、程序排程等方面注意如何不讓這四個必要條件成立,

如何確定資源的合理分配演算法,避免程序永久佔據系統資源。此外,也要防止程序在處於等待狀態

的情況下佔用資源。因此,對資源的分配要給予合理的規劃。

2樓:匿名使用者

支援樓上的說法 長見識

計算機作業系統出現死鎖的原因是什麼?

3樓:雪v歌

死鎖的原因主要是:(1) 因為系統資源不足。(2) 程序執行推進的順序不合適。

(3) 資源分配不當等。如果系統資源充足,程序的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。其次,程序執行推進順序與速度不同,也可能產生死鎖。

產生死鎖的四個必要條件:(1) 互斥條件:乙個資源每次只能被乙個程序使用。

(2) 請求與保持條件:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。(3) 不剝奪條件:

程序已獲得的資源,在末使用完之前,不能強行剝奪。(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。

這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立

作業系統中有若干程序併發執行,它們不斷申請、使用、釋放系統資源,雖然系統的進

程協調、通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能

繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解

除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中兩個或者多個程序無限期

地等待永遠不會發生的條件,系統處於停滯狀態,這就是死鎖。

死鎖的解除與預防:

理解了死鎖的原因,尤其是產生死鎖的四個必要條件,就可以最大可能地避免、預防和

解除死鎖。所以,在系統設計、程序排程等方面注意如何不讓這四個必要條件成立,如何確

定資源的合理分配演算法,避免程序永久佔據系統資源。此外,也要防止程序在處於等待狀態

的情況下佔用資源。因此,對資源的分配要給予合理的規劃。

4樓:範恕節風

計算機作業系統所謂死鎖是指多個程序在執行過程中因爭奪資源而造成的一種僵局。

產生死鎖的原因:

1.競爭資源:當系統中多個程序使用共享資源,並且資源不足以滿足需要,會引起程序對資源的競爭而產生死鎖。

2.程序間推進的順序非法:請求和釋放資源的順序不當,也同樣會導致產生程序死鎖。

產生死鎖的必要條件:

1.互斥條件:程序對所分配到的資源進行排它性使用,在一段時間內某資源只由乙個程序佔用。

2.請求和保持條件:指乙個程序已經保持了至少乙個資源,但又提出新的資源請求,而此資源被其他佔用,此時請求程序阻塞,但又對自己已經佔用的資源保持不放。

3.不剝奪條件:程序已經獲得資源,在未使用完之前,不能被剝奪,只能在使用完時,由程序自己釋放。

4.環路等待條件:發生死鎖時,必然存在乙個程序-資源的環形鏈。

處理死鎖的方法:

一、預防死鎖

1.事先預防,破壞產生死鎖的四個必要條件之一。

2.摒棄「請求和保持」條件:程序在申請資源時,是一次性的。

3.如何摒棄「請求「:當程序來時,一次性分配所有的資源(如果系統滿足),這樣就不會再有」請求「了。

4.如何摒棄「保持「:只要有乙個資源得不到分配,也不給這個程序分配其他的資源。

5.摒棄「不剝奪」條件:在這種方法中,程序是逐個提出對資源的要求的。

6.如果乙個程序,獲得了部分資源,但得不到其它資源,這時,它釋放自己所佔用的資源。

7.摒棄「環路等待」條件:把資源排序,當程序申請資源時,按序申請。

二、避免死鎖

1.事先預防,並不是破壞產生死鎖的四個必要條件,而是用某種方法去防止系統進入不安全狀態,目前在較完善的系統中,常用此方法。

2.安全狀態:是指系統能按照某種程序順序(p1,p2,…pn),來為每乙個程序pi分配其所需要的資源,直到滿足每個程序對資源的最大需求,使每個程序都可順利地完成。

3.如果系統無法找到這樣乙個安全序列,則稱系統處於不安全狀態。

三、檢測死鎖

1.並不事先採取任何限制性的措施,也不必檢查系統是否已經進入不安全區,此方法允許發生死鎖。

2.關鍵是,發生死鎖了,系統可以通過檢測機構發現死鎖,並精確確定與死鎖有關的程序和資源,然後,採取適當措施,從系統中將已經發生的死鎖清除。

四、解除死鎖

1.這是與檢測死鎖配套使用。

2.當檢測到系統已經發生了死鎖,要將程序從死鎖狀態中解脫出來。

3.常用的方法是撤銷或掛起一些程序,以便**一些資源,再將這些資源分配給已經處於阻塞狀態的程序,使之轉為就緒狀態,以繼續執行。

活鎖和死鎖是什麼意思啊

5樓:景田不是百歲山

1、活鎖指的是任務或者執行者沒有被阻塞,由於某些條件沒有滿足,導致一直重複嘗試—失敗—嘗試—失敗的過程。處於活鎖的實體是在不斷的改變狀態,活鎖有可能自行解開。

2、死鎖是指兩個或兩個以上的執行緒在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序。

6樓:匿名使用者

活鎖是可以很容易開啟的。死鎖是打不開的。

7樓:匿名使用者

活鎖是能用匙鑰打得開的,死鎖是有匙鑰也開不了.

8樓:匿名使用者

1.活鎖:資料資源釋放時間不確定,導致某些事務長時間等待,得不到封鎖的機會

死鎖:多個事務各自佔有部分資源等待另一部分資源,資源需求出現迴路,導致事務停頓得不到執行

解決活鎖:先來先服務

解決死鎖:預防:一次封鎖法、順序封鎖法

診斷並解除:超時法、等待圖法

9樓:匿名使用者

你說的是拉鍊嗎,活鎖自己能開,死鎖要用手拉開

計算機死鎖是什麼意思?

10樓:璩衛束運駿

死鎖就是計算機內訪問同乙個互斥資源,導致兩個或者兩個以上程序都得不到這個資源,都處於等待狀態。比如說,有兩個人一碗面一雙筷子,兩人都想吃麵,但是甲已經拿到了筷子要拿麵,而乙拿到了面要拿筷子,兩個人人都需要對方的東西,但是雙方都不讓出來就導致了死鎖

11樓:裴希傅舒榮

死鎖是指在一組程序中的各個程序均佔有不會釋放的資源,但因互相申請被其它程序所佔用不會釋放的資源而處於的一種永久等待狀態。

12樓:匿名使用者

所謂死鎖: 是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去.此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等竺的程序稱為死鎖程序.

由於資源佔用是互斥的,當某個程序提出申請資源後,使得有關程序在無外力協助下,永遠分配不到必需的資源而無法繼續執行,這就產生了一種特殊現象死鎖。

一種情形,此時執行程式中兩個或多個執行緒發生永久堵塞(等待),每個執行緒都在等待被其他執行緒佔用並堵塞了的資源。例如,如果執行緒a鎖住了記錄1並等待記錄2,而執行緒b鎖住了記錄2並等待記錄1,這樣兩個執行緒就發生了死鎖現象。

計算機系統中,如果系統的資源分配策略不當,更常見的可能是程式設計師寫的程式有錯誤等,則會導致程序因競爭資源不當而產生死鎖的現象。

理解了死鎖的原因,尤其是產生死鎖的四個必要條件,就可以最大可能地避免、預防和解除死鎖。所以,在系統設計、程序排程等方面注意如何不讓這四個必要條件成立,如何確定資源的合理分配演算法,避免程序永久佔據系統資源。此外,也要防止程序在處於等待狀態的情況下佔用資源,在系統執行過程中,對程序發出的每乙個系統能夠滿足的資源申請進行動態檢查,並根據檢查結果決定是否分配資源,若分配後系統可能發生死鎖,則不予分配,否則予以分配 。

因此,對資源的分配要給予合理的規劃。

一、有序資源分配法

這種演算法資源按某種規則系統中的所有資源統一編號(例如印表機為1、磁帶機為2、磁碟為3、等等),申請時必須以上公升的次序。系統要求申請程序:

1、對它所必須使用的而且屬於同一類的所有資源,必須一次申請完;

2、在申請不同類資源時,必須按各類裝置的編號依次申請。例如:程序pa,使用資源的順序是r1,r2; 程序pb,使用資源的順序是r1,r2;若採用動態分配有可能形成環路條件,造成死鎖。

採用有序資源分配法:r1的編號為1,r2的編號為2;

pa:申請次序應是:r1,r2

pb:申請次序應是:r1,r2

這樣就破壞了環路條件,避免了死鎖的發生

二、銀行演算法

避免死鎖演算法中最有代表性的演算法是dijkstra e.w 於2023年提出的銀行家演算法:

該演算法需要檢查申請者對資源的最大需求量,如果系統現存的各類資源可以滿足申請者的請求,就滿足申請者的請求。

這樣申請者就可很快完成其計算,然後釋放它佔用的資源,從而保證了系統中的所有程序都能完成,所以可避免死鎖的發生。

蘋果有鎖和無鎖是什麼意思

有鎖版 1.蘋果手機有鎖的意思是網路鎖,是一種限制使用者選擇運營商的方法。蘋果手機有鎖版就是加了網路鎖,即繫結了運營商。國內多數有鎖手機都是從國外過來的運營商的合約機,所以有著非常強大的網路鎖,不能正常使用國內運營商的手機卡。2.有鎖版的的蘋果手機想用非指定運營商的卡,就必須先越獄,再解鎖,要麼就是...

win7系統檔案夾帶鎖是什麼意思

檔案許可權保護。表示這個資料夾是屬於其他使用者且不允許訪問。如果是單賬戶的一般表示檔案屬於系統使用者system。管理員可以強制訪問加鎖的資料夾。win7中,資料夾有個小鎖什麼意思?上鎖只僅僅是表示你沒有新增所有人的讀寫許可權!現在是沒有小鎖狀態,那麼我把所有人的讀寫許可權取消,看看會怎樣。23 已...

夢見鎖是什麼意思,夢見水是什麼意思?

夢見開鎖,預示著夢者在事業上會取得成功 夢見買鎖,意味著夢者會富有 夢見製造鎖,預示夢者的生意會紅火 夢見上鎖的門,預示夢者前面的障礙會被清除 夢見撬鎖,提醒夢者需要保護好自己的財產不受損失 女人夢見鎖上自己的抽屜,意味著夢者會置辦喜歡的新物件。鎖主富,夢中的鎖,意味著富有。說明現實中你的東西即將被...