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

正文內(nèi)容

進(jìn)程和進(jìn)程控制線程進(jìn)程互斥和同步死鎖問(wèn)題進(jìn)程間通信處理-在線瀏覽

2024-09-11 14:15本頁(yè)面
  

【正文】 T2: ... ... Read(x)。 if x=1 then if x=1 then x:=x1。 write(x)。 ... ... 5 3個(gè)進(jìn)程: get, process和 print 進(jìn)程互斥和同步 操作順序沖突 臨界資源 get process print 問(wèn)題的提出 Buf1 Buf2 磁帶 打印機(jī) 6 臨界資源的訪問(wèn)過(guò)程 進(jìn)程互斥和同步 entry sectionexit section critical section remainder section臨界區(qū)為了保證臨界資源的正確訪問(wèn),必須采取一定的協(xié)調(diào)措施 臨界區(qū) (critical section): 進(jìn)程中訪問(wèn)臨界資源的一段 代碼。如果可以進(jìn)入臨界區(qū),通常設(shè)置相應(yīng)“正在訪問(wèn)臨界區(qū)”標(biāo)志。 剩余區(qū) (remainder section):代碼中的其余部分。critical sectionturn = j。容易造成資源利用不充分 :在 Pi出讓臨界區(qū)之后, Pj使用臨界區(qū)之前, Pi不可能再次使用臨界區(qū); 進(jìn)程互斥和同步 互斥算法 10 算法 2:雙標(biāo)志、先檢查 設(shè)立一個(gè)標(biāo)志數(shù)組 flag[]:描述進(jìn)程是否在臨界區(qū),初值均為FALSE。 aflag[i] = TRUE。remainder section優(yōu)點(diǎn):不用交替進(jìn)入,可連續(xù)使用; 缺點(diǎn): Pi和 Pj可能同時(shí)進(jìn)入臨界區(qū)??煞乐箖蓚€(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。 bwhile (flag[j])。remainder section缺點(diǎn): Pi和 Pj可能都進(jìn)入不了臨界區(qū) 。描述可進(jìn)入的進(jìn)程(同時(shí)修改標(biāo)志時(shí)) 在進(jìn)入?yún)^(qū)先修改后檢查,并檢查并發(fā)修改的先后: 檢查對(duì)方 flag,如果不在臨界區(qū)則自己進(jìn)入--空閑則入 否則再檢查 turn:保存的是較晚的一次賦值,則較晚的進(jìn)程等待,較早的進(jìn)程進(jìn)入--先到先入,后到等待 flag[i] = TRUE。while (flag[j] amp。 turn == j)。remainder section進(jìn)程互斥和同步 進(jìn)程互斥的軟件方法 互斥算法 13 信號(hào)量 (semaphore) ?信號(hào)量和 P、 V原語(yǔ) ?信號(hào)量集 前面的互斥算法是進(jìn)程間的一種 平等協(xié)商 機(jī)制,不能滿足進(jìn)程同步機(jī)制準(zhǔn)則的全部要求。 操作系統(tǒng) 可從進(jìn)程管理者的角度來(lái)處理互斥的問(wèn)題, 信號(hào)量 就是 OS提供的管理臨界資源的有效手段。 進(jìn)程互斥和同步 14 信號(hào)量和 P、 V原語(yǔ) 1965年,由荷蘭學(xué)者 Dijkstra提出( P、 V分別是荷蘭語(yǔ)的 proberen=test和 verhogen=increment的首字母),是一種卓有成效的進(jìn)程同步機(jī)制。 //表示申請(qǐng)一個(gè)資源 。 { 調(diào)用進(jìn)程進(jìn)入等待隊(duì)列 。 } } 進(jìn)程互斥和同步 信號(hào)量 16 V原語(yǔ) V(s) { ++。 進(jìn)程 P進(jìn)入就緒隊(duì)列 。critical sectionremainder sectionP(mutex)。P(S 12 )。其中, 生產(chǎn)者 進(jìn)程不斷寫(xiě)入,而 消費(fèi)者 進(jìn)程不斷讀出;共享緩沖區(qū)共有 n個(gè) ; 任何時(shí)刻只能有一個(gè)進(jìn)程可對(duì)共享緩沖區(qū)進(jìn)行操作。 full和 empty存在關(guān)系: full + empty == n mutex用于訪問(wèn)緩沖區(qū)時(shí)的互斥,初值是 1 每個(gè)進(jìn)程中各個(gè) P操作的次序是重要的:先檢查資源數(shù)目,再檢查是否互斥―― 否則可能死鎖 (為什么? ) ConsumerProducerP(empty)。 //進(jìn) 入?yún)^(qū) one unit buffer。V(full)。P(mutex)。V(mutex)。 //退 出區(qū)進(jìn)程互斥和同步 經(jīng)典進(jìn)程同步問(wèn)題 1. 生產(chǎn)者-消費(fèi)者問(wèn)題 (the producerconsumer problem) 21 2. 讀者-寫(xiě)者問(wèn)題 (the readerswriters problem) 問(wèn)題描述:對(duì)共享資源的讀寫(xiě)操作,任一時(shí)刻“寫(xiě)者”最多只允許一個(gè),而“讀者”則允許多個(gè) “讀-寫(xiě)”互斥, “寫(xiě)-寫(xiě)”互斥, 讀-讀 允許 進(jìn)程互斥和同步 經(jīng)典進(jìn)程同步問(wèn)題 22 采用信號(hào)量機(jī)制: Wmutex表示 允許寫(xiě) ,初值是 1。 進(jìn)程互斥和同步 2. 讀者-寫(xiě)者問(wèn)題 經(jīng)典進(jìn)程同步問(wèn)題 P(Rmutex)。 ++Rcount。 read。 Rcount。 V(Rmutex)。 write。 Writer 23 信號(hào)量同步的缺點(diǎn) 同步操作分散 :信號(hào)量機(jī)制中,同步操作分散在各個(gè)進(jìn)程中,使用不當(dāng)就可能導(dǎo)致各進(jìn)程死鎖(如 P、 V操作的次序錯(cuò)誤、重復(fù)或遺漏) 易讀性差 :要了解對(duì)于一組共享變量及信號(hào)量的操作是否正確,必須通讀整個(gè)系統(tǒng)中并發(fā)執(zhí)行的各個(gè)程序; 不利于修改和維護(hù) :各模塊的獨(dú)立性差,任一組變量或一段代碼的修改都可能影響全局; 正確性難以保證 :操作系統(tǒng)或并發(fā)程序通常很大,很難保證這樣一個(gè)復(fù)雜的系統(tǒng)沒(méi)有邏輯錯(cuò)誤; 進(jìn)程互斥和同步 管程 用信號(hào)量可實(shí)現(xiàn)進(jìn)程間的同步,但由于信號(hào)量的控制分布在整個(gè)程序中,其正確性分析很困難。即:將共享變量以及對(duì)共享變量能夠進(jìn)行的所有操作集中在一個(gè)模塊中。
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1