亚洲天堂av网_久久精品欧美一区二区三区不卡_亚洲欧美一级_欧美成人合集magnet

知名百科  > 所屬分類  >  其他科技   

進程同步

進程同步(英文名稱:Process Synchronization)是指廣義上的并發(fā)進程在執(zhí)行序列中的相互制約,它包括進程的同步和互斥。從狹義上講,它是指為完成某項任務而建立的兩個或兩個以上的流程因需要在某些崗位上協(xié)調(diào)其工作順序而產(chǎn)生的相互等待限制。進程同步可以滿足某些共享資源(如I/O設備)中進程獨占訪問的要求。

進程同步的實現(xiàn)需要遵循相應的機制和方法,其同步機制包括空閑產(chǎn)出、繁忙等待、受限等待和產(chǎn)出等待。進程同步的實現(xiàn)方法可以分為軟件方法和硬件方法,其中硬件方法包括中斷禁用和特殊機器指令,而軟件方法可以依靠鎖機制、信號量機制和管道機制,信號量機制可以細分為塑料信號量、記錄信號量以及信號量和信號量集類型。

典型的同步問題包括生產(chǎn)者-消費者問題、讀者-作者問題和哲學家進餐問題,這些問題可以通過不同的信號量機制來解決,生活中的實際問題可以直接或間接地參考這些經(jīng)典問題來解決。

目錄

基本概念 編輯本段

過程限制關系:在操作系統(tǒng)中,雖然進程可以獨立運行,但它們之間也會相互制約。進程同步是操作系統(tǒng)管理共享資源和避免由并發(fā)進程引起的時間相關錯誤的一種方法。進程之間的關系可以表現(xiàn)為直接的相互制約(同步關系)和短暫的相互制約(互斥關系)。從廣義上講,進程同步被定義為并發(fā)進程在執(zhí)行時序上的相互制約,它包括進程同步和進程互斥。

間接相互制約(相互排斥):間接相互限制是指進程之間競爭獨占資源(互斥資源)而造成的限制,即設置不允許兩個進程同時使用某個資源,此時一個進程要求使用該資源,而該資源正在被另一個進程使用,因此該進程必須等待已占用該資源的進程釋放該資源后才能使用。這種制約關系的基本形式是“過程-資源-過程”。這種約束關系源于多個同類進程需要互斥共享某些系統(tǒng)資源(如打印機),同類進程之間設置互斥以達到互斥訪問資源的目的。

直接相互制約(同步):同步關系是指需要在某些地方協(xié)調(diào)工作并相互等待和交換信息的伙伴流程之間的約束關系。也就是說,如果一個進程沒有收到另一個進程提供的必要信息,它就無法繼續(xù)運行。這種情況表明,兩個進程需要在某個時候相互交換信息和通信。這種制約關系的基本形式是“過程-過程”。這種限制主要來自于進程之間的協(xié)作,在不同的進程之間設置同步以實現(xiàn)各種進程之間的同步。

一般來說,一個進程相對于另一個進程的運行速度是不確定的。也就是說,流程在異步環(huán)境中運行,但協(xié)作流程需要在某些關鍵點上協(xié)調(diào)工作。直接約束關系狹義上也叫進程同步。它是指為完成某項任務而建立的兩個或多個流程之間的相互等待約束關系,因為它們需要在某些崗位上協(xié)調(diào)它們的工作順序。

臨界資源 編輯本段

在運行過程中,一個進程一般會與其他進程共享資源,有些資源同一時間只能由一個進程使用。這種資源被稱為關鍵資源。包括打印機和繪圖儀在內(nèi)的許多物理設備都是關鍵資源。為了保證關鍵資源的正確使用,關鍵資源的訪問過程一般分為四個部分,即進入?yún)^(qū)、關鍵區(qū)、退出區(qū)和剩余區(qū)。無論是硬件關鍵資源還是軟件關鍵資源,多個進程必須互斥地訪問它。訪問進程中關鍵資源的代碼稱為關鍵部分。每個進程的臨界區(qū)代碼可以不同。為了進入關鍵區(qū)域并使用關鍵資源,需要在進入?yún)^(qū)域中檢查是否有可能進入關鍵區(qū)域;如果可以進入臨界區(qū),通常會設置相應的“訪問臨界區(qū)”標志,以防止其他進程同時進入臨界區(qū)。這個代碼叫做進入臨界區(qū)。如果此時某個進程正在訪問關鍵資源,則該進程無法進入關鍵區(qū)域。用于清除關鍵區(qū)域后的“訪問關鍵區(qū)域”標志的部分代碼稱為出口區(qū)域。除了入口區(qū)域、關鍵區(qū)域和出口區(qū)域之外,其余區(qū)域是其他部分的代碼。

