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

正文內(nèi)容

第3章進(jìn)程管理(參考版)

2024-10-06 19:18本頁面
  

【正文】 2.撤消進(jìn)程法 ( 1)程序的優(yōu)先數(shù),即被撤消進(jìn)程的優(yōu)先數(shù)。即恢復(fù)計(jì)算結(jié)果和狀態(tài)。 ( 6) 若所有的進(jìn)程都記入 L表中 , 則系統(tǒng)初始狀態(tài)為非死鎖狀態(tài) ,否則為死鎖狀態(tài) 。 ( 4) 若 Cj= 0, 則表示該進(jìn)程所請求的資源已得到滿足 , 不再阻塞 ,將 Pj記入 L表中 。 ( 2) 從 L表中選擇一進(jìn)程 , 根據(jù)資源分配表 S釋放分配給該進(jìn)程的所有資源 。 另外為每一個(gè)進(jìn)程設(shè)置一個(gè)等待資源計(jì)數(shù)器 C1, C2, … , Cn, 它們表示引起相應(yīng)進(jìn)程被阻塞的資源數(shù)目 , 將末阻塞的進(jìn)程組成一個(gè)表 L( 或隊(duì)列 ) 。 返回本節(jié)目錄 第 3章 進(jìn)程管理 發(fā)現(xiàn)死鎖 假定系統(tǒng)有 n個(gè)進(jìn)程 P1, P2, … , Pn和 Pm種類型資源 Rl, R2, … , Rm。由此可以看出,對資源請求采取了這種限制之后,所形成的進(jìn)程 — 資源圖不可能再產(chǎn)生環(huán)路。例如,設(shè)卡片輸入機(jī)為 1,打印機(jī)為 2,磁帶機(jī)為 3,磁盤機(jī)為 4, …… 。 返回本節(jié)目錄 第 3章 進(jìn)程管理 預(yù)防死鎖 1.破壞“請求與保持條件” 2.破壞環(huán)路條件 3.資源受控動(dòng)態(tài)分配 第 3章 進(jìn)程管理 1.破壞“請求與保持條件” 這種方法的基本思想是:每個(gè)進(jìn)程在運(yùn)行之前 ,必須預(yù)先提出自己所要使用的全部資源 , 調(diào)度程序在該進(jìn)程所需要的資源末得到滿足之前 , 不讓它們投入運(yùn)行 , 并且當(dāng)資源一旦分配給某個(gè)進(jìn)程之后 , 那么在該進(jìn)程的整個(gè)運(yùn)行期間相應(yīng)資源一直被它占有 , 這就破壞了產(chǎn)生死鎖的請求與保持條件 。 ( 3)請求和保持條件。 下一頁 第 3章 進(jìn)程管理 圖 同類資源共享時(shí)的死鎖現(xiàn)象 下一頁 第 3章 進(jìn)程管理 產(chǎn)生死鎖有四個(gè)必要條件: 產(chǎn)生死鎖有四個(gè)必要條件: ( 1)互斥條件。 假定每個(gè)進(jìn)程按右圖順序申請和釋放頁面 ( 或扇區(qū) ) : 下一頁 第 3章 進(jìn)程管理 分析: 這里每次申請和釋放只涉及 R的一個(gè)分配單元(頁或扇區(qū))。我們說這兩個(gè)進(jìn)程處在死鎖狀態(tài)。 于是Pl和 P2。 又假定由于某種原因 , 在進(jìn)行修改之前 , P2需要一暫存磁帶 ( 例如為了修改 , 要重新組織輸入數(shù)據(jù) ) 。 在許多實(shí)時(shí)應(yīng)用中,比如計(jì)算機(jī)控制運(yùn)輸和監(jiān)視系統(tǒng)方面,死鎖問題也極為重要。如圖 。 下一頁 第 3章 進(jìn)程管理 圖3.9 發(fā)送消息過程流圖 下一頁 第 3章 進(jìn)程管理 2. READ( A)( 讀取消息)原語 READ(A)原語用來讀取消息,接收進(jìn)程讀取消息之前,在自己的空間中確定一個(gè)接收區(qū)。 如果消息緩沖區(qū)已滿 , 則返回到非同步錯(cuò)誤處理程序入口進(jìn)行特殊處理 。 A是原語的參數(shù) , 表示發(fā)送區(qū)的地址 。 end。 nextempty:=0。 end。 nextfull:=(nextfull+1) mod n。 goods:=rbuffer [nextfull]。 例:以環(huán)形緩沖池為例,給出環(huán)形緩沖池的管程結(jié)構(gòu) 下一頁 第 3章 進(jìn)程管理 procedure entry get (var goods:item)。 signal (full)。 rbuffer [nextempty]: product。 procedure entry put (var product:item)。 var rbuffer: array[0.. n1] of item; k, nextempty, nextfull: integer。 為了實(shí)現(xiàn)對臨界資源的互斥訪問,管程每次只允許一個(gè)進(jìn)程進(jìn)入其內(nèi)(即訪問管程內(nèi)的某個(gè)過程),這是由編譯系統(tǒng)保證的。 下一頁 第 3章 進(jìn)程管理 管程主要由兩部分組成: ( 1) 局部于該管程的共享數(shù)據(jù) , 這些數(shù)據(jù)表示了相應(yīng)資源的狀態(tài) 。 并為每個(gè)可共享資源設(shè)立一個(gè)專門的管程來統(tǒng)一管理各進(jìn)程對該資源的訪問 。 返回本節(jié)目錄 第 3章 進(jìn)程管理 結(jié)構(gòu)化的同步 /互斥機(jī)制 —— 管程 建立管程的基本理由是:由于對臨界區(qū)的執(zhí)行分散在各進(jìn)程中 , 這樣不便于系統(tǒng)對臨界資源的控制和管理 , 也很難發(fā)現(xiàn)和糾正分散在用戶程序中的對同步原語的錯(cuò)誤使用等問題 。 V(wrt)。 Begin P(wrt)。 V (mutex)。 下一頁 第 3章 進(jìn)程管理 P(mutex)。 V(mutex)。 Readcount:=readcount+1。 readcount:=0 cobegin procedure reader。 readcount: integer。 下一頁 第 3章 進(jìn)程管理 下面給出讀者進(jìn)程與寫者進(jìn)程的一般結(jié)構(gòu) 。 P2:Bi:=R2 可見, Bi的新值是 X+1, 而不是 X+2。 R2:=R2+1。 由于售票進(jìn)程并發(fā)執(zhí)行 , 且各自訪問數(shù)據(jù)庫 B的時(shí)間是隨機(jī)的 , 故有可能出現(xiàn)下面的訪問序列 ( 假定 Bi的當(dāng)前值為 x) : 下一頁 第 3章 進(jìn)程管理 P1:R1:=Bi。 cobegin producer; consumer; coend end 下一頁 第 3章 進(jìn)程管理 2.讀者與寫者問題 設(shè)某航空公司有 2個(gè)售票處 , 它們通過遠(yuǎn)程終端訪問設(shè)在公司總部的航空訂票系統(tǒng) , 并要查詢或修改系統(tǒng)中記錄所有班機(jī)當(dāng)前訂票數(shù)的數(shù)據(jù)庫 B。 begin seminitial 。 Consume a product。 V(mutex)。 消費(fèi)者進(jìn)程 下一頁 第 3章 進(jìn)程管理 begin While true do begin P(full); P(mut
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1