僵局(deadlock)和作業系統作業系統中的饑餓(starvation in operating system os)的區別

作業系統是計算機上執行的最基本的軟體。它負責管理計算機的記憶體和程序,以及遮蔽使用它的應用程式的硬體細節。計算機的作業系統還確保資源公平地分配給使用者和程式,而不是在程序之間平均分配。公平排程系統允許一個程序使用CPU,而另一個程序在佇列中等待。因此,每個執行緒都可以獲得對有限資源的足夠訪問,從而避免了兩種最常見的情況,否則會延遲程序:死鎖和饑餓。兩者都是相關概念,流程無法訪問資源。本文重點介紹了在不同...

作業系統是計算機上執行的最基本的軟體。它負責管理計算機的記憶體和程序,以及遮蔽使用它的應用程式的硬體細節。計算機的作業系統還確保資源公平地分配給使用者和程式,而不是在程序之間平均分配。公平排程系統允許一個程序使用CPU,而另一個程序在佇列中等待。因此,每個執行緒都可以獲得對有限資源的足夠訪問,從而避免了兩種最常見的情況,否則會延遲程序:死鎖和饑餓。兩者都是相關概念,流程無法訪問資源。本文重點介紹了在不同方面比較兩者的一些要點。

僵局(deadlock)和作業系統作業系統中的饑餓(starvation in operating system os)的區別

什麼是僵局(deadlock)?

死鎖是一種情況,在這種情況下,一組執行緒被阻塞,因為每個擁有資源的程序都試圖訪問另一個程序擁有的其他一些資源,而這些資源最終阻止了公平的系統排程。當以下四個條件成立時,就會出現死鎖情況:互斥意味著一次只能有一個程序訪問一個資源;無搶佔條件意味著資源只能由持有該資源的程序自動釋放;Hold&wait是指一個擁有資源的程序可以請求其他程序擁有的額外資源;迴圈等待是指兩個或多個程序卡在一個迴圈鏈中,等待每個程序釋放各自的資源。

 

僵局(deadlock)和作業系統作業系統中的饑餓(starvation in operating system os)的區別

什麼是饑餓(starvation)?

饑餓是程序無限期地進入等待期時出現的一種情況,因為由於訪問同一資源的高優先順序程序的恆定流,低優先順序程序永遠沒有機會訪問該資源。這是一個資源管理問題,因為程序被拒絕訪問它所需的資源,從而將程序推入一個不確定的等待期。之所以會發生這種情況,是因為它所需的資源從未分配給程序,從而導致程序缺乏資源,因此得名。避免饑餓的最佳方法是使用老化技術,它逐漸增加等待時間較長的程序的優先順序,以確保公平的排程系統。

 

作業系統中死鎖和饑餓的區別

  1. 僵局和饑餓的定義

死鎖和饑餓都是相關的概念,它們阻止了公平的系統排程,程序被阻止訪問資源。顧名思義,死鎖是指一組執行緒或程序被阻塞的情況,因為每個程序都在等待獲取另一個程序佔用的資源,從而導致程式停止執行的死鎖情況。另一方面,饑餓是由死鎖觸發的,死鎖導致程序凍結,因為低優先順序程序被拒絕訪問分配給高優先順序程序的資源。

  1. 條件

死鎖是指執行緒或程序進入等待期時發生的一種特定情況,因為它請求的系統資源被另一個程序佔用,而另一個程序又在等待另一個程序釋放其資源,從而產生死鎖。這是由於資源利用率低造成的。饑餓是一種不確定的延遲狀態,低優先順序程序被拒絕訪問它所需的資源,因為資源正被分配給另一個高優先順序程序。它是一個資源管理問題,迫使系統只將資源分配給高優先順序程序。

  1. 死鎖與饑餓的表徵

死鎖是在以下四種情況同時發生時所導致的饑餓的最終形式:互斥、不搶佔、保持和等待和迴圈等待。死鎖條件只發生在所有四個條件都保持為真的系統中。饑餓是基於不同的條件發生的,例如當沒有足夠的資源可以迴圈,程序的優先順序開始降低,或者當流程開始將資源不受控制地傳遞給其他程序時。如果低優先順序程序請求為最高優先順序程序保留資源,則該程序將永遠餓死。當資源被任意分配,導致程序等待較長時間時,也會出現饑餓。

  1. 預防

饑餓可以透過使用適當的具有優先順序佇列的排程演算法來防止,該演算法實際上也使用了老化技術—一種將老化因子新增到每個請求的優先順序的排程技術,這意味著它增加了等待了很長時間的低優先順序程序的優先順序。同時,為專案提供更多的資源也應該避免資源的持續擁擠。為了防止系統陷入死鎖,必須拒絕程序訪問一個或多個資源,同時等待其他資源,並且一次只能允許一個程序訪問一個資源。

死鎖與饑餓:比較圖

僵局(deadlock)和作業系統作業系統中的饑餓(starvation in operating system os)的區別

 

總結 - 僵局(of deadlock) vs. 饑餓(starvation)