同步機制 編輯本段

為了實現(xiàn)進程的同步,必須遵守同步規(guī)則。用于實現(xiàn)進程間同步的工具稱為同步機制。對于關鍵區(qū)域的操作,同步機制應遵循以下四個標準。

Idle yield:當臨界區(qū)中沒有進程時,表明臨界資源處于空閑狀態(tài),應該允許請求進入臨界區(qū)的進程立即進入自己的臨界區(qū),以有效地使用臨界資源。

繁忙等待:當現(xiàn)有進程進入關鍵區(qū)域時,表明正在訪問關鍵資源,因此其他試圖進入關鍵區(qū)域的進程必須等待,以確保對關鍵資源的互斥訪問。

有限等待:對于需要訪問關鍵資源的進程,應保證在有限時間內(nèi)進入相應的關鍵區(qū)域,進入關鍵區(qū)域的進程應在有限時間內(nèi)完成其操作,釋放資源并退出關鍵區(qū)域。

讓路并等待:對于那些當前處于阻塞狀態(tài)且無法進入臨界區(qū)的進程,它們應該放棄占用CPU,以便其他進程可以獲得CPU的使用權。

實現(xiàn)機制 編輯本段

進程同步問題可以通過硬件方法或軟件方法來解決。用于實現(xiàn)系統(tǒng)中進程之間同步和互斥的機制稱為同步機制。同步機制很少單獨采用軟件方法,而使用硬件方法實現(xiàn)互斥的主要思想是使用一條指令來檢查和修改標志,或者通過中斷禁用來確保檢查和修改作為一個整體進行,從而確保檢查和修改操作不會中斷。它具有應用范圍廣、簡單和支持多個關鍵領域的優(yōu)點。常見的同步機制有:鎖機制、信號量機制和管道機制。

硬件模式

中斷禁用:中斷禁用使每個進程在進入臨界區(qū)后立即關閉所有中斷,并在離開臨界區(qū)前重新打開中斷。由于中斷禁用,時鐘中斷也被禁止,因此CPU不會切換到另一個進程。這種賦予用戶進程關閉中斷的權利的方法有很大的缺點。一旦進程關閉中斷,如果它不再打開中斷,系統(tǒng)可能會被終止。

特殊機器指令:許多計算機(尤其是多處理器計算機)都有一個稱為TSL(測試和設置鎖定)的指令:TSLRX,Lock。它將內(nèi)存字鎖的內(nèi)容讀入寄存器RX,然后在地址單元中存儲一個非零值。讀取和存儲數(shù)據(jù)的操作是不可分的,也就是說,在此指令完成之前,其他進程無法訪問該單元。然而,使用TSL指令解決進程互斥進入臨界區(qū)的問題可能會導致“忙等待”——如果一個進程已經(jīng)進入臨界區(qū),后者將繼續(xù)使用TSL指令進行測試并等待前者解鎖。

軟件模式

鎖定機構:鎖機制的基本內(nèi)容是用變量w來表示一個關鍵資源的狀態(tài),w稱為鎖或鎖位置。W=0表示資源可用;W=1表示資源正在被使用。在使用關鍵資源之前,進程需要檢查鎖變量的值。如果值為0,鎖將被設置為1(已鎖定)。如果值為1,它將返回到第一步重新檢查鎖變量的值。當進程使用完資源后,鎖應該設置為0。它的標準原語是lock(w)和unlock(w)。

進程同步進程同步

雖然鎖定機構簡單方便,但其效率很低。當一個進程處于臨界區(qū)時,其他想要進入臨界區(qū)的進程必須不斷地進行測試,從而處于繁忙的等待狀態(tài),導致處理器時間的浪費。

