精品久久久久久久久久久久久国语,欧美性做久久久久久久,亚洲福利欧美日韩午夜一区,精品久久影院66精品99

新聞資訊

醫(yī)患求助系統(tǒng)廠家-程控交換軟件進(jìn)程的同步

2023-10-20 12:37

            引入進(jìn)程的程控交換軟件還應(yīng)考慮進(jìn)程的同步(Synchroniza-tion)和互斥(MutualExclusion)o各種程控交換系統(tǒng)由于中斷機(jī)理、調(diào)度策略、資源分配方式等方面的差異,對同步和互斥的要求和實(shí)現(xiàn)方式也會(huì)有所不同。例如,S1240系統(tǒng)考慮了對SSM(系統(tǒng)支援機(jī))內(nèi)的共享數(shù)據(jù)的可靠存取,設(shè)置了臨界區(qū)(CriticalRegion),并采用監(jiān)控(Monitor)方式。原語ENTER_MONITOR(進(jìn)入監(jiān)控)可使運(yùn)行進(jìn)入監(jiān)控方式,設(shè)置新的中斷屏蔽字,使所有可屏蔽中斷不能進(jìn)入。原語EXIT一MONITOR(退出監(jiān)控)則用來退出監(jiān)控方式,恢復(fù)原有中斷屏蔽字。

DMS-100系統(tǒng)對進(jìn)程的同步和互斥有較多的設(shè)施,以下作一介紹。

1.進(jìn)程的同步

            在DMS—100系列中,同步是指對進(jìn)程訪問共享數(shù)據(jù)和申請共享的系統(tǒng)資源的同步,設(shè)置了號(hào)志和標(biāo)志兩種同步原語。

(1)號(hào)志

            DMS-100系統(tǒng)采用Dijkstra提出的號(hào)志概念,以保證對共享數(shù)據(jù)的有效存取。

①psema和vsema原語

            每個(gè)臨界區(qū)可具有相應(yīng)的號(hào)志。所謂臨界區(qū),是指在任一時(shí)刻只允許一個(gè)進(jìn)程在執(zhí)行的程序段,也可稱為互斥段。
            每個(gè)進(jìn)程要進(jìn)入某臨界區(qū),必須先申請?zhí)栔?,調(diào)用過程psema:DCLpsemaPROC(sidsemaid usertypesemauser UPDATESsrcsemarc)

sid:與該臨界區(qū)對應(yīng)的號(hào)志識(shí)別碼。

usertype:賦與用戶進(jìn)程的訪問類別(讀或?qū)?。

src;指示號(hào)志是否可用的返回碼。

            當(dāng)進(jìn)程離開臨界區(qū),要調(diào)用過程vsema以釋放號(hào)志:DCLvsemaPROC(sidsemaidUPDATESsrcsemarc)

sid:調(diào)用psema時(shí)所指定的號(hào)志識(shí)別碼。

src:返回碼。

②號(hào)志狀態(tài)

號(hào)志可具有以下3種狀態(tài):

(a)idle(空閑)

            沒有進(jìn)程在臨界區(qū)執(zhí)行。

(b)readersin(讀)

            一個(gè)或多個(gè)進(jìn)程在臨界區(qū)執(zhí)行以讀出數(shù)據(jù)。
(c)writerin(寫)

            一個(gè)且只能有一個(gè)進(jìn)程在臨界區(qū)執(zhí)行以寫入數(shù)據(jù),了解也要讀出數(shù)據(jù)。