死鎖和饑餓都是多處理作業系統或分散式系統中的相關概念,它們會導致一個或多個執行緒或程序陷入等待所需資源的狀態。死鎖是一種情況,當一個或多個程序請求訪問同一資源時導致程序凍結,而饑餓是由死鎖引起的,死鎖將程序推到無限延遲狀態,因為程序被拒絕訪問高優先順序程序所擁有的資源,並且需要永遠等待。

  • 發表於 2021-06-25 16:03
  • 閱讀 ( 36 )
  • 分類:科技

你可能感興趣的文章

先發制人(preemptive)和作業系統中的非強制排程(nonpreemptive scheduling in os)的區別

...程都是在計算機上排程程序的機制。 先發制人(preemptive)和作業系統中的非強制排程(nonpreemptive sche****ng in os)的區別 作業系統中的搶佔與非搶佔排程 搶佔式排程是一種程序排程機制,透過該機制,一個程序可以在其...

  • 發佈於 2020-10-15 01:16
  • 閲讀 ( 51 )

分時(time sharing)和實時作業系統(real time operating system)的區別

關鍵區別——分時與實時作業系統 分時作業系統和實時作業系統的關鍵區別在於,分時作業系統是一種允許來自不同地點的多個使用者同時使用該系統的系統,而實時作業系統是在指定時間限制內執行某項任務的系統。 作業...

  • 發佈於 2020-10-18 21:03
  • 閲讀 ( 72 )

死鎖(deadlock)和飢餓(starvation)的區別

...主要發生在許多執行緒競爭有限的資源時。 什麼是死鎖(deadlock)? 死鎖是兩個執行緒或程序等待對方完成任務時發生的一種情況。他們只會結束通話電話,永遠不會停止或完成任務。在電腦科學中,死鎖隨處可見。在事務資料庫...

  • 發佈於 2020-10-23 22:21
  • 閲讀 ( 79 )

黑莓os 5(blackberry os 5)和作業系統6(os 6)的區別

Blackberry OS 5 vs OS 6 | Blackberry OS 6 vs 6.1更新 BlackBerry OS 5 and OS 6 are the two operating system that are mostly running in Blackberry phones. Blackberry OS 6 is the latest version. BlackBerry announces its new operating system OS 6 as; simple setup, intuitive & fluid design, sl...

  • 發佈於 2020-10-23 23:12
  • 閲讀 ( 47 )

powershell在windows以外的其他作業系統上工作嗎?

...者FredSavage187想知道PowerShell是否適用於除Windows以外的其他作業系統: My computer science professor recently gave us a quiz and one of the questi*** was, “True or False: PowerShell works on Windows, Mac, and Linux”. The correct answer was “false” and he maintains that Po...

  • 發佈於 2021-04-07 22:15
  • 閲讀 ( 28 )

為什麼作業系統有關閉選項?

我們大多數人都使用作業系統內建的“關機功能”來關閉電腦,但如果你考慮改用電腦的電源開關呢?你使用哪種方法真的很重要嗎?或者如果你使用電源開關會導致問題嗎?今天的超級使用者問答帖子對一位好奇的讀者的問...

  • 發佈於 2021-04-09 21:15
  • 閲讀 ( 47 )

在作業系統之前使用了哪些“概念”?

...計算機與我們在一起已經有相當一段時間了,但是在現代作業系統出現之前,是什麼使早期的計算機系統工作的呢?今天的超級使用者問答帖子帶著一位好奇的讀者回到了過去。 今天的問答環節是由SuperUser提供的,SuperUser是Stack...

  • 發佈於 2021-04-11 06:50
  • 閲讀 ( 40 )

每個作業系統都需要ram嗎?

如果你的電腦記憶體可能壞了,有沒有作業系統可以在電腦上執行,至少可以幫助你測試和診斷硬體?今天的超級使用者問答帖子就這個話題展開了熱烈的討論,以滿足好奇讀者的提問。 今天的問答環節是由SuperUser提供的,Supe...

  • 發佈於 2021-04-11 07:00
  • 閲讀 ( 43 )

您可以使用虛擬作業系統訪問被阻止在主機作業系統的hosts檔案中的網站嗎?

...的任何保護。今天的超級使用者問答文章討論了使用虛擬作業系統訪問被阻止在主機作業系統的hosts檔案中的網站的可能性。 今天的問答環節是由SuperUser提供的,SuperUser是Stack Exchange的一個分支,是一個由社群驅動的問答網站分...

  • 發佈於 2021-04-11 07:56
  • 閲讀 ( 61 )

10個可供選擇的pc作業系統

Linux並不是唯一的PC作業系統。一些可供選擇的作業系統是由大公司開發的,而另一些則是由業餘愛好者開發的小專案。 我們不建議您在您的實際PC上安裝這些軟體。如果您想使用它們,您可能需要安裝一個虛擬機器程式,如Virt...

  • 發佈於 2021-04-11 09:07
  • 閲讀 ( 55 )
魏琳琦東
魏琳琦東

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