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

正文內(nèi)容

第二章進程及作業(yè)管理-預覽頁

2024-10-30 14:02 上一頁面

下一頁面
 

【正文】 通過調(diào)用“停止”原語實現(xiàn)。 send(,39。 scheduler。 while 0 do begin :=。 memrelease(,)。 pcbrelease(i)。它們可描述如下: procedure suspend(i)。 memrelease(,)。 第二章 進程及作業(yè)管理 其中, 調(diào)用了換出過程 swapout將數(shù)據(jù)集復制到外存交換區(qū)并返回相應的地址。 if add=NIL then return(false)。 if add=NIL then begin 第二章 進程及作業(yè)管理 memallocate(size,add)。 read(,size,add)。 return(true)。操作系統(tǒng)為每類事件設置一個等待隊列,當某個事件發(fā)生時, 通過 wakeup原語移出相應等待隊列中的某個進程, 將其送入應緒隊列,調(diào)用參數(shù)也是等待隊列指針,下面是 block原語和 wakeup原語的類 PASCAL語言描述: 第二章 進程及作業(yè)管理 procedure block(q)。 insert(q,EXE)。 begin outqueue(q,i)。 end。這就是廣義同步概念。也就是說,共享臨界資源的進程必須互相排斥。為了防止發(fā)生這種與時間有關的錯誤,變量 count必須按臨界資源處理。 TS指令的功能可用 PASCAL語言描述如下: 第二章 進程及作業(yè)管理 procedure TS(vara,b:boolean)。 b:=temp end function TS(var b:boolean):boolean。于是用 TS指令實現(xiàn)互斥的進程的程序結(jié)構(gòu)為: 第二章 進程及作業(yè)管理 var key: blooean。 … end begin … while TS (lock) do skip。信號量是個被保護的量,只有 P、 V操作和信號量初始化操作才能訪問和改變它的值, Dijkstra把信號量 s定義為一個非負整型量。在實現(xiàn)該同步機構(gòu)時,可采取“忙等待”方式也可采取“讓權(quán)等待”方式。而在多機系統(tǒng)中,為減少進程狀態(tài)變換而引起的開銷,可采取忙等待方式。 s:=s1 V(s) :s:=s+1。采取這種方式需要對原信號量定義進一步擴充,把信號量由整型量擴充成為記錄形式: type psem=semaphore semaphore=record value: integer。 var s: psem。 begin :=+1 if ≤0 then wakeup() end 第二章 進程及作業(yè)管理 根據(jù)上述定義, P、 V操作的物理意義可這樣來看待。執(zhí)行一次 V操作意味著釋放一個單位資源,故描述為 .v:=+1,若 ≤0,表示在等待隊列 源不能滿足而被阻塞的進程,因此喚醒等待隊列 一個或優(yōu)先數(shù)最高的進程,允許其使用該資源。對于每個想使用 R的進程,只需把它們的臨界區(qū) CS置于 P(mutex)和 V(mutex)之間,即可實現(xiàn)互斥。 V(mutex)。 begin seminitial(,l)。 coend end 第二章 進程及作業(yè)管理 2 利用信號量同樣可以方便地實現(xiàn)合作進程之間的同步。 var mutex, empty, full: psem。 begin while true do begin 第二章 進程及作業(yè)管理 produce next product。 i:=(i+1)mod n。 begin while true do begin 第二章 進程及作業(yè)管理 P(full)。 V(empty)。full^.v,0)。 coend end 第二章 進程及作業(yè)管理 4.讀者與寫者關系 設某航空公司有 2個售票處,它們通過遠程終端訪問設在公司總部的航空訂票系統(tǒng),并要查詢或修改系統(tǒng)中記錄所有班機當前訂票數(shù)的數(shù)據(jù)庫 B。 第二章 進程及作業(yè)管理 var mutex,wrt:psem。 readcount:=0。 if readcount=1 then P(wrt)。 end。 V(wrt)。為此,應把分散的各同類臨界區(qū)集中起來。 第二章 進程及作業(yè)管理 局部于管程內(nèi)的數(shù)據(jù)結(jié)構(gòu)只能被該管程內(nèi)的過程所訪問,反之,局部于管程內(nèi)的過程只能訪問該管程內(nèi)的數(shù)據(jù)結(jié)構(gòu)。例如,并發(fā) PASCAL編譯程序在編譯源程序時,對每一個形如: ,都將自動保證其按如下方式執(zhí)行: P(mutex)。 var rbuffer:array[ 0..n1] of stuff。 begin if k=n wait(empty)。 signal(full)。 goods:=rbuffer[ nextfull] 。 end。 第二章 進程及作業(yè)管理 管程 ringbuffer包含兩個局部過程:過程 put負責執(zhí)行將數(shù)據(jù)寫入某個緩沖塊的操作;過程 get負責執(zhí)行從某個緩沖塊讀取數(shù)據(jù)的操作。 (2)消息緩沖塊 buffblock 這是一個記錄結(jié)構(gòu),包含下列 sender: size: text: next: 第二章 進程及作業(yè)管理 (5)emphead 空緩隊列首指針,緩沖池中所有空閑緩沖 (6)emptail (7)mq 進程的消息隊列首指針,設置在 PCB (8)mmutex 進程的消息隊列互斥信號量,初值為 1,設置在 PCB中。 if i=NIL then return(false)。 emphead。 buffpool[ k] .size:=。 insert(,k)。 end。在讀 pipe時,若發(fā)現(xiàn)無信息可讀,則在進入等待態(tài)之前先檢查 pipe的寫入端是否已關閉,若已關閉,則不必等待。 pipe通訊機構(gòu)中的同步與互斥都由系統(tǒng)自動進行,對用戶是透明的。例如,執(zhí)行編輯程序建立和修改用戶源程序,執(zhí)行編譯程序編譯源程序,執(zhí)行用戶目標程序等等,程序是作業(yè)的執(zhí)行文本。用戶對作業(yè)工作流程的控制意圖以及作業(yè)的資源需求,需要用戶使用操作系統(tǒng)提供的控制命令(作業(yè)控制語言 JCL或終端命令 )向系統(tǒng)說明。 聯(lián)機作業(yè)包括終端作業(yè)及前臺作業(yè),即在分時環(huán)境或交互環(huán)境下運行的作業(yè)和以前 作業(yè) =控制命令序列 +程序集 +數(shù)據(jù)集 第二章 進程及作業(yè)管理 圖 29 作業(yè)的生命歷程 第二章 進程及作業(yè)管理 作業(yè)的建立 JCB是記錄型數(shù)據(jù)結(jié)構(gòu),一般包含下列內(nèi)容: .作業(yè)的估計運行時間 .其它 7 作業(yè)控制 第二章 進程及作業(yè)管理 作業(yè)的運行 一個后備作業(yè)只有被作業(yè)調(diào)度程序選中后才能進入主機運行 , 即處于運行狀態(tài) , 作業(yè)調(diào)度程序為作業(yè)建立相應的作業(yè)進程 。 (4)回收 JCB,最終注銷
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1