信號量機制:在操作系統(tǒng)中,信號量是一個代表資源的物理量,它是一個與隊列相關的整數(shù)變量。它的值只能通過P和V操作來更改,操作系統(tǒng)使用它的狀態(tài)來管理資源和進程。信號量同步機制是由荷蘭計算機科學家Dijkstra于1965年首次提出的。其基本思想是使用標準原語操作來解決多個協(xié)作進程之間的信號同步。其標準原語包括wait(S)和signa(S)訪問,也可以記錄為“P操作”和“V操作”。常見的信號量機制有:整形信號量由資源號的整數(shù)S表示,并由基元wait和signal操作。信號量的值只能由兩個標準原子操作wait和signal訪問。

和旗語:一個進程在運行過程中經(jīng)常需要申請多個共享資源。如果使用整數(shù)或記錄信號量,進程可能會由于申請資源的順序不正確而死鎖。為了解決這個問題,引入了信號量同步機制。其基本思想是將進程在整個運行過程中所需的所有資源一次性分配給該進程,然后在該進程被使用后一起釋放。只要有一種資源不能分配給該進程,所有其他可能分配給它的資源都不會分配給它。

信號量集類型:在記錄信號量機制中,一次只能獲得或釋放一個單位的關鍵資源。如果一次需要N個關鍵資源,則需要N次等待操作,這是非常低效的。此外,在某些情況下,當資源量低于某個限制時,它將不會被分配。因此,在每次分配之前,必須測試資源的數(shù)量,看它是否大于其下限。基于以上兩點,AND信號量機制可以擴展為廣義的“信號量集”機制。Swait操作可以描述如下,其中s是信號量,d是所需值,t是下限。

在信號量機制中,由于每個想要訪問關鍵資源的進程都必須有自己的同步操作等待和信號,因此大量的同步操作分散在每個進程中。它不僅給系統(tǒng)的管理帶來了麻煩,而且由于同步操作的使用不當而導致系統(tǒng)死鎖。

管程機構:為了解決信號量機制中存在的問題,1974年和1975年,Hansen和Hoare提出了管道機制,該機制集中管理分散在各個進程中的關鍵區(qū)域,并用數(shù)據(jù)結(jié)構抽象地表示系統(tǒng)中的共享資源。Pipeline定義了一個數(shù)據(jù)結(jié)構和一組可以由并發(fā)進程(在數(shù)據(jù)結(jié)構上)執(zhí)行的操作,這些操作可以同步進程并更改管道中的數(shù)據(jù)。

管道的主要特征包括共享:一個進程通過調(diào)用管道的一個進程進入管道,管道中的移除進程可以由所有想要調(diào)用管道進程的進程共享。安全性:管道的本地數(shù)據(jù)變量只能由管道的進程訪問,而不能由任何其他外部進程訪問,并且管道的進程不能訪問任何不屬于其本地的變量。互斥:在任何時候,只有一個進程可以進入管道執(zhí)行,其他任何調(diào)用管道的進程都將被阻塞,只能等待當前正在訪問的進程退出管道。

使用管道實現(xiàn)進程同步時,必須設置同步工具,如兩個同步操作原語wait和signal。當進程通過管道請求獲得關鍵資源但未能滿足這些資源時,管道調(diào)用wait原語使進程等待并將其放入等待隊列。只有在另一個進程訪問并釋放資源后,管道才會再次調(diào)用signal原語來喚醒隊列頭進程。管道流程由四個部分組成,它們是管道流程的名稱;共享數(shù)據(jù)的描述和說明;用于操作共享數(shù)據(jù)結(jié)構的一組過程;共享數(shù)據(jù)的初始化設置。

同步問題 編輯本段

在現(xiàn)實生活中,許多事件需要相互同步。在多程序環(huán)境中,進程同步是一個非常重要和有趣的問題,吸引了許多學者對其進行研究,并由此產(chǎn)生了一系列經(jīng)典的進程同步問題,其中比較經(jīng)典的有生產(chǎn)者-消費者問題、讀者-作者問題、哲學家進餐問題等。參考經(jīng)典問題可以直接或間接解決生活中的實際問題。

問題描述

