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

正文內(nèi)容

操作系統(tǒng)原理第二章進(jìn)程管理-資料下載頁(yè)

2025-01-10 07:30本頁(yè)面
  

【正文】 } } CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 91 2 . 8 管程機(jī)制 ?管程的基本概念 ?管程的定義:一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為迸發(fā)進(jìn)程所執(zhí)行 (在該數(shù)據(jù)結(jié)構(gòu)上 )的一組操作 ,這組操作能同步進(jìn)程和改變管程中的數(shù)據(jù)。這些數(shù)據(jù)及操作對(duì)進(jìn)程是透明的,局部于管程的數(shù)據(jù)結(jié)構(gòu)只能被該管程的過(guò)程訪問(wèn)。 ?管程組成: 局部共享變量說(shuō)明, 內(nèi)部對(duì)數(shù)據(jù)結(jié)構(gòu)的操作, 局部數(shù)據(jù)的置初值。 任何進(jìn)程訪問(wèn)共享資源,只能通過(guò)調(diào)用管程中的過(guò)程(管程名 .過(guò)程名) ,而管程每次只允許一個(gè)進(jìn)程進(jìn)入管程,從而實(shí)現(xiàn)進(jìn)程互斥 ?條件變量: CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 92 ?管程的語(yǔ)法說(shuō)明:一個(gè)進(jìn)程訪問(wèn)臨界資源 TYPE SSU=Monitor Var busy:boolean。 nobusy: condition。 define require,return Procedure require Begin if busy then nobusy .wait busy:=true End。 Procedure return Begin busy:=false。 nobusy .signal。 End //initialization code Begin busy:=false。 End CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 93 2 . 8 管程機(jī)制 ? 條件變量: 利用管程實(shí)現(xiàn)同步時(shí),必須設(shè)置同步原語(yǔ)操作( wait和 signal),由管程調(diào)用實(shí)現(xiàn)阻塞和喚醒。為了區(qū)別阻塞的原因,引入條件變量(在管程中說(shuō)明),由條件變量來(lái)調(diào)用 Wait、 Signal原語(yǔ)操作。 ? condition VAR x,y :condition …… 。 在管程中, ,但如果阻塞隊(duì)列沒(méi)有進(jìn)程時(shí), 。如果進(jìn)程 Q處于阻塞隊(duì)列的首部,當(dāng)前進(jìn)程 P執(zhí)行了 , 管程的處理方式 P等待,直至 Q離開(kāi)管程或等待另一條件; Q等待,直至 P離開(kāi)管程或等待另一條件; CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 94 2 . 8 管程機(jī)制 ?用管程解決生產(chǎn)者 消費(fèi)者問(wèn)題 Type PC=monitor Var in,out,count:integer。 Buffer:array[0,…,n 1] of item。 Full, Empty:condition。 Procedure Entry put(item) begin if count=n then 。 Buffer(in):=nextp。 in:=(in+1) mod n。 count:=count+1。 If then end Procedure Entry get(item) begin if count=0 then 。 nextc:=buffer(out)。 out:=(out+1) mod n。 count:=count1。 if then end Begin in:=0。 out:=0。count:=0 。 end CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 95 Producer: Begin repeat produce an item in nextp。 (item)。 until false。 end Consumer: Begin repeat (item)。 consume the item in nextc。 until false。 end 2 . 8 管程機(jī)制 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 96 進(jìn)程通信 進(jìn)程之間的信息交換稱為進(jìn)程通信。 低級(jí)通信:(信息量少)同步與互斥的進(jìn)程間通過(guò)修改信號(hào)量 , 其缺點(diǎn) :效率低, 不透明。 高級(jí)通信: (大量數(shù)據(jù)) 通過(guò)操作系統(tǒng)提供的一組通信命令,高效地傳送大量數(shù)據(jù),通信過(guò)程對(duì)用戶透明。優(yōu)點(diǎn): 數(shù)據(jù)量大, 減少通信程序編制上的復(fù)雜性。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 97 進(jìn)程通信 ? 進(jìn)程通訊類型 ?共享存儲(chǔ)系統(tǒng)、消息傳遞系統(tǒng)、管道通信系統(tǒng) ? 共享存儲(chǔ)系統(tǒng)( SharedMemory System):由通信進(jìn)程共享某些數(shù)據(jù)結(jié)構(gòu)或共享存儲(chǔ)區(qū)。 ?基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式:公用數(shù)據(jù)結(jié)構(gòu)的設(shè)置及對(duì)進(jìn)程間同步的處理,都必須由程序員管理,操作系統(tǒng)只提供共享存儲(chǔ)器,因此效率低,只適用少量數(shù)據(jù)傳遞。 ?基于共享存儲(chǔ)區(qū)的通信方式:進(jìn)程在通信前,先向系統(tǒng)申請(qǐng)共享存儲(chǔ)區(qū)(系統(tǒng)劃分)中的一個(gè)分區(qū),并指定關(guān)鍵字(若該分區(qū)已為其它進(jìn)程擁有,則向申請(qǐng)者返回描述符),由申請(qǐng)者把獲得的共享存儲(chǔ)分區(qū)連接到自己進(jìn)程。適用于大量數(shù)據(jù)傳遞。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 98 ?管道通信 管道 ( pipe) 指用于連接一個(gè)讀進(jìn)程和一個(gè)寫(xiě)進(jìn)程 , 以實(shí)現(xiàn)它們之間通信的共享文件 。 例: UNIX的管道 管道按 FIFO方式單向傳送消息 。 Pipe文件 寫(xiě)端 fd[1] 讀端 fd[0] 進(jìn)程通信 管道機(jī)制必須具備 : ( 1)互斥、( 2)同步、( 3)確定對(duì)方存在。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 99 ?OS發(fā)送命令(直接通信方式) 發(fā)送進(jìn)程直接利用 OS所提供的命令,把消息發(fā)送給目標(biāo)進(jìn)程。要求發(fā)送進(jìn)程和接收進(jìn)程必須以顯示方式提供對(duì)方的標(biāo)識(shí)符。 OS通常提供以下兩類通信原語(yǔ): Send(ReceiverID,message)。 Receive(SenderID,message)。 消息傳遞通信的實(shí)現(xiàn)方法 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 100 ?信箱(間接通信方式) 間接通信方式:進(jìn)程之間的通信需要通過(guò)作為共享數(shù)據(jù)結(jié)構(gòu)的實(shí)體作為暫存發(fā)送進(jìn)程發(fā)送給目標(biāo)進(jìn)程的消息。 當(dāng)兩個(gè)進(jìn)程間需要通信時(shí) , 由發(fā)送進(jìn)程創(chuàng)建一個(gè)與接收進(jìn)程相連的信箱 。 發(fā)送進(jìn)程把消息送到信箱 , 接收進(jìn)程從信箱中取走消息 。 信箱頭:名稱 , 大小 , 方向 , 進(jìn)程名等; 信箱體:由若干格子組成 , 每一格存放一條消息 。 雙向信箱 信箱溢出 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 101 ? 信箱創(chuàng)建與撤消 :系統(tǒng)提供相關(guān)原語(yǔ) ,用于信箱的創(chuàng)建、撤消和消息的發(fā)送、接收。 ? 消息的發(fā)送和接收:必須使用共享信箱,利用通信原語(yǔ)進(jìn)行通信。 ? Send(mailbox, message)。 ? Receive(mailbox,message)。 ? 信箱類型 ?私用信箱:用戶創(chuàng)建 ,擁有者可讀,其他人只可發(fā)。 ?公用信箱:采用輸入 /輸出雙向通信鏈路,由 OS創(chuàng)建。被核準(zhǔn)進(jìn)程可發(fā)、可收。 ?共享信箱:由進(jìn)程創(chuàng)建并指明共享進(jìn)程名。 ?發(fā)送進(jìn)程和接受進(jìn)程的對(duì)應(yīng)關(guān)系:一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 102 ?通信鏈路:在發(fā)送進(jìn)程和接受進(jìn)程之間必須建立一條通信鏈路。 ?一種是顯示的由 “ 建立連接 ” 命令(原語(yǔ))請(qǐng)求系統(tǒng)為之創(chuàng)建,使用完后,也用顯示方式拆除。另一種是利用系統(tǒng)提供的發(fā)送命令(原語(yǔ)),系統(tǒng)自動(dòng)建立和拆除。 ?通信鏈路( munication link) ?顯式和隱式鏈路 ?點(diǎn) 點(diǎn)連接通信鏈路、多點(diǎn)連接鏈路 ?單向和雙向通信鏈路 ?無(wú)容量和有容量通信鏈路 ?消息傳遞系統(tǒng)中的若干問(wèn)題 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 103 ?消息的格式:在消息傳遞系統(tǒng)中,必須具有一定的消息格式。通??砂岩粋€(gè)消息分為消息頭和消息正文兩部份。消息頭主要包括消息在傳輸時(shí)所需的控制信息,消息正文則是實(shí)際發(fā)送數(shù)據(jù)。消息的格式有定長(zhǎng)(短消息)和變長(zhǎng)(長(zhǎng)消息)兩種。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 104 ?消息的格式 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 105 ?進(jìn)程同步方式 ?發(fā)送進(jìn)程阻塞、接收進(jìn)程阻塞。發(fā)送進(jìn)程與接收進(jìn)程之間無(wú)緩沖,兩進(jìn)程平時(shí)都處于阻塞。 ?發(fā)送進(jìn)程不阻塞、接收進(jìn)程阻塞。發(fā)送進(jìn)程不阻塞,接收進(jìn)程平時(shí)處于阻塞,由發(fā)送進(jìn)程喚醒。 ?發(fā)送進(jìn)程、接收進(jìn)程均不阻塞。 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 106 ?消息緩沖隊(duì)列通信機(jī)制 ?通信原語(yǔ) Send ( Receiver , message ) 。 Receive ( Sender , message ) 。 ?消息緩沖區(qū) Type message buffer = record Sender; Size ; Text ; Next ; end CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 107 ?PCB中有關(guān)通信的數(shù)據(jù)項(xiàng) Type ProcessControl block = record … mq ;消息隊(duì)列首指針 mutex ;消息隊(duì)列互斥信號(hào)量 sm ;消息隊(duì)列資源信號(hào)量 … end CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 108 消息緩沖通信模型 send(B,a) sender:A size:5 text:Hello 進(jìn)程 A receive(b) sender:A size:5 text:Hello 進(jìn)程 B mq mutex sm sender:A size:5 text:Hello next :0 PCB(B) 第一消息緩沖區(qū) 發(fā)送區(qū) a 接收區(qū) b 進(jìn)程receive(b) sender:Atext:Hello 進(jìn)程通信 CUIT 葉斌 2022/2/5 20:24 操作系統(tǒng)|進(jìn)程管理 109 ?發(fā)送原語(yǔ) procedure send ( receiver , a ) begin getbuf ( a , size , i ) 。 := 。 := 。 := 。 := 0 。 getid ( PCB set , receiver , j ) 。 wait ( )。 insert ( , i ) 。 signal ( ) 。 signal ( ) 。 end 根據(jù) 緩沖區(qū) 將發(fā)送區(qū) a中的信息復(fù) 制到消息緩沖區(qū) i中。 獲得接收進(jìn)程的 內(nèi)部標(biāo)識(shí) j 將消息緩沖區(qū)插入消息隊(duì)列 CUIT 葉斌 2022/2/5 20:24 操
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1