• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      計算機操作系統(tǒng)中死鎖問題研究

      2016-08-19 19:07:31黃正鵬
      電腦知識與技術(shù) 2016年20期
      關(guān)鍵詞:操作系統(tǒng)計算機問題

      黃正鵬

      摘要:死鎖問題是計算機操作系統(tǒng)中重要的內(nèi)容,本文從死鎖概念、產(chǎn)生的原因以及死鎖的預(yù)防、檢測、處理等幾個方面分別進行討論,較為全面的探討了常見的操作系統(tǒng)中死鎖問題。

      關(guān)鍵詞:計算機;操作系統(tǒng);死鎖;問題

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)20-0034-02

      1 計算機操作系統(tǒng)中死鎖簡介

      計算機操作系統(tǒng)是管理計算機各種軟硬件資源的軟件系統(tǒng),其中死鎖問題是操作系統(tǒng)必須處理的一種資源分配問題。通常而言計算機操作系統(tǒng)死鎖指的是,由于可分配資源的有限性或者彼此進程通信而引起的一種在多個進程之間產(chǎn)生的阻塞現(xiàn)象。計算機操作系統(tǒng)如果不對其進行強制性的資源回收或者資源重新分配,這種阻塞現(xiàn)象將一直存在下去,影響操作系統(tǒng)進行正常的資源管理。由此可見,計算機操作系統(tǒng)中的死鎖問題必須發(fā)生多個進程之間,在單進程系統(tǒng)中必然不會產(chǎn)生死鎖問題。簡言之,死鎖問題,就是一種資源等待與資源釋放之間產(chǎn)生的矛盾,由于存在系統(tǒng)資源的持續(xù)占用必然引起資源空間嚴重浪費,常見的用戶等待以及死機現(xiàn)象都可能是由于死鎖問題導(dǎo)致的,因此處理好死鎖問題無論從計算操作系統(tǒng)資源有序合理分配方面還是良好用戶體驗方面都是必須解決重要問題。下文則具體從死鎖產(chǎn)生原因、產(chǎn)生條件、死鎖避免手段以及死鎖解決措施等方面進行探討。

      2 計算機操作系統(tǒng)死鎖產(chǎn)生原因分析

      計算機操作系統(tǒng)產(chǎn)生死鎖的原因主要體現(xiàn)在兩個方面,首先,是由于計算機系統(tǒng)資源數(shù)量有限性的原因造成的,如果任何進程所需的資源都能得到滿足,那么肯定不會出現(xiàn)死鎖的現(xiàn)象,當然讓計算機系統(tǒng)資源無限制供給是不現(xiàn)實的;其次,產(chǎn)生死鎖的原因則是由于系統(tǒng)資源在分配策略上出現(xiàn)問題,而引發(fā)的死鎖問題,由于分配環(huán)節(jié)以及進程推進過程中產(chǎn)生了進程間的循環(huán)等待,不同進程之間都占據(jù)了其他進程所需要的系統(tǒng)資源,而所占用的資源又不進行釋放,必然引起死鎖現(xiàn)象的出現(xiàn)。

      通過分析計算機死鎖產(chǎn)生原因可以看出發(fā)生死鎖必然產(chǎn)生四個方面的必要條件,概括如下:第一是資源的互斥性(Mutual exclusion),即資源在任意時刻只能由一個進程所占用,而不能被多個進程所共享;第二是請求與保持條件(Hold and wait),進程因請求資源而被陷入阻塞狀況時,可以不釋放已獲得的資源;第三是不剝奪條件(No pre-emption),進程已經(jīng)獲得的資源在使用完成之前不可以被剝奪;第四是循環(huán)等待條件(Circular wait),若干個進程之間形成了一個資源等待環(huán)。上述四個條件是操作系統(tǒng)產(chǎn)生死鎖的必要條件,只要其中一個條件不被滿足,就不會發(fā)生死鎖。

      通過對計算機操作系統(tǒng)死鎖產(chǎn)生原因進行分析,那么在操作系統(tǒng)設(shè)計、進程調(diào)度、資源分配時,如何有效的破壞其產(chǎn)生條件或者在資源分配時進行有效的規(guī)避,就能盡可能地減少死鎖現(xiàn)象的發(fā)生;除此之外,通過一定的死鎖檢測手段,在操作系統(tǒng)進行實時分析資源分配時可以進行動態(tài)的判斷,對于有可能發(fā)生死鎖的資源分配不予以分配。

      3 計算機操作系統(tǒng)中死鎖預(yù)防手段

      1) 計算機操作系統(tǒng)中死鎖預(yù)防處理分析

      正如上文所述,死鎖產(chǎn)生有四個必要條件,除去第一個互斥性條件,只要破壞任意其他三個產(chǎn)生條件即可避免死鎖現(xiàn)象的出現(xiàn)。因此,常見的預(yù)防手段也是按照這樣的思路進行預(yù)防處理的,具體而言:首先,即破壞其請求和保持條件,可以一次性的將進程所需要資源進行分配,來避免死鎖情況的出現(xiàn),這種做法最大的缺點在于其系統(tǒng)資源浪費情況比較嚴重;其次,是破壞資源“不剝奪條件”,通過一定的設(shè)計(如優(yōu)先級手段),使得占有資源的進程可以釋放其已經(jīng)占有的資源,先供其他進程使用,在其使用完成以后,原資源占有進程可以再通過向CPU重新申請來獲得資源,這種預(yù)防處理方式在系統(tǒng)設(shè)計實現(xiàn)時復(fù)雜度較高;再次,即通過破壞“環(huán)路等待條件”實現(xiàn)死鎖避免,通過對系統(tǒng)資源進行編號標識,各個進程對資源申請按照一定的次序進行,通過這樣的動態(tài)資源分配來破除環(huán)路的形成,以此達到死鎖情況的避免,相對而言這是一種較為高效的死鎖預(yù)防處理手段。

      2)預(yù)防死鎖代表性的算法——銀行家算法

      Dijkstra E.W(中文名艾茲格·迪杰斯特拉)于1965年提出來的銀行家算法是經(jīng)典的死鎖避免算法。該算法是基于銀行貸款業(yè)務(wù)產(chǎn)生的,具體思路是認為銀行可供貸款的總錢數(shù)是有限的,任何一個客戶申請貸款時需要提供其最大貸款額度,并且應(yīng)保障按時歸還,銀行家在貸出欠款時不能超過自身最大的錢數(shù),并且盡量滿足更多客戶的貸款需求。這里的銀行家與計算機操作系統(tǒng)對于資源的掌握是一致的,而每個進程對于資源的請求情況則與客戶貸款的情況較為類似,當某個進程向操作系統(tǒng)申請資源時,操作系統(tǒng)需要分析該進程最大的資源需求量,當滿足其要求時進行分配,否則將延遲分配;當進程再次向操作系統(tǒng)申請資源分配時,系統(tǒng)會對資源的申請量與該類資源的剩余量的關(guān)系,一旦超出則繼續(xù)延遲分配。很顯然的,銀行家算法能夠?qū)崿F(xiàn)系統(tǒng)的資源分配時出現(xiàn)進程間的死鎖現(xiàn)象。銀行家算法是經(jīng)典的死鎖預(yù)防算法,是計算機操作系統(tǒng)內(nèi)容學(xué)習過程中,必然會遇到的內(nèi)容。

      4 解決計算機操作系統(tǒng)中死鎖問題的措施

      當系統(tǒng)中出現(xiàn)了死鎖,一般通過死鎖檢測以及死鎖排除兩個步驟進行死鎖問題的解決。死鎖檢測思路主要是通過兩個容器完成的,其中一個是用來一個容器是用來保存各個進程正在請求的資源,另一個容器則是保存各個進程中已經(jīng)占有的資源,具體的檢測手段是通過遍歷正在請求資源的進程的請求資源是否已經(jīng)被其他進程所占有,反方向再遍歷一次,即可發(fā)現(xiàn)系統(tǒng)中是否出現(xiàn)了死鎖問題。除了這種直接的進程資源方式的檢測以外,還可以通過側(cè)面的系統(tǒng)效率檢測、進程等待時檢測等手段來實現(xiàn)死鎖問題的發(fā)現(xiàn)。相對而言,計算機操作系統(tǒng)對于進程死鎖檢測的手段實現(xiàn)起來還是相對比較容易的。

      一旦發(fā)現(xiàn)了操作系統(tǒng)中出現(xiàn)了死鎖的現(xiàn)象,那么處理死鎖問題則成為了下一步應(yīng)當解決的問題。處理死鎖問題的方法,主要有四種方式,其一,通過撤銷所有死鎖進程來實現(xiàn);其二通過依次撤銷死鎖進程,每撤銷一個后進行死鎖檢測,直至死鎖不存在為止;其三,通過釋放死鎖程序所占資源,來實現(xiàn)死鎖問題的解決;最后,則是通過強制性滿足被等待進程的一方資源請求來解除死鎖??傊梨i處理方式是圍繞資源滿足或者資源剝奪的方式進行的。

      除了上述,操作系統(tǒng)中資源分配的死鎖問題以外,計算機網(wǎng)絡(luò)中也存在死鎖情況,最為常見的就是“存儲轉(zhuǎn)發(fā)死鎖”,另外數(shù)據(jù)庫系統(tǒng)中也存在死鎖的情況,其解決措施是通過事務(wù)的手段來進行的,在此就不具體討論了。

      5 小結(jié)

      計算機操作系統(tǒng)中死鎖問題究其本質(zhì)是由于資源有限性以及資源分配策略問題引發(fā)的一種存在于多個進程之間無限阻塞的現(xiàn)象。本文以死鎖的概念為切入點,分析了操作系統(tǒng)中死鎖產(chǎn)生的原因以及必要條件,并以此給出了解決死鎖問題的常見思路,即通過“死鎖避免——死鎖檢測——死鎖處理”這種死鎖處理流程來有效解決死鎖問題。

      參考文獻:

      [1] 張偉杰. 計算機操作系統(tǒng)中死鎖問題研究[J].計算機光盤軟件與應(yīng)用,2014(18):81+83.

      [2] 齊鵬. 基于未來鎖集的死鎖規(guī)避技術(shù)研究[D].哈爾濱工業(yè)大學(xué),2015.

      [3] 徐本勝. 智能空間中的沖突問題和死鎖問題研究[D].北京工業(yè)大學(xué),2015.

      [4] 周南鳳. 探究計算機操作系統(tǒng)中死鎖問題[J].信息與電腦(理論版),2015(13):69-70.

      猜你喜歡
      操作系統(tǒng)計算機問題
      計算機操作系統(tǒng)
      基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
      科技傳播(2019年22期)2020-01-14 03:06:34
      信息系統(tǒng)審計中計算機審計的應(yīng)用
      智能手機操作系統(tǒng)的分析與比較
      卷宗(2016年10期)2017-01-21 14:04:15
      國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
      計算機維護中操作系統(tǒng)還原技術(shù)的分析
      對計算機進行操作系統(tǒng)重裝的維護
      演員出“問題”,電影怎么辦(聊天室)
      韓媒稱中俄冷對朝鮮“問題”貨船
      “問題”干部“回爐”再造
      南方周末(2015-05-07)2015-05-07 04:39:36
      涪陵区| 峨山| 崇文区| 桂东县| 汶川县| 安泽县| 齐齐哈尔市| 龙井市| 白朗县| 华池县| 五常市| 观塘区| 芜湖县| 那曲县| 札达县| 宣汉县| 蓬安县| 康平县| 独山县| 抚宁县| 亳州市| 旺苍县| 三门峡市| 垫江县| 广德县| 合肥市| 扶余县| 伊川县| 东港市| 米林县| 南开区| 肇州县| 涪陵区| 米林县| 宝鸡市| 肇州县| 南通市| 阿图什市| 和田县| 宁乡县| 尼木县|