③號(hào)志隊(duì)列

            每個(gè)號(hào)志具有相應(yīng)的隊(duì)列,隊(duì)列中是等待進(jìn)入臨界區(qū)的各個(gè)進(jìn)程,采用先到來先服務(wù)(First一ComeFirst一Served一FCFS)的原則。當(dāng)正進(jìn)臨界區(qū)執(zhí)行的進(jìn)程調(diào)用了vsema后,可從隊(duì)列中取一個(gè)進(jìn)程??捎脮r(shí)限來保證較短的等待時(shí)間,時(shí)限是從該進(jìn)程排到隊(duì)列之首時(shí)才起算。如超過時(shí)限,則“殺死”遲遲不離開臨界區(qū)的進(jìn)程,而使排在隊(duì)首的進(jìn)程進(jìn)入臨界區(qū)。

            要對數(shù)據(jù)寫入的進(jìn)程在申請?zhí)栔緯r(shí),如果號(hào)志狀態(tài)為讀或?qū)?,都不能進(jìn)入臨界區(qū)而要排入號(hào)志隊(duì)列。要讀出數(shù)據(jù)的進(jìn)程在申請?zhí)栔緯r(shí),號(hào)志狀態(tài)為空閑或讀狀態(tài),隊(duì)首并無要寫入數(shù)據(jù)的進(jìn)程在等待,則可進(jìn)入臨界區(qū)。

在讀狀態(tài)時(shí)可設(shè)一計(jì)數(shù)器指示在臨界區(qū)內(nèi)的進(jìn)程數(shù),每當(dāng)一個(gè)進(jìn)程調(diào)用vsema,則計(jì)數(shù)器減lo當(dāng)計(jì)數(shù)器減到零,狀態(tài)改為空閑。

            (2)標(biāo)志

            標(biāo)志用來控制有限的系統(tǒng)資源(例如緩沖器)的分配和歸還。每種有限的資源具有對應(yīng)的標(biāo)志,標(biāo)志中的計(jì)數(shù)器的初值為資源的數(shù)量,每當(dāng)分配一個(gè)資源,標(biāo)志計(jì)數(shù)器減,每當(dāng)歸還一個(gè)資源,標(biāo)志計(jì)數(shù)器增1。因此,標(biāo)志計(jì)數(shù)器中反映了此刻可用的資源數(shù)。標(biāo)志計(jì)數(shù)器還可以為負(fù)值,表明資源全忙時(shí)在等待分配資源的進(jìn)程數(shù)。

在要求分配某種資源時(shí),進(jìn)程必須先作申請標(biāo)志的操作,調(diào)用過程claimflag:DCLclaimflagPROC(flidflagid timeouttime UPDATESfireflagrc)

Hid:標(biāo)志識(shí)別碼。

timeout:進(jìn)程在隊(duì)列中等待分配資源的最大時(shí)間°

fire:返回碼。

            claimflag過程將首先檢查標(biāo)志計(jì)數(shù)器。如計(jì)數(shù)器大于零,申請成功,將資源分配給進(jìn)程,進(jìn)程可繼續(xù)運(yùn)行。如計(jì)數(shù)器小于或等于零,表示資源已全忙,進(jìn)程被掛起而置于標(biāo)志隊(duì)列之中。在兩種情況下都要將計(jì)數(shù)器減lo進(jìn)程等待時(shí)長可用時(shí)限監(jiān)視,時(shí)限從進(jìn)程進(jìn)入等待隊(duì)列開始起算。返回碼可反映申請成功與否等不同情況。

當(dāng)進(jìn)程歸還資源時(shí),調(diào)用過程releaseflag,執(zhí)行釋放標(biāo)志的操作:DCLreleaseflagPROC(flidflagid UPDATESfireflagrc)

            releaseflag將計(jì)數(shù)器增1,如果有進(jìn)程在等待隊(duì)列中,則可取出隊(duì)首的進(jìn)程進(jìn)行資源分配。

上一篇:ICU探視系統(tǒng)廠家-采用可變掃描周期時(shí)的BHCA值
返回
下一篇:醫(yī)院探視系統(tǒng)廠家-什么是呼叫對講
固阳县| 荔波县| 娄底市| 响水县| 沧州市| 从化市| 筠连县| 广宗县| 亳州市| 金川县| 兴仁县| 格尔木市| 彰武县| 乌兰浩特市| 汕头市| 固始县| 永年县| 周宁县| 墨玉县| 崇礼县| 海丰县| 安顺市| 古浪县| 泸西县| 成都市| 中山市| 天水市| 浮梁县| 古田县| 南充市| 枣庄市| 西乌| 马公市| 松阳县| 若尔盖县| 潜江市| 六安市| 施甸县| 伊吾县| 庆云县| 东明县|