生產(chǎn)者-消費者問題,也稱為緩沖區(qū)問題,是計算機操作系統(tǒng)中相互協(xié)作的并發(fā)進程之間的抽象。其核心內(nèi)容是一組生產(chǎn)者流程和消費者流程。生產(chǎn)者負責生產(chǎn)產(chǎn)品,消費者負責消費產(chǎn)品。在它們之間設置一個具有n個緩沖區(qū)的緩沖池,供生產(chǎn)者進程和消費者進程共享。生產(chǎn)者的工作是生產(chǎn)產(chǎn)品并將其放入空緩沖區(qū);消費者從包含用于消費的產(chǎn)品的緩沖器中取出產(chǎn)品。兩人互相等待,互相喚醒。

在這個過程中,如果生產(chǎn)者進程沒有空的緩沖區(qū)來放置產(chǎn)品,它將轉(zhuǎn)入等待狀態(tài),直到消費者取走產(chǎn)品并將其喚醒;同樣,消費者流程將轉(zhuǎn)變?yōu)榈却隣顟B(tài),因為在生產(chǎn)者放置產(chǎn)品后將其喚醒之前沒有產(chǎn)品。

問題解決

以記錄信號量為例,它使用互斥體來實現(xiàn)進程對緩沖區(qū)的互斥使用。此外,信號empty和full分別表示空緩沖區(qū)的數(shù)量和滿緩沖區(qū)(即產(chǎn)品)的數(shù)量。

附件列表


0

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域?qū)I(yè)人士。

如果您認為本詞條還有待完善,請 編輯

上一篇 央視頻    下一篇 快播

標簽

同義詞

暫無同義詞
亚洲天堂av网_久久精品欧美一区二区三区不卡_亚洲欧美一级_欧美成人合集magnet
日韩成人av影视| 色激情天天射综合网| 欧美军同video69gay| 亚洲黄色免费网站| 99这里只有久久精品视频| 国产日韩欧美综合一区| 国内成人免费视频| 日韩欧美国产精品| 精品一区二区三区免费毛片爱| 欧美色爱综合网| 日韩国产在线一| 欧美一卡2卡3卡4卡| 裸体健美xxxx欧美裸体表演| 日韩欧美国产三级| 日韩黄色小视频| 精品入口麻豆88视频| 国产乱人伦偷精品视频不卡 | 亚洲精品乱码久久久久久久久| 成人动漫一区二区在线| 亚洲欧美影音先锋| 4438亚洲最大| 成人午夜电影网站| 亚洲成av人在线观看| 日韩视频一区二区在线观看| 国内精品视频666| 亚洲老妇xxxxxx| 欧美tickling网站挠脚心| 成人福利视频网站| 免费在线看成人av| 中文字幕一区二区日韩精品绯色| 欧美老女人在线| 麻豆国产一区二区| 亚洲精品你懂的| 久久久综合精品| 欧美区视频在线观看| 成人黄色在线视频| 亚洲成人av免费| 国产亚洲综合在线| 欧美成人精精品一区二区频| 欧美日韩一区二区在线观看| 久久国产人妖系列| 亚洲高清免费观看 | 91丨九色丨尤物| 日韩精品三区四区| 一区二区三区精品视频在线| 国产精品久久久久三级| 2014亚洲片线观看视频免费| 日韩欧美一卡二卡| 在线播放中文一区| 欧美精品久久99久久在免费线| 在线免费亚洲电影| 欧美视频中文字幕| 欧美日韩精品免费观看视频| www.欧美色图| 99久久777色| 欧美日韩和欧美的一区二区| 99久久免费精品高清特色大片| 一区二区三区中文免费| 91精品国产色综合久久久蜜香臀| 日韩视频免费观看高清完整版在线观看 | 欧美在线观看视频一区二区 | 久久亚洲综合色| 2019国产精品| 久久精品欧美日韩精品| 99天天综合性| 美女高潮久久久| 国产精品77777| 国产在线精品免费av| 国产一区二区免费在线| 成人在线视频一区二区| 99国产精品久| 欧美日本在线播放| 久久精品夜色噜噜亚洲aⅴ| 国产精品欧美经典| 亚洲高清三级视频| 另类小说视频一区二区| 成人精品亚洲人成在线| 欧美日韩国产一区二区三区地区| 欧美少妇bbb| 717成人午夜免费福利电影| 欧美网站一区二区| 久久新电视剧免费观看| 美女网站在线免费欧美精品| 在线欧美日韩国产| 中文字幕一区二区三区在线观看| 日日摸夜夜添夜夜添亚洲女人| 99久久婷婷国产综合精品| 欧美激情一区二区三区在线| 狠狠色狠狠色综合| 欧美精品在线视频| 欧美国产综合一区二区| 美女国产一区二区| 欧美日韩激情在线| 亚洲激情av在线| 成人手机在线视频| 国产欧美一区视频| 激情丁香综合五月| 欧美成人a∨高清免费观看| 亚洲伊人伊色伊影伊综合网| 北条麻妃一区二区三区| 国产亚洲欧美日韩日本| 国产精品一品二品| 欧美精选午夜久久久乱码6080| 久久综合九色综合久久久精品综合 | 欧美日韩一区二区在线观看| 国产精品久久久久一区二区三区| 波多野结衣亚洲| 亚洲精品国产第一综合99久久| 亚洲成人www| 欧美色中文字幕| 日韩视频一区在线观看| 国产精品国产三级国产a| 久久精工是国产品牌吗| 在线影院国内精品| 国产农村妇女精品| 韩国av一区二区三区| 欧美日韩二区三区| 一区二区三区四区视频精品免费| 国产中文字幕精品| 日韩视频不卡中文| 日韩精品电影在线| 欧美日本一区二区三区四区| 亚洲精品va在线观看| www.66久久| 国产精品久久久久久久岛一牛影视| 国产在线不卡视频| 精品美女一区二区| 奇米综合一区二区三区精品视频| 欧美三级在线看| 亚洲成人av电影| 欧美性极品少妇| 亚洲国产毛片aaaaa无费看 | 男人的天堂久久精品| 欧美午夜精品理论片a级按摩| 久久精品av麻豆的观看方式| 欧美日韩另类一区| 亚洲第一电影网| 欧美精品免费视频| 蜜臀久久99精品久久久画质超高清| 欧美日韩亚洲综合在线| 午夜久久电影网| 欧美丰满一区二区免费视频| 日本在线不卡视频一二三区| 欧美精选一区二区| 麻豆国产精品777777在线| 精品国产凹凸成av人导航| 国产裸体歌舞团一区二区| 久久久www免费人成精品| 国产jizzjizz一区二区| 国产精品萝li| 色婷婷av一区二区三区gif| 洋洋成人永久网站入口| 91精品国产综合久久精品 | 乱一区二区av| 久久久久久久久一| 成人激情免费电影网址| 一区二区三区在线播放| 91精品国产综合久久香蕉麻豆| 免费观看一级欧美片| 国产日本欧洲亚洲| 色综合久久中文综合久久牛| 性做久久久久久久久| 精品国产1区二区| av在线这里只有精品| 亚洲v日本v欧美v久久精品| 欧美成人一区二区三区在线观看| 国产精品123| 亚洲一区二区四区蜜桃| 日韩一二三区不卡| 成人h动漫精品一区二| 亚洲一级二级三级在线免费观看| 日韩欧美国产综合一区| av成人老司机| 日韩中文字幕区一区有砖一区| 国产日韩欧美在线一区| 欧美三日本三级三级在线播放| 精品一区二区在线播放| 亚洲美女在线国产| 精品国产电影一区二区| 欧美影视一区在线| 国产一区二区三区四区五区入口 | 免播放器亚洲一区| 国产精品国产三级国产| 欧美日韩三级视频| 国产凹凸在线观看一区二区| 亚洲高清免费视频| 久久精品欧美日韩| 欧美日韩色一区| 成人av在线播放网站| 蜜臀av性久久久久蜜臀av麻豆| 国产精品久久久久久一区二区三区 | 国产欧美日韩另类视频免费观看 | 日韩一区二区影院| 91丨porny丨蝌蚪视频| 色悠久久久久综合欧美99| 久久se这里有精品| 亚洲一区二区三区中文字幕在线| 久久精品免费在线观看| 欧美一二三四在线| 91福利区一区二区三区|