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

正文內容

第3章進程管理(編輯修改稿)

2025-10-22 19:18 本頁面
 

【文章內容簡介】 —— 管程 進程的通信方式之二 —— 消息緩沖 返回本章首頁 第 3章 進程管理 臨界資源和臨界區(qū) 在計算機中有許多資源只允許一個進程使用,如果有多個進程同時去使用這類資源就會產生嚴重的錯誤。 幾個進程若共享同一臨界資源,它們必須以互斥的方式使用這個臨界資源,即當一個進程正在使用臨界資源且尚未使用完畢時,則其他進程必須推遲對該資源的進一步操作,在當前進程的使用完成之前,不能從中插進去使用這個臨界資源,否則將會造成信息混亂和操作出錯。 系統(tǒng)中同時存在有許多進程,它們共享各種資源,然而有些資源每次只能讓一個進程所使用。 返回本節(jié)目錄 第 3章 進程管理 進程的通信方式之一 —— 同步與互斥 同步: 我們把進程間的這種必須互相合作的協(xié)同工作關系 , 稱為進程同步 。 互斥: 兩個并行的進程 A、 B, 如果當 A進行某個操作時, B不能做這一操作,進程間的這種限制條件稱為進程互斥,這是引起資源不可共享的原因。 第 3章 進程管理 lock和 unlock 大部分同步方案均采用某個物理實體 ( 如鎖 、 信號燈等 )實現(xiàn)通信 , 進程通信原語中關鎖 ( lock) 和開鎖 ( unlock)是最簡單的原語 。 在這兩個原語中設置一個公共變量 x代表某個臨界資源的狀態(tài) 。 如: x=0, 表示資源可用 , x=1,表示資源正在使用 。 關鎖原語 1ock( x) : L: if x= 1 then goto L else x: =1; 開鎖原語 unlock( x) : x: =0; 第 3章 進程管理 圖 開鎖和關鎖程序流程圖 返回本節(jié)目錄 第 3章 進程管理 兩個經(jīng)典的同步 /互斥問題 1.生產者與消費者問題 2.讀者與寫者問題 第 3章 進程管理 1.生產者與消費者問題 Dijkstra把廣義同步問題抽象成一種“生產者與消費者問題”( Producerconsumerrelationship) 的抽象模型。事實上,計算機系統(tǒng)中的許多問題都可歸結為生產者與消費者問題,生產者與消費者可以通過一個環(huán)形緩沖池(見圖)聯(lián)系起來,環(huán)形緩沖池由幾個大小相等的緩沖塊組成,每個緩沖塊容納一個產品。每個生產者可不斷地每次往緩沖池中送一個生產產品,而每個消費者則可不斷地每次從緩沖池中取出一個產品。 下一頁 第 3章 進程管理 圖 環(huán)形緩沖池 下一頁 第 3章 進程管理 下面給出基于環(huán)形緩沖區(qū)的生產者與消費者關系的形式描述 , 設: ( 1) 公用信號量 mutex: 初值為 1, 用于實現(xiàn)臨界區(qū)互斥 。 ( 2) 生產者私用信號量 empty: 初值為 n, 指示空緩沖塊數(shù)目 。 ( 3) 消費者私用信號量 full: 初值為 0, 指示滿緩沖塊數(shù)目 。 ( 4)整型量 i和 j初值均為 0, i指示首空緩沖塊序號,j指示首滿緩沖塊序號。 ?模塊 設計如下: 下一頁 第 3章 進程管理 Var mutex, empty, full: semaphore。 i,j:integer; buffer: array [0… n一 1] of item; Procedure producer。 生產者進程 begin while true do begin produce a product。 P(empty)。 下一頁 第 3章 進程管理 P(mutex)。 Buffer (i):= Product。 i:= (i+1) mod n; V(mutex)。 V(full) end end。 procedure consumer。 消費者進程 下一頁 第 3章 進程管理 begin While true do begin P(full); P(mutex) goods:= buffer(j)。 j:= (j+1) mod n。 V(mutex)。 V(empty)。 Consume a product。 end 下一頁 第 3章 進程管理 end。 begin seminitial 。 i:= j:= 0。 cobegin producer; consumer; coend end 下一頁 第 3章 進程管理 2.讀者與寫者問題 設某航空公司有 2個售票處 , 它們通過遠程終端訪問設在公司總部的航空訂票系統(tǒng) , 并要查詢或修改系統(tǒng)中記錄所有班機當前訂票數(shù)的數(shù)據(jù)庫 B。設 Bi為某班機的當前訂票數(shù) , P1和 P2分別代表 2個售票處的售票進程 , R1和 R2為進程執(zhí)行時使用的工作寄存器 。 由于售票進程并發(fā)執(zhí)行 , 且各自訪問數(shù)據(jù)庫 B的時間是隨機的 , 故有可能出現(xiàn)下面的訪問序列 ( 假定 Bi的當前值為 x) : 下一頁 第 3章 進程管理 P1:R1:=Bi。 R1:=R1+1 P2:R2=Bi。 R2:=R2+1。 P1:Bi:=R1。 P2:Bi:=R2 可見, Bi的新值是 X+1, 而不是 X+2。 這里的 P1和 P2均為寫者,顯然,對于寫者 Bi為臨界資源,因此寫者應該互斥。 下一頁 第 3章 進程管理 下面給出讀者進程與寫
點擊復制文檔內容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1