溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

過程同步的根本概念:臨界資本、同步和互斥

發(fā)布時(shí)間:2020-07-20 07:16:47 來源:網(wǎng)絡(luò) 閱讀:268 作者:yuw2016 欄目:網(wǎng)絡(luò)安全

在多道程序情況下,過程是并發(fā)履行的,分歧過程之間存在著分歧的互相制約關(guān)系。為了調(diào)和過程之間的互相制約關(guān)系,引入了過程同步的概念。

臨界資本

固然多個(gè)過程可以共享零碎中的各類資本,但個(gè)中很多資本一次只能為一個(gè)過程所運(yùn)用,我們把一次僅許可一個(gè)過程運(yùn)用的資本稱為臨界資本。很多物理裝備都屬于臨界資本,如打印機(jī)等。此外,還有很多變量、數(shù)據(jù)等都可以被若干過程共享,也屬于臨界資本。
對(duì)臨界資本的拜訪,必需互斥地停止,在每一個(gè)過程中,拜訪臨界資本的那段代碼稱為臨界區(qū)。為了包管臨界資本的準(zhǔn)確運(yùn)用,可以把臨界資本的拜訪進(jìn)程分紅四個(gè)局部:

  • 進(jìn)入?yún)^(qū)。為了進(jìn)入臨界區(qū)運(yùn)用臨界資本,在進(jìn)入?yún)^(qū)要反省能否進(jìn)入臨界區(qū),假如可以進(jìn)入臨界區(qū),則應(yīng)設(shè)置正在拜訪臨界區(qū)的標(biāo)記,以阻攔其他過程同時(shí)進(jìn)入臨界區(qū)。

  • 臨界區(qū)。過程中拜訪臨界資本的那段代碼,又稱臨界段。

  • 加入?yún)^(qū)。將正在拜訪臨界區(qū)的標(biāo)記肅清。

  • 殘剩區(qū)。代碼中的其他局部。

			do { entry section; //進(jìn)入?yún)^(qū) critical section; //臨界區(qū) exit section; //加入?yún)^(qū) remainder section; //殘剩區(qū) } while (true)

同步

同步亦稱直接制約關(guān)系,它是指為完成某種義務(wù)而樹立的兩個(gè)或多個(gè)過程,這些過程由于需求在某些地位上調(diào)和它們的任務(wù)次第而等候、傳遞信息所發(fā)生的制約關(guān)系。過程間的直接制約關(guān)系就是源于它們之間的互相協(xié)作。
例如,輸出過程A經(jīng)過單緩沖向過程B供給數(shù)據(jù)。當(dāng)該緩沖區(qū)空時(shí),過程B不克不及取得所需數(shù)據(jù)而壅塞,一旦過程A將數(shù)據(jù)送入緩沖區(qū),過程B被叫醒。反之,當(dāng)緩沖區(qū)滿時(shí),過程A被壅塞,僅當(dāng)過程B取走緩沖數(shù)據(jù)時(shí),才叫醒過程A。

互斥

互斥亦稱直接制約關(guān)系。當(dāng)一個(gè)過程進(jìn)入臨界區(qū)運(yùn)用臨界資本時(shí),另一個(gè)過程必需等候, 當(dāng)占用臨界資本的過程加入臨界區(qū)后,另一過程才許可去拜訪此臨界資本。
例如,在僅有一臺(tái)打印機(jī)的零碎中,有兩個(gè)過程A和過程B,假如過程A需求打印時(shí), 零碎已將打印機(jī)分派給過程B,則過程A必需壅塞。一旦過程B將打印機(jī)釋放,零碎便將過程A叫醒,并將其由壅塞形態(tài)變?yōu)橥.?dāng)形態(tài)。
為制止兩個(gè)過程同時(shí)進(jìn)入臨界區(qū),同步機(jī)制應(yīng)遵照以下原則:

  • 閑暇讓進(jìn)。臨界區(qū)閑暇時(shí),可以許可一個(gè)懇求進(jìn)入臨界區(qū)的過程立刻進(jìn)入臨界區(qū)。

  • 忙則等候。當(dāng)已有過程進(jìn)入臨界區(qū)時(shí),其他試圖進(jìn)入臨界區(qū)的過程必需等候。

  • 無限等候。對(duì)懇求拜訪的過程,應(yīng)包管能在無限工夫內(nèi)進(jìn)入臨界區(qū)。

  • 讓權(quán)等候。當(dāng)過程不克不及進(jìn)入臨界區(qū)時(shí),應(yīng)立刻釋放處置器,避免過程忙等候。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI