freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]操作系統(tǒng)-第2章進(jìn)程管理(參考版)

2025-04-17 00:43本頁(yè)面
  

【正文】 105 思考題 ? 管程與進(jìn)程的不同? 106 例題: 在一個(gè)分時(shí)操作系統(tǒng)中,進(jìn)程可能出現(xiàn)如圖所示的變化,請(qǐng)將每一種變化的具體原因?qū)懗鰜?lái)。 104 實(shí)現(xiàn)管程的三個(gè)關(guān)鍵問(wèn)題 ? ( 1)互斥: ? ( 2)同步: ? ( 3)條件變量:當(dāng)調(diào)用管程的進(jìn)程無(wú)法運(yùn)行時(shí),用于阻塞進(jìn)程的一種信號(hào)量。 ( 5)有進(jìn)程等待隊(duì)列和相應(yīng)的等待和喚醒操作 。 ( 3)信息掩蔽。 101 102 3 管程主要有以下特性: ( 1)模塊化。 ? begin ? initialization code。 ? … ? procedure entry Pn(… )。 ? procedure entry P2(… )。 } 98 2 管程的語(yǔ)法如下: ? type monitorname=monitor ? variable declarations; ? procedure entry P1(… )。 ?可調(diào)用的函數(shù)名表 。 97 ? 管程作為一個(gè)模塊,它的定義如下: ?monitor_name = MoNITOR。 ? 一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行在該數(shù)據(jù)結(jié)構(gòu)上的一組操作,這組操作能同步進(jìn)程和改變管程中的數(shù)據(jù)。 94 1 管程的基本概念 ? 為了更易于編寫正確的程序, Hoare和Brinch Hansan提出了一種高級(jí)的同步原語(yǔ),稱為 管程 (monitor)。 ? 共享變量分部到各程序中,使程序易讀性差。其中進(jìn)程 A和 C使用信號(hào)量 S1,進(jìn)程 B和 D使用信號(hào)量 S2。 [8]。 [4]。 read F。 read F。 [7]。 [3]。為了使這四個(gè)進(jìn)程并發(fā)執(zhí)行時(shí)能按系統(tǒng)要求使用文件,現(xiàn)用 PV操作進(jìn)行管理,請(qǐng)回答下面的問(wèn)題: 90 ? 1)應(yīng)定義的信號(hào)量及初值: 。 思考題 1 88 89 思考題 2 ? 四個(gè)進(jìn)程 A、 B、 C、 D都要讀一個(gè)共享文件 F,系統(tǒng)允許多個(gè)進(jìn)程同時(shí)讀文件 F。 P1每次使用 produce()生成一個(gè)正整數(shù),并用 put()送入緩沖區(qū)的某一個(gè)單元中; P2每次用getodd()從該緩沖區(qū)中取走一個(gè)奇數(shù),并用countodd()統(tǒng)計(jì)奇數(shù)的個(gè)數(shù); P3每次用 geteven()從該緩沖區(qū)中取走一個(gè)偶數(shù),并用 counteven()統(tǒng)計(jì)偶數(shù)的個(gè)數(shù)。 ? 吃蘋果 。 ? 從盤中取出蘋果 。 ? 吃桔子 。 ? 從盤中取出桔子 。 ? else V(Sa)。 ? 將水果放入盤中 。 /*兒子進(jìn)程 */ ? daughter()。 ? main() ? { ? cobegin ? father()。 ? int Sa= 0。 82 ? 解:在本題中,應(yīng)設(shè)置三個(gè)信號(hào)量 S、So、 Sa,信號(hào)量 S表示盤子是否為空,其初值為 l;信號(hào)量 So表示盤中是否有桔子,其初值為 0;信號(hào)量 Sa表示盤中是否有蘋果,其初值為 0。爸爸可向盤中放蘋果,也可向盤中放桔子,兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。 end。 P(g)。 V(f)。 s5。 P(e)。 process s4 process s5 process s6 P(c)。 end。 end。 V(c)。 s3。 V(a)。 P(a)。 end。 end。 v(s)。 count :=r1。 r1 :=r1+1。 r1 :=count。 begin begin p(s)。 s :semaphore := 1。 77 1 ) 利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥 設(shè)有 2個(gè)并發(fā)進(jìn)程 P0和 P1互斥共享 counter變量。 76 ? swait(s,d,d):此時(shí)信號(hào)量集中僅有一個(gè)信號(hào)量,允許每次申請(qǐng) d個(gè)資源,當(dāng)少于 d時(shí)不分配。 將對(duì)應(yīng)于 si的所有進(jìn)程喚醒到就緒隊(duì)列中 。 75 ? ssignal(s1,d1。 endfor。 endfor 73 信號(hào)量集 ? 在記錄型信號(hào)量中, P和 V僅執(zhí)行減 1和增 1操作,當(dāng)一次需要 N個(gè)某類資源時(shí)則要進(jìn)行 N次 P操作,其效率低下,此外在某些情況下當(dāng)資源數(shù)低于某一下限值便不分配,在每次分配之前,必須測(cè)試該資源總數(shù)是否大于下限值,下面是對(duì)AND信號(hào)量機(jī)制的改寫: 74 ? si:資源總數(shù), ti: 下限值, di: 所需的資源數(shù) ? swait(s1,t1,d1。 ? ssignal(s1,s2,...sn) for i=1 to n do si:=si+1。 endfor else 將調(diào)用 swait的進(jìn)程置入所有的對(duì)應(yīng)于 si的等待該信號(hào)的進(jìn)程隊(duì)列中。 wait(S1); 70 如按如下調(diào)度方式,則 A、 B進(jìn)程進(jìn)入了死鎖。 wait(S2)。 69 AND型信號(hào)量 ? 上述的進(jìn)程互斥問(wèn)題是針對(duì)進(jìn)程之間要共享一個(gè)臨界資源,在某些場(chǎng)合下,一個(gè)進(jìn)程要先獲得兩類或更多的共享資源方能執(zhí)行任務(wù)。 end。 begin := +1。 end。 begin := 。 ? L: list of process。 ? ? signal(s): s:=s+1 ? if s=0 then wakeup(P1)。 ? wait(s): while s=0 do no_op。 65 信號(hào)量的分類: 整型信號(hào)量 ( integer semaphore):信號(hào) 量是整數(shù)。 為實(shí)現(xiàn)前趨關(guān)系 Pi→ Pj,可為它們?cè)O(shè)置一個(gè)初值為0的信號(hào)量 S。 在學(xué)習(xí)時(shí),應(yīng)清楚在進(jìn)入臨界區(qū)前或退出臨界區(qū)后應(yīng)對(duì) mutex分別執(zhí)行什么操作,為什么對(duì)mutex的 wait和 signal操作必須成對(duì)出現(xiàn),如少了其中的 wait操作或 signal操作,會(huì)對(duì)互斥算法產(chǎn)生什么樣的影響。 63 (3) 用信號(hào)量實(shí)現(xiàn)互斥。 一個(gè)信號(hào)量 S通常對(duì)應(yīng)于一類臨界資源。 在學(xué)習(xí)時(shí),應(yīng)了解對(duì)信號(hào)量的 wait和 signal操作分別是如何實(shí)現(xiàn)的,整型信號(hào)量存在著什么不足之處,記錄型信號(hào)量是如何解決整型信號(hào)量的不足的。 信號(hào)量機(jī)制 61 (1) 信號(hào)量的含義 。 消費(fèi)該產(chǎn)品 。 從 Buff
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1