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

正文內(nèi)容

第二章進(jìn)程及作業(yè)管理-免費(fèi)閱讀

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

下一頁面
  

【正文】 (4)回收 JCB,最終注銷該作業(yè)。用戶對作業(yè)工作流程的控制意圖以及作業(yè)的資源需求,需要用戶使用操作系統(tǒng)提供的控制命令(作業(yè)控制語言 JCL或終端命令 )向系統(tǒng)說明。 pipe通訊機(jī)構(gòu)中的同步與互斥都由系統(tǒng)自動進(jìn)行,對用戶是透明的。 end。 buffpool[ k] .size:=。 if i=NIL then return(false)。 第二章 進(jìn)程及作業(yè)管理 管程 ringbuffer包含兩個局部過程:過程 put負(fù)責(zé)執(zhí)行將數(shù)據(jù)寫入某個緩沖塊的操作;過程 get負(fù)責(zé)執(zhí)行從某個緩沖塊讀取數(shù)據(jù)的操作。 goods:=rbuffer[ nextfull] 。 begin if k=n wait(empty)。例如,并發(fā) PASCAL編譯程序在編譯源程序時,對每一個形如: ,都將自動保證其按如下方式執(zhí)行: P(mutex)。為此,應(yīng)把分散的各同類臨界區(qū)集中起來。 end。 readcount:=0。 coend end 第二章 進(jìn)程及作業(yè)管理 4.讀者與寫者關(guān)系 設(shè)某航空公司有 2個售票處,它們通過遠(yuǎn)程終端訪問設(shè)在公司總部的航空訂票系統(tǒng),并要查詢或修改系統(tǒng)中記錄所有班機(jī)當(dāng)前訂票數(shù)的數(shù)據(jù)庫 B。 V(empty)。 i:=(i+1)mod n。 var mutex, empty, full: psem。 begin seminitial(,l)。對于每個想使用 R的進(jìn)程,只需把它們的臨界區(qū) CS置于 P(mutex)和 V(mutex)之間,即可實(shí)現(xiàn)互斥。 begin :=+1 if ≤0 then wakeup() end 第二章 進(jìn)程及作業(yè)管理 根據(jù)上述定義, P、 V操作的物理意義可這樣來看待。采取這種方式需要對原信號量定義進(jìn)一步擴(kuò)充,把信號量由整型量擴(kuò)充成為記錄形式: type psem=semaphore semaphore=record value: integer。而在多機(jī)系統(tǒng)中,為減少進(jìn)程狀態(tài)變換而引起的開銷,可采取忙等待方式。信號量是個被保護(hù)的量,只有 P、 V操作和信號量初始化操作才能訪問和改變它的值, Dijkstra把信號量 s定義為一個非負(fù)整型量。于是用 TS指令實(shí)現(xiàn)互斥的進(jìn)程的程序結(jié)構(gòu)為: 第二章 進(jìn)程及作業(yè)管理 var key: blooean。 TS指令的功能可用 PASCAL語言描述如下: 第二章 進(jìn)程及作業(yè)管理 procedure TS(vara,b:boolean)。也就是說,共享臨界資源的進(jìn)程必須互相排斥。 end。 insert(q,EXE)。 return(true)。 if add=NIL then begin 第二章 進(jìn)程及作業(yè)管理 memallocate(size,add)。 第二章 進(jìn)程及作業(yè)管理 其中, 調(diào)用了換出過程 swapout將數(shù)據(jù)集復(fù)制到外存交換區(qū)并返回相應(yīng)的地址。它們可描述如下: procedure suspend(i)。 memrelease(,)。 scheduler。 第二章 進(jìn)程及作業(yè)管理 一個進(jìn)程一旦被建立便處于就緒狀態(tài),隨時等候被進(jìn)程 一個進(jìn)程在正常運(yùn)行結(jié)束后,一般應(yīng)主動終止而進(jìn)入停止?fàn)顟B(tài),同時向父進(jìn)程發(fā)一“完成”消息,等待父進(jìn)程撤銷它,這通過調(diào)用“停止”原語實(shí)現(xiàn)。過程 datasetinit初始化數(shù)據(jù)區(qū),并裝入?yún)?shù)表 args。 : =RQ。 :=size。 if add=NIL then begin memallocate(size,add)。 memallocate(datasetsize,add)。 3 進(jìn) 程 控 制 建立、停止及撤銷 一個進(jìn)程可借助于“建立”原語創(chuàng)建一個新進(jìn)程,前者為后者的父進(jìn)程,后者為前者的子進(jìn)程。非進(jìn)程模塊是不以進(jìn)程形式獨(dú)立運(yùn)行的程序,每個這樣的程序?qū)崿F(xiàn)系統(tǒng)管理功能的某種相對獨(dú)立的基本操作,在教科書中通常稱這類模塊為“原語” (Primitive) 原語是機(jī)器指令的延伸,一條原語由若干機(jī)器指令所組成,有時也稱之為“軟指令”。由于程序 A和 B都是異步執(zhí)行,它們的語句在時間上可能是穿插或交叉執(zhí)行的,故程序 A的 n:= n+ 1操作既可能在程序 B的print(n)和 n:= 0操作之前或之后執(zhí)行,也可能在它們之間執(zhí)行(即 n:= n+ 1出現(xiàn)在 print(n)之后,而在 n:= 0之前 )。 3 進(jìn)程控制 167。 4 167。于是,程序的運(yùn)行可能產(chǎn)生三組不同的執(zhí)行軌跡和結(jié)果 (設(shè)在開始某個循環(huán)之前 n= v): 第二章 進(jìn)程及作業(yè)管理 進(jìn)程定義 (1) 進(jìn)程是一種動態(tài)概念。 第二章 進(jìn)程及作業(yè)管理 所有的原語組成了操作系統(tǒng)的一個核心,稱之為內(nèi)核(Kernel)。建立新進(jìn)程的工作通常包括:從 PCB集合中獲取一個空閑 PCB;對該 PCB進(jìn)行初始化;為新進(jìn)程的數(shù)據(jù)集分配內(nèi)存空間并初始化;為新進(jìn)程的程序文本分配內(nèi)存空間并裝入該程序;將新進(jìn)程的 PCB插入就緒隊列。 if add=NIL then begin pcbrelease(i) return(NIL)。 if add=NIL then begin memrelease(,)。 :=fn。 insert(RQ,i)。過程 filestate檢查指定文件的存貯狀態(tài),若該文件駐在內(nèi)存,則返回其內(nèi)存區(qū)地址 add及長度 size,同時將該文件的共享計數(shù)加 1,這表明新進(jìn)程將與其它進(jìn)程共享一個純代碼程序;否則打開該文件,返回文件長度 size,add=NIL。停止原語 halt的大致描述如下: procedure halt。 end。 close(,t)。 begin :=if = ′ready ′then ′readys ′ else ′waiteds ′。進(jìn)程實(shí)體中的執(zhí)行程序并未被復(fù)制到交換區(qū),因?yàn)閳?zhí)行程序文件尚在外存并未被撤銷,但仍要回收它所占用的內(nèi)存空間 (若它未被其它進(jìn)程共享 ),這樣做的好處是減少了交換時間。 if add=NIL then begin memrelease(,)。 end。 EXE:=NIL。 第二章 進(jìn)程及作業(yè)管理 167。 第二章 進(jìn)程及作業(yè)管理 許多物理設(shè)備都屬于臨界資源,如輸入機(jī)、打印機(jī)、磁帶機(jī)等。 var temp:boolean。 begin … key:=true。把信號量 s上的 P操作 P(s)定義為:若 s0,則 s值減 1,否則執(zhí)行進(jìn)程等待,直到其他進(jìn)程對 s進(jìn)行 V操作。另外,在具體實(shí)現(xiàn)時通常要對 Dijkstra的原定義進(jìn)行改進(jìn)。 qucue: pointer to WQ。0表示某類資源的當(dāng)前可用數(shù)。下面給出這種模型的大致描述: 第二章 進(jìn)程及作業(yè)管理 var mutex: psem。 cobegin process 1。 i,j: integer。 V(mutex)。 consume product end end。設(shè)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1