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

正文內(nèi)容

進(jìn)程的同步與通信進(jìn)程死鎖-wenkub

2023-01-17 21:44:15 本頁面
 

【正文】 count=N. 結(jié)果 count=400(應(yīng)為 200)* 7 并發(fā)的需要 ? 操作系統(tǒng)應(yīng)盡量支持用戶態(tài)程序最大限度地并發(fā)執(zhí)行。 程序并發(fā)執(zhí)行的特點(diǎn): ? 失去封閉性: 多個(gè)程序共享系統(tǒng)中的各種資源,資源的狀態(tài)將由多個(gè)程序改變,失去封閉性。 計(jì)算機(jī)操作系統(tǒng) 前趨圖: 用于描述一個(gè)程序的各部分(程序段或語句)間的執(zhí)行順序關(guān)系,或者是一個(gè)大的計(jì)算各子任務(wù)間的因果關(guān)系。1 第 4章 進(jìn)程的同步與通信、進(jìn)程死鎖 主要內(nèi)容: 并發(fā)執(zhí)行,臨界段,信號(hào)量,經(jīng)典進(jìn)程同步問題,消息傳遞原理,死鎖。 1)是一個(gè)有向無循環(huán)圖; 2)圖的結(jié)點(diǎn)對(duì)應(yīng)程序中的一條語句、 一個(gè)程序段或一個(gè)進(jìn)程; 3)結(jié)點(diǎn)間的有向邊:表示兩個(gè)結(jié)點(diǎn)之 間存在的偏序或前趨關(guān)系 “ →” ; s1 s3 s2 s5 s4 s7 s6 1. 程序的順序執(zhí)行 計(jì)算機(jī)操作系統(tǒng) 指各程序段按照某種先后次序執(zhí)行,僅當(dāng)前一個(gè)操作執(zhí)行完后才能執(zhí)行后繼操作。一個(gè)程序執(zhí)行時(shí),會(huì)受到其他程序的影響。 ? 程序設(shè)計(jì)要利用 OS對(duì)并發(fā)運(yùn)行的支持,安排事務(wù)并發(fā)執(zhí)行。 ?由程序員識(shí)別并發(fā)成分 : ? 用并發(fā)程序設(shè)計(jì)語言設(shè)計(jì)并發(fā)程序, 由編譯系統(tǒng)安排并發(fā); ? 直接利用操作系統(tǒng)的系統(tǒng)調(diào)用。 read(F,r)。 Parend。 改進(jìn)手段: 輔以其他手段,則并發(fā)語句可以大大增加其描述并發(fā)的能力。 (1) 該子進(jìn)程繼承了父進(jìn)程的程序空間,復(fù)制了父進(jìn)程的數(shù)據(jù)段和棧段。該系統(tǒng)調(diào)用發(fā)出后,操作系統(tǒng)將從系統(tǒng)中刪除調(diào)用 exit的進(jìn)程,并將 status值傳給等待它結(jié)束的父進(jìn)程。 15 多進(jìn)程實(shí)現(xiàn)前述的讀寫并發(fā)程序 pid = fork( ) if pid = = 0 then { read( b) ; exit( 0) ; } else read( a) ; wait( status) ; c = a+b; write( c); 16 ? 同步關(guān)系(直接制約): 為了完成一個(gè)共同任務(wù),相互協(xié)作的幾個(gè)進(jìn)程需要在某些確定點(diǎn)上協(xié)調(diào)他們的工作,等待來自其它進(jìn)程的信息,以調(diào)整它們的推進(jìn)速度,方可順利執(zhí)行完畢。 注意: 對(duì)于臨界資源,必須互斥訪問,否則會(huì)導(dǎo)致執(zhí)行結(jié)果的不確定性。 P2 N=account。 M=M+1。 account=N。 ? 訪問過程: 1)在進(jìn)入臨界段之前,寫一段代碼以檢查可否進(jìn)入臨界段,通常把這段代碼稱為 進(jìn)入?yún)^(qū) (申請(qǐng),判斷 )。 //臨界段 exit code。 Entry code exit code 使用打印機(jī) P1 Entry code exit code 使用打印機(jī) P2 23 例 3: 對(duì)共享變量 count的互斥訪問。 } P2: { N:=count。 Entry code exit code Entry code exit code 24 如何實(shí)現(xiàn)進(jìn)入?yún)^(qū)、退出區(qū)代碼 —同步機(jī)構(gòu) ? 同步機(jī)構(gòu): 指能實(shí)現(xiàn)進(jìn)程同步的機(jī)制,該機(jī)制能把其它進(jìn)程需要的信息發(fā)送出去,也能測試自己需要的信息是否到達(dá)。 進(jìn)程 2的程序 disableInterrupt()。 Target =true; Return rv } 如果機(jī)器支持 Test_and_Set,可用下列方法解決 :(Lock=false) do { while( Test_and_Set(lock)) 。 //其它部分 }while( 1) 。 while(key ==ture) Swap (Lock, key)。 30 ? 原語 :指完成某種功能且不被分割或不被中斷執(zhí)行的操作序列 (又稱原子操作 )。 disableIntrrupt()。 s=s+1。 2. 信號(hào)量的具體實(shí)現(xiàn) 33 1. 信號(hào)量定義 typedef struct{ int:value。 if 0 then 保存現(xiàn)場, 將本進(jìn)程掛入 ,等待重新調(diào)度。此時(shí), ||表示該信號(hào)量上阻塞的進(jìn)程數(shù); ? V(s)操作: ① 進(jìn)程釋放一個(gè) S代表 的資源,執(zhí)行 +1; ② 若 =0, 表示尚有進(jìn)程因等待 S代表的資源而處于阻塞狀態(tài),所以應(yīng)喚醒其中之一。 36 進(jìn)程 Pi : 信號(hào)量 mutex=1 P(mutex) V(mutex) 臨界段 非臨界段 do{ }While(1) 37 ? 例子: 有一飛機(jī)機(jī)票售票系統(tǒng),有 m個(gè)售票處,各售票處通過計(jì)算機(jī)與該系統(tǒng)的票務(wù)中心連網(wǎng),中心數(shù)據(jù)區(qū)中用 Ri代表某天某次航班的余票數(shù)。 輸出一張機(jī)票; } else 輸出機(jī)票已售完; } 38 ? 存在的問題: 1)存在幾個(gè)旅客幾乎同時(shí)在不同的售票處要求訂購?fù)焱淮魏桨嗟目赡堋? 產(chǎn)生的錯(cuò)誤: pi, pj都售出了一張機(jī)票,但票務(wù)中心記錄機(jī)票余額的變量 Ri卻只減了 1。 Xi=Ri 。 輸出一張機(jī)票 。設(shè) synch是實(shí)現(xiàn)同步的信號(hào)量,初值為 0,則兩個(gè)進(jìn)程的同步可以描述為: 4. 利用信號(hào)量實(shí)現(xiàn)進(jìn)程同步 Parbegin P2: { P1: { …… S1。 …… } Parend。//車門是否關(guān)好 啟動(dòng)汽車 正常開車 到站停車 V(stop)。 ? 其次是要注意信號(hào)量的初值以及意義 。 P1(){ S1。 S2。 P(c)。 P(e)。 ? 如果 n個(gè)緩沖區(qū)全滿,生產(chǎn)者進(jìn)程必須等待。 ? empty, 初值為 n,表示當(dāng)前緩沖池中空緩沖區(qū)數(shù),用于同步。 }buffer。 V(mutex)。 struct item nextp, nextc。 Producer: do{ … produce an item in nextp。 P(mutex)。無顧客時(shí),理發(fā)師睡覺;當(dāng)顧客進(jìn)入理發(fā)店發(fā)現(xiàn)理發(fā)師睡覺時(shí),則喚醒理發(fā)師。 P(mutex)。 }while(1)。 cutting。其中 P負(fù)責(zé)從輸入設(shè)備上讀入信息并傳給 Q; Q將信息加工后傳給 R; R則負(fù)責(zé)將信息打印輸出。 第一類 Reader/ Writer問題: Reader和 Writer爭奪訪問共享數(shù)據(jù) A時(shí),Reader有較高優(yōu)先權(quán)。 4. 當(dāng)最后一個(gè)結(jié)束訪問數(shù)據(jù)的 Reader發(fā)現(xiàn)有 Writer正在等待時(shí),則將其中一個(gè)喚醒。 if readcount=1 P(wrt)。 Writer的一般結(jié)構(gòu)為: P(wrt)。共享數(shù)據(jù)結(jié)構(gòu)為:
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1