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

正文內(nèi)容

進(jìn)程的同步與通信進(jìn)程死鎖-免費閱讀

2025-01-14 21:44 上一頁面

下一頁面
  

【正文】 } else /*父進(jìn)程執(zhí)行 */ { wait(0)。 如圖所示: 73 例:用 c語言編寫一個程序 , 建立一個 pipe, 同時父進(jìn)程生成一個子進(jìn)程, 向 pipe中寫入一字符串 , 父進(jìn)程從 pipe中讀出該字符串 。 ? 一旦消息從發(fā)送方緩沖區(qū)復(fù)制到系統(tǒng)緩沖區(qū),即可再次發(fā)新消息,無需等上一消息被完全接收。 消息傳遞通信原理 64 舉例:( UNIX中兩進(jìn)程利用信號通信)。 V (chopstick[ i] )。 59 用第一種方法來實現(xiàn)沒有死鎖的哲學(xué)家問題: 至多只允許有四位哲學(xué)家同時去拿左邊的筷子 , 最終能保證至少有一位哲學(xué)家能夠進(jìn)餐 , 并在用畢時能放下他用過的兩支筷子 , 從而使其他的哲學(xué)家能夠進(jìn)餐 。 寫數(shù)據(jù) A V(wrt)。 5. 當(dāng)某個 Writer結(jié)束訪問時,若只有 Writer在等待,則喚醒某個 Writer,若既有 Writer也有 Reader;則按 FIFO或某它原則喚醒一個 Writer或所有 Reader。 設(shè): P、 Q共享 1個緩沖區(qū), Q、 R共享另一個緩沖區(qū); 若一個緩沖區(qū)可保存一個數(shù)據(jù)信息,請寫出 P、 Q、R的并發(fā)算法。 } Server() {do { P(seatfull)。 請寫出模擬理發(fā)師和顧客的算法。 ... 互斥 49 … consume the item in nextc。 V(full)。 有限緩沖區(qū)生產(chǎn)者 /消費者進(jìn)程描述如下: typedef struct{ …… } item。 S4。 V(c)。 1) P操作用來測試等待的信息是否到達(dá); 2) V操作來向其它需要同步的進(jìn)程發(fā)送信息 。 41 啟動汽車 正常開車 到站停車 開車門 乘客上下車 關(guān)車門 司機(jī)和售票員同步示意圖 售車票 司機(jī) 售票員 stop close 利用信號量實現(xiàn)進(jìn)程同步的例子 ? 現(xiàn)實例子: 42 設(shè)置信號量 close表示車門是否關(guān)好,初值為 0,表示門未關(guān)好,不允許司機(jī)啟動汽車;設(shè)置信號量 stop表示汽車是否停穩(wěn),初值為 0,表示未停穩(wěn),售票員不能開車門。 } else { V(mutex)。 39 semaphore mutex。進(jìn)程 pi為第 i個售票處為旅客服務(wù)的進(jìn)程,進(jìn)程功能如下: pi() { 接受旅客訂票要求; Xi=Ri 。 3. V操作 V(S): :=value+1 if ≤0 then 從 取一進(jìn)程,掛入就緒隊列。 enableIntrrupt()。 ? 實現(xiàn)臨界段的元方法 : ?屏蔽中斷 (只用于單機(jī) ); ?加硬鎖 ,如“ Test_and_Set” ,“ Swap” 硬指令。 27 二、“ Swap”指令 該指令功能描述為: void Swap( boolean a, boolean b) { boolean temp=a a = b b = temp } 28 設(shè) Lock為全局布爾變量(初值為 false),每個進(jìn)程設(shè)一個局部布爾變量 Key。 Balance=balanceamount。 N:=N+2。 //退出區(qū) remainder code。 進(jìn)程推進(jìn)順序 按此順序執(zhí)行account=2 按此順序執(zhí)行account=1 兩點說明: ?產(chǎn)生與時間有關(guān)的錯誤。 N=N+2。 輸入進(jìn)程 緩沖區(qū) 計算進(jìn)程 進(jìn)程的 同步與互斥 ? 互斥關(guān)系(間接制約): 把并發(fā)進(jìn)程間存在的因相互競爭使用獨占資源(共享資源)而產(chǎn)生的制約關(guān)系。 也就是說不管是父進(jìn)程還是子進(jìn)程,在占有處理機(jī)后,都從 fork()調(diào)用的返回點開始運行 。 } write(G,r)。 10 ? 并發(fā)程序設(shè)計語言 并發(fā)語句 ? 它是一種高級語言; ? 語法形式: Parbegin S1; S2; ?Sn ; Parend; 1)并發(fā)語句示例 1 Parbegin read( a) ; read( b) ; Parend; c= a+b; write( c) ; 11 2)并發(fā)語句示例 2 Var F,G:file of T。 ? 不可再現(xiàn)性(待續(xù)) 并發(fā)與共享的問題 :并行程序訪問共享數(shù)據(jù)問題舉例 :(count為共享變量 初值 =300) Program A: … N=count N=N+100 count=N … Program B:… M=count M=M200 count=M … 如果按以下次序占處理機(jī)運行 : N=count,N=N+100。 重點: 臨界段、同步、互斥的概念;信號量的概念和物理意義;消息傳遞的原理,死鎖的概念。 2. 程序的并發(fā)執(zhí)行 I1 I2 I3 C1 C2 C3 P1 P2 P3 ? 若順序執(zhí)行三個作業(yè)共需要 9( 3*3)分鐘 ? 并行執(zhí)行三個作業(yè)只需要 5( 5/3*3)分鐘 計算機(jī)操作系統(tǒng) ? 間斷性: 并發(fā)程序由于共享資源或為完成同一項任務(wù)而相互合作,形成相互制約關(guān)系。 9 ? 識別程序中的并發(fā)成分有兩種方法: ?程序員寫順序程序,用識別工具識別并發(fā)成分。 Parbegin write(G,s)。 ? 實現(xiàn)的兩種方法: 1) OS提供進(jìn)程創(chuàng)建,結(jié)束和同步的系統(tǒng)調(diào)用; 2) 由并行語言編譯器將并發(fā)語言的語句轉(zhuǎn)化為對 OS的系統(tǒng)調(diào)用。 (1)當(dāng)有多個子進(jìn)程時,任一個子進(jìn)程結(jié)束即將控制返回調(diào)用者,并將子進(jìn)程調(diào)用 exit( status)時的 status值送到 status指針?biāo)竼卧小?M=M+1。 P2 N=account。 21 一個訪問臨界資源的進(jìn)程描述如下: While (1) { entry code。 M:=M+1。 Balance=balance+amount。 //臨界區(qū) lock=false。 noncritical section }while(1) 29 信號量 (1965年, Dijkstra提出 ) 信號量機(jī)構(gòu):“信號量”、“ P, V操作”。 enableIntrrupt()。一個 PCB隊列 } Semaphore Semaphore S。 2)各進(jìn)程在進(jìn)入臨界段前先對該信號量進(jìn)行 P操作,退出臨界段后執(zhí)行 V操作,從而保證各進(jìn)程互斥的進(jìn)入相關(guān)臨界段。Ri =Xj; ③ pi再執(zhí)行
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1