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

正文內(nèi)容

kiuaaa第3章--進(jìn)程同步與通信-展示頁

2025-08-02 11:41本頁面
  

【正文】 R( P1) ={R1, COUNT} W( P1) ={R1, COUNT} R( P2) ={R2, COUNT} W( P2) ={R2, COUNT} R( P1) ∩W( P2) {} 臨界資源實(shí)例 ● P P2不符合 Bernstein條件 ● 必須對程序的執(zhí)行順序施加某種限制 While(1){ ● 空閑讓進(jìn) 當(dāng)無進(jìn)程處于臨界區(qū)時(shí),臨界資源處于空閑狀態(tài)。 R2=R2+1。 COUNT=R1。 臨界資源實(shí)例 例: P1, P2兩線程共享變量 COUNT( COUNT的初值為 5) P1:{ R1=COUNT。 } 分析: ● 1》執(zhí)行順序 P2→ P1 執(zhí)行結(jié)果 P1: COUNT為 7, P2: COUNT為 6。 R2=R2+1。 COUNT=R1。 例: P1, P2兩進(jìn)程共享變量 COUNT( COUNT的初值為 5) P1:{ R1=COUNT。 ● 臨界資源:某段時(shí)間內(nèi)僅允許一個(gè)進(jìn)程使用的資源。 進(jìn)程同步的基本概念 ● 同步: 指多個(gè)進(jìn)程中發(fā)生的事件存在著某種時(shí)序關(guān)系,它們必須按規(guī)定時(shí)序執(zhí)行,以共同完成一項(xiàng)任務(wù) 。第 3章 進(jìn)程同步與通信 ● 進(jìn)程同步與互斥 ● 經(jīng)典進(jìn)程同步問題 ● 管程 ● AND信號(hào)量 ● 進(jìn)程通信 本章要點(diǎn) ● 進(jìn)程的同步與互斥 同步與互斥 的引入 ● OS引入進(jìn)程后,由于進(jìn)程的異步性,可能會(huì)導(dǎo)致程序執(zhí)行結(jié)果的不確定性,使程序執(zhí)行時(shí)出現(xiàn)不可再現(xiàn)性。 ● 進(jìn)程互斥與同步的主要任務(wù)是使并發(fā)執(zhí)行的諸進(jìn)程之間能有效地共享資源和相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性 。 ● 互斥:多個(gè)進(jìn)程不能同時(shí)使用同一資源。 ● 臨界區(qū):每個(gè)進(jìn)程中訪問臨界資源的那段代碼。 R1=R1+1。 } P2:{ R2=COUNT。 COUNT=R2。 ● 2》執(zhí)行順序 P1: {R1=COUNT} P2: {R2=COUNT} P1: {R1=R1+1; COUNT=R1} P2: {R2=R2=1; COUNT=R2} 執(zhí)行結(jié)果 P1: COUNT為 6, P2: COUNT為 6。 R1=R1+1。 } P2:{ R2=COUNT。 COUNT=R2。此時(shí)允許進(jìn)程進(jìn)入臨界區(qū)。 ● 有限等待 對于要求訪問臨界資源的進(jìn)程,應(yīng)保證在有效的時(shí)間內(nèi)進(jìn)入,以免進(jìn)入“ 死等 ” 狀態(tài)。 進(jìn)入?yún)^(qū) 臨界區(qū) 退出區(qū) 剩余區(qū) } 同步機(jī)制應(yīng)遵循的準(zhǔn)則 訪問臨界資源的進(jìn)程描述為 互斥實(shí)現(xiàn)的硬件方法 ● 禁止中斷 ● 專用機(jī)器指令 ● TS( Test and Set)指令 ● Swap指令 //TS指令: boolean TS(lock)。 { boolean temp。 lock = true。} ● Lock有兩種狀態(tài) : ● 當(dāng) lock=false時(shí),表示資源空閑 。 ● 為了實(shí)現(xiàn)互斥,設(shè)布爾變量 lock,其初值為 false,表示資源空閑。 ● 缺點(diǎn):沒有做到: “ 讓權(quán)等待 ” 。 臨界區(qū) 。 剩余區(qū) 。 臨界區(qū) 。 剩余區(qū) 。 臨界區(qū) 。 剩余區(qū) 。 使 P0、 P1輪流訪問臨界資源。 ——單標(biāo)志算法 //進(jìn)程 0 while (flag[1]) //什么都不做 。 臨界區(qū) 。 剩余區(qū) 。 flag[1]=true。 flag[1] =false。 ● 設(shè)置數(shù)組 flag,初始時(shí)設(shè)每個(gè)元素為 false,表示所有進(jìn)程都未進(jìn)入臨界區(qū)。 ● 在每個(gè)進(jìn)程進(jìn)入臨界區(qū)時(shí),先查看臨界資源是否被使用,若正在使用,該進(jìn)程等待,否則才可進(jìn)入。 ● 缺點(diǎn):可能同時(shí)進(jìn)入臨界區(qū),不能保證 “ 忙則等待 ” 。 while (flag[1]) //什么也不做 。 flag[0] =false。 ● 兩進(jìn)程先后同時(shí)作 flag[i]=true。不能保證 “ 有空讓進(jìn) ” 。 while (flag[0]) //什么也不做 。 flag[1] =false 。 ——雙標(biāo)志、先修改后檢查算法 用軟件方法解決互斥問題 //進(jìn)程 0 flag[0]=true。 while (flag[1]) amp。 (turn==1) //什么也不做 。 flag[0] =false 。 保證了“ 有空讓進(jìn) ”和“ 忙則等待 ”。 turn=0。amp。 臨界區(qū) 。 剩余區(qū) 。 ● 記錄型信號(hào)燈的定義 struct semaphore{ int value。 } 信號(hào)燈的 PV操作 void wait(semaphore s) { = 1。
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1