亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        操作系統(tǒng)中的死鎖問題

        2019-10-23 14:09:14秦桂云
        中國新技術新產(chǎn)品 2019年16期
        關鍵詞:產(chǎn)生原因處理方法

        秦桂云

        摘? 要:操作系統(tǒng)的核心是進程管理,在管理進程的時候,如果設計不當就會出現(xiàn)進程堵塞的現(xiàn)象——死鎖。進程中的死鎖問題是如今計算機發(fā)展過程中仍需解決的重要問題,許多研究者都在致力于解決該問題。但迄今為止仍舊沒有一個通行的解決方法。該文針對死鎖問題進行了探討,論述了死鎖概念、產(chǎn)生原因、必要條件以及處理辦法。

        關鍵詞:死鎖;產(chǎn)生原因;必要條件;處理方法

        中圖分類號:TP311? ? ? ? ? ? ? ? 文獻標志碼:A

        0 引言

        隨著科學技術的不斷發(fā)展,計算機類型復雜多樣,進程、資源種類也各不相同。在操作系統(tǒng)中存在很多在任意時刻都只能被一個進程占用的資源。該類資源屬于獨占性資源,不能同時被2個或2個以上的進程使用,否則會導致進程堵塞,從而使計算機系統(tǒng)崩潰。另外,一個進程常常需要訪問各種排他性的資源(磁帶機、打印機等),因此死鎖在系統(tǒng)中出現(xiàn)的次數(shù)更會大大增加。死鎖現(xiàn)象的出現(xiàn)給人們工作生活帶來了很大困擾。

        1 死鎖的概念

        死鎖,顧名思義是一把沒有鑰匙的鎖,指計算機系統(tǒng)、進程陷入一種死循環(huán)的狀態(tài),常常定義為在系統(tǒng)進程集合中的每個進程都在請求并等待其他進程所占有的資源,導致所有進程都處于等待狀態(tài)不能運行,形成死循環(huán)。在該狀態(tài)中,沒有終止條件能使陷入死循環(huán)的進程得以解脫,從而也不能解開環(huán)路使其他進程得以釋放。由此引發(fā)了所有進程都陷入想得到資源卻又都得不到資源的局面。如果長期無法改變這種等待狀態(tài),那么這種現(xiàn)象被稱為“饑餓”。

        2 產(chǎn)生死鎖的原因

        2.1 資源有限,引發(fā)資源競爭

        系統(tǒng)資源有限,而進程運行又要求占用足夠多的資源。當進程所需資源被另一進程所占,另一進程所需資源被其他進程所占,循環(huán)往復,這就導致了所有進程都處于一個不能繼續(xù)執(zhí)行的狀態(tài),此時系統(tǒng)處于死鎖狀態(tài)。

        2.2 并發(fā)進程的執(zhí)行次序非法

        借助例子闡明,山谷內(nèi)有僅容一人通過的洞口,大家順序通過,則可保持通暢,當發(fā)生混亂,一群人涌向洞口,則此時就會造成洞口堵塞,導致誰也不能通過,進程也是如此,當其執(zhí)行順序不合理時,進程進入死鎖區(qū),在死鎖點產(chǎn)生死鎖。

        3 死鎖的必要條件

        對于可再使用的永久資源來說:1)互斥條件,又稱獨占條件。有些資源只能同時被一個進程所占用,而其他進程不能訪問這些已被占用了的資源。2)請求并保持,也稱部分分配條件。當進程等待其他資源時,仍然繼續(xù)占有已經(jīng)得到的資源。3)非搶占條件。進程獲得的資源未使用完之前,其他進程不能強占,資源只能被占有它的進程自主釋放。4)循環(huán)環(huán)路等待。死鎖發(fā)生時,系統(tǒng)中存在著一條由至少2個進程組成的環(huán)路,在這條環(huán)路中的每一個進程都在等待后一個進程所占資源的釋放,因此導致環(huán)路堵塞,使進程不能再繼續(xù)運行。

        4 處理死鎖的辦法

        死鎖會影響計算機的使用效果,必須對其加以解決,來使系統(tǒng)進程可以正常運行。死鎖有以下幾種處理方法。

        4.1 死鎖的預防

        想要預先防止死鎖發(fā)生,可以從產(chǎn)生死鎖的必要條件入手。

        (1)摒棄互斥條件。首先使用虛擬設備技術,破壞了死鎖形成的必要條件中的互斥條件。該技術可將一臺獨占設備虛擬成多臺邏輯設備,能夠提供給多個進程來使用,提高了系統(tǒng)資源利用效率。虛擬設備技術就用共享設備的空間模擬了獨占設備的功能,將獨占改為共享。

        (2)預分配所有共享資源。進程運行時所需的所有資源一次性申請,并且在所需資源未得到滿足之前,不運行該進程,一直等到所需資源均空閑時,再運行該進程。其存在以下不足:進程可能會等待很長的時間,才能滿足所請求的資源,但實際上,有的進程僅需要部分資源就可以繼續(xù)執(zhí)行下去。其次,被分配的資源可能等候較長時間都不會被進程使用,也不能為其他進程所運行使用,因此就造成了資源浪費。

        (3)預防占有保持。針對資源不能被其他進程搶占的條件,可從以下方面解決。等待時釋放,當已經(jīng)占有部分資源的進程再次申請資源時,如果被拒絕則要求其必須釋放原先占有的資源。強制剝奪,當進程請求當前正被其他進程占有的資源時,系統(tǒng)可以主動搶占另一個進程的資源幫助該進程運行下去,因此進程在運行過程中,所占有的資源是能夠被系統(tǒng)所剝奪的。不過第2種方法只有在2個進程優(yōu)先級不同時才有效。此外,被剝奪了資源的進程在此之前所完成的工作全部失效,同時,進行的這一系列操作也加大了系統(tǒng)開銷,造成了不必要的浪費

        (4)預防形成環(huán)路??梢圆捎冒葱驅Y源進行分配,給資源分級編號。這就要求所有進程在申請資源時,必須按遞增順序來申請,并且相同級別資源要一次申請完,這就阻止了環(huán)路的產(chǎn)生,從而避免了死鎖的產(chǎn)生。這種預防方法是低效的,因為它會使進程的執(zhí)行速度變慢,增加了進程占用資源的時間,并且給系統(tǒng)資源進行分級編號也是很困難的。

        4.2 死鎖避免

        死鎖避免也稱動態(tài)監(jiān)測。該方法與死鎖預防差別較小,死鎖預防約束申請資源請求,從而破壞4個必要條件中的一個,但這同時使資源利用率和進程執(zhí)行率大大降低。而死鎖避免則相反,在分配資源的過程中,系統(tǒng)對于申請資源的命令提前進行檢測,依據(jù)所進行的檢查結果選擇是否分配其資源。它允許互斥、請求和保持,不可剝奪3個條件,但卻保證永遠不會到達死鎖點,能夠執(zhí)行多個并發(fā)程序。

        4.3 死鎖檢測

        預防和避免死鎖要求代價太高,為提高資源的利用率,我們一般不阻止死鎖的產(chǎn)生。而是采用系統(tǒng)定時檢測的方式,當檢測到發(fā)生死鎖時,再采取某種措施來解除死鎖

        (1)檢測死鎖的時機:進程發(fā)生等待時檢測、定時進行檢測、系統(tǒng)資源利用率下降時檢測。

        (2)利用資源分配圖檢測:借助資源分配圖,如果發(fā)現(xiàn)其中不存在環(huán)路,則未出現(xiàn)死鎖,如果存在環(huán)路,則有可能出現(xiàn)死鎖(存在不確定性)

        (3)死鎖定理:當某個狀態(tài)的資源分配圖不能再繼續(xù)化簡時,該狀態(tài)為死鎖。資源分配圖簡化原則是進程申請的資源如果空閑,則可將請求邊改為分配邊,并將資源分配給該進程。當進程僅有分配邊沒有申請邊時,可看作該進程在規(guī)定時間內(nèi)完成并釋放所占用的資源,可將指向該進程結點的邊抹去,從而簡化過程。

        4.4 死鎖復原

        一旦檢測出死鎖就要采取一些措施來使系統(tǒng)重新恢復運行。1)強制搶占,臨時將資源從它當前所有者中人工干預轉移到需要該資源的另一進程,使另一進程可以運行。當另一進程完成時,原進程可再申請可用資源繼續(xù)完成工作,由此解決死鎖問題。該方法的可行度不強,實行起來較為困難,選擇搶奪某個進程的資源時,很大程度上要考慮該進程所擁有的資源是否容易回收。2)死鎖進程回退,使其回到還未產(chǎn)生死鎖的時候。借助檢查點,當系統(tǒng)死鎖時,檢測所需資源,從較早的檢查點開始,使其回到還未產(chǎn)生死鎖的狀態(tài),并使該進程獲得所需資源。其中檢查點包括資源狀態(tài)和存儲映像,即那些資源分配給了那個進程,不過該方法可能使系統(tǒng)再次進入死鎖。3)終止所有進程??梢韵冉K止死鎖環(huán)路中的一個進程,如果死鎖還未解除,繼續(xù)撤銷其他的進程,直至進程全部撤銷或者死鎖恢復至系統(tǒng)正常運行。也可選擇對環(huán)路外的進程進行撤銷,使其釋放所占有的資源。不過該方法要求所撤銷的進程中正好擁有環(huán)路中堵塞進程所需要的資源,且最好撤銷的是不會有其他影響的進程。

        5 結語

        死鎖問題是任何操作系統(tǒng)中都存在的潛在問題,資源死鎖也并不是唯一的死鎖??紤]到系統(tǒng)復雜多樣和效率代價問題,很難只靠死鎖的預防和避免去解決它,大多還是要依靠死鎖的恢復和檢測,不過,這些都要靠增加計算機工作效率來實現(xiàn)。因此,在未來還需要我們繼續(xù)對死鎖問題進行深入研究,爭取早日攻克這一大難題。

        參考文獻

        [1]湯子贏.計算機操作系統(tǒng)[M].西安:西安電子科技大學出版社,1999.

        [2]張堯學,史美林.計算機操作系統(tǒng)教程[M].北京:清華大學出版社,2000.

        [3]張堯學,宋虹,張高.計算機操作系統(tǒng)教程[M].北京:清華大學出版社,2013.

        [4]申雪琴.計算機操作系統(tǒng)中死鎖問題的研究[J].計算機與數(shù)字工程,2008(7):203-206.

        [5]Andrew.S.Tanenbaum著,陳向群,馬洪兵等譯.現(xiàn)代操作系統(tǒng)[M].北京:機械工業(yè)出版社.

        [6]孔憲君,王亞東.操作系統(tǒng)的原理與應用[M].北京:高等教育出版社,2008.

        猜你喜歡
        產(chǎn)生原因處理方法
        系列犯罪的地域化問題研究
        犯罪研究(2016年5期)2016-12-01 18:25:19
        軟土地基基礎上水利施工處理方法
        淺談野外駐訓常見涉法問題的處理
        淺析企業(yè)勞資糾紛產(chǎn)生原因及化解對策
        企業(yè)應收賬款創(chuàng)新管理分析
        陪讀現(xiàn)象產(chǎn)生原因及其利弊分析*
        新一代(2016年15期)2016-11-16 16:49:42
        初中數(shù)學學困生產(chǎn)生的原因及應對策略研究
        南北橋(2016年10期)2016-11-10 16:26:44
        城市垃圾無害化處理研究
        橋梁裂縫產(chǎn)生原因
        煤礦采掘工作面頂板管理問題的處理方法
        免费国产在线视频自拍白浆| 中文字幕精品亚洲人成| 人妻精品丝袜一区二区无码AV | 中文字幕无线精品亚洲乱码一区| 久久婷婷色综合一区二区 | 性高朝久久久久久久| 日韩中文字幕一区二区高清| 亚洲αv在线精品糸列| 美女偷拍一区二区三区| 成人av在线久色播放| 宅男666在线永久免费观看| 天天干成人网| 亚洲午夜无码久久久久软件| 99久久精品一区二区国产| 亚洲乳大丰满中文字幕| 国产亚洲av手机在线观看| 亚洲欧洲美洲无码精品va| 久亚洲精品不子伦一区| 国产综合精品久久99之一| 国产精品一区二区久久乐下载| 亚洲综合久久久| 女同性恋一区二区三区四区| 99久久精品在线视频| 一本色道久久88亚洲精品综合| 欲妇荡岳丰满少妇岳| 无码av专区丝袜专区| 国产影片一区二区三区| 国产欧美日韩中文久久| 人妻少妇av中文字幕乱码| 国产一级淫片免费大片| 国产免费成人自拍视频| 99精品国产丝袜在线拍国语 | 熟女免费观看一区二区| 亚洲 欧美 日韩 国产综合 在线| 国产av无码专区亚洲av手机麻豆| 蜜桃一区二区免费视频观看| 日韩精品一区二区三区在线视频| 国内精品久久久久久久97牛牛| 国产一起色一起爱| 男女干逼视频免费网站| 国产白浆一区二区三区性色|