本篇內(nèi)容介紹了“三種操作系統(tǒng)前驅(qū)圖類(lèi)型詳細(xì)總結(jié)進(jìn)程管理之如何使用PV操作”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站、網(wǎng)站重做改版、常熟網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為常熟等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
本文中的 S 為信號(hào)量。關(guān)于前驅(qū)圖以及信號(hào)量的基礎(chǔ)知識(shí)本篇不作詳細(xì)介紹。
S:=S-1,若 S≥0,則執(zhí)行 P 操作的進(jìn)程繼續(xù)執(zhí)行;若 S<0,則置該進(jìn)程為阻塞狀態(tài)(因?yàn)闊o(wú)可用資源),并將其插入阻塞隊(duì)列。
定義這么長(zhǎng),我們只需要謹(jǐn)記:執(zhí)行 P 操作的進(jìn)程將進(jìn)入等待隊(duì)列。
S:=S+1,若 S>0,則執(zhí)行 V 操作的進(jìn)程繼續(xù)執(zhí)行;若 S≤0,則從阻塞狀態(tài)喚醒一個(gè)進(jìn)程,并將其插入就緒隊(duì)列,然后執(zhí)行 V 操作的進(jìn)程繼續(xù)。
定義這么長(zhǎng),我們只需要謹(jǐn)記:執(zhí)行 V 操作的進(jìn)程將從阻塞隊(duì)列中喚醒一個(gè)進(jìn)程。
串聯(lián)進(jìn)程(單線(xiàn)前驅(qū)圖)是計(jì)算 PV 操作中最為簡(jiǎn)單的。那什么是單線(xiàn)前驅(qū)圖呢?舉例前驅(qū)圖如下:
題干信息:使用 PV 操作控制進(jìn)程 P1、P2、P3 執(zhí)行的過(guò)程,設(shè)置 2 個(gè)信號(hào)量分別為 S1、S2 且初值均為零。分別列出 3 個(gè)進(jìn)程的進(jìn)程執(zhí)行圖來(lái)計(jì)算每個(gè)進(jìn)程的 PV 操作。
我們可以看到 P1、P2、P3 三個(gè)進(jìn)程是串聯(lián)關(guān)系,一一執(zhí)行,只有前面的進(jìn)程執(zhí)行了后面的才可以執(zhí)行,我們將這類(lèi)前驅(qū)圖歸類(lèi)為單線(xiàn)前驅(qū)圖。
那我們計(jì)算該進(jìn)程的 PV 操作呢?我們將節(jié)點(diǎn)分為前驅(qū)節(jié)點(diǎn)(即首節(jié)點(diǎn)),中間節(jié)點(diǎn),尾節(jié)點(diǎn)分別計(jì)算 PV。
對(duì)于前驅(qū)的首結(jié)點(diǎn) P1 進(jìn)程,進(jìn)程 P1 從初始狀態(tài)執(zhí)行操作的結(jié)果就是從阻塞隊(duì)列中喚醒一個(gè)進(jìn)程,即喚醒 P2,故其只有 V 操作,占用一個(gè)信號(hào)量 S1,進(jìn)程 P1 執(zhí)行 V(S1)操作。P1 進(jìn)程執(zhí)行圖如下圖所示:
對(duì)于 P3 進(jìn)程,同理,只有在前驅(qū)節(jié)點(diǎn) P2 執(zhí)行完成將信號(hào)量 S2 傳過(guò)來(lái)之后才可以執(zhí)行,然后進(jìn)程結(jié)束。P3 進(jìn)程執(zhí)行圖如下圖所示:
題干信息:使用 PV 操作控制進(jìn)程 P1、P2、P3、P4 并發(fā)執(zhí)行的過(guò)程,設(shè)置 4 個(gè)信號(hào)量分別為 S1、S2、S3、S4 且初值均為零。分別列出 5 個(gè)進(jìn)程的進(jìn)程執(zhí)行圖來(lái)計(jì)算每個(gè)進(jìn)程的 PV 操作。
對(duì)于前驅(qū)的首結(jié)點(diǎn),以 P1 進(jìn)程為例,進(jìn)程 P1 從初始狀態(tài)執(zhí)行操作的結(jié)果就是從阻塞隊(duì)列中喚醒一個(gè)進(jìn)程,即喚醒 P4,故其只有 V 操作,并占用一個(gè)信號(hào)量 S1,故進(jìn)程 P1 執(zhí)行 V(S1)操作。P1 進(jìn)程執(zhí)行圖如下圖所示:
對(duì)于中間節(jié)點(diǎn)進(jìn)程 P4,只有在前驅(qū)進(jìn)程 P1、P2、P3 都已經(jīng)完成之后才可以執(zhí)行,而進(jìn)程 P1、P2、P3 均有可能在阻塞隊(duì)列中,故進(jìn)程 P4 需要先等待 P1、P2、P3 進(jìn)程的執(zhí)行(即 P 操作)接收信號(hào)量,然后執(zhí)行 P4 自身進(jìn)程喚醒 P5 操作(即 V 操作)占用一條信號(hào)量 S4。P4 進(jìn)程執(zhí)行圖如下圖所示:
并聯(lián)進(jìn)程趨于展開(kāi)是并聯(lián)進(jìn)程中較為難的一種,但是理清了思緒還是得心應(yīng)手的。舉例題如下:
對(duì)于進(jìn)程 P2,需要等到 P1 的信號(hào)量 S1,并喚醒 P3、P4 進(jìn)程分別占用信號(hào)量 S1、S2。P2 進(jìn)程執(zhí)行圖如下圖所示:
對(duì)于進(jìn)程 P4,需要等到進(jìn)程 P2、P3 的信號(hào)量 S3、S4 才可以執(zhí)行,然后激活進(jìn)程 P5,并占用一個(gè)信號(hào)量 S5。P4 進(jìn)程執(zhí)行圖如下圖所示:
“三種操作系統(tǒng)前驅(qū)圖類(lèi)型詳細(xì)總結(jié)進(jìn)程管理之如何使用PV操作”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!