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

正文內(nèi)容

操作系統(tǒng)第五至第七節(jié)復習題-資料下載頁

2025-06-07 19:07本頁面
  

【正文】 1.什么是并發(fā)進程? 答:并發(fā)性是指兩個或者多個事件在同一時間間隔內(nèi)發(fā)生。 由于操作系統(tǒng)具有并發(fā)與共享等特性,系統(tǒng)中某一個進程的工作沒有全部完成之前,某一個進程就可以占用CPU,開始工作.通常將這些可同時工作的進程稱為“并發(fā)進程”。 并發(fā)進程的執(zhí)行具有異步性、競爭性、相互制約性和與速度有關(guān)等特性。 2.什么是與時間有關(guān)的錯誤?試舉例說明。 答:如航空定票系統(tǒng)。 假定Bi:某班機的當前訂票數(shù) Pl:售票處l的售票進程 P2:售票處2的售票進程 Rl:Pl進程執(zhí)行時所用工作寄存器 R2:P2進程執(zhí)行時所用工作寄存器 進程Pl與進程P2并發(fā)執(zhí)行,各自訪問總部數(shù)據(jù)庫的時間隨機,故可能有如下執(zhí)行情況出現(xiàn):Pl: Rl:= Bi Rl:= R1+l P2:R2:= Bi R2:= R2+l Bi:= R2 P1:Bi:=R1 若Bi的當前值為x,則依以上序列執(zhí)行之后,Bi=x+l,而非Bi=x+2。也就是說,并沒有反映售票處l和售票處2真實的訂票情況:某班機的當前訂票數(shù)應(yīng)增加2。 3.結(jié)合本書相關(guān)內(nèi)容,從略。4.什么是臨界區(qū)?臨界區(qū)的管理應(yīng)遵守哪些規(guī)則?答:某段時間內(nèi)只允許一個進程使用的資源稱為臨界資源。進程中涉及臨界資源的那一部分操作,稱為關(guān)于該臨界資源的臨界區(qū)。 為了保證各進程間互斥地執(zhí)行臨界區(qū),應(yīng)遵循的準則有:有空讓進、無空等待、多中擇一、有限等待和讓權(quán)等待。 5.如何實現(xiàn)合作進程的同步? 答:同步的實現(xiàn),設(shè)置同步信號量event,初值為0,等待事件的進程執(zhí)行P(event)操作;完成事件的進程執(zhí)行V(event)操作,以實現(xiàn)合作進程的同步。 6.生產(chǎn)者消費者關(guān)系是怎樣的?只限一個緩沖區(qū),一個生產(chǎn)者,一個消費者的情形。 答:生產(chǎn)者:讀入記錄并存入緩沖器。消費者:從緩沖器取出記錄并加工。用PV操作來解決生產(chǎn)者與消費者問題,可以防止生產(chǎn)者把物品放入已經(jīng)裝有物品的緩沖器中,也可以防止消費者在物品存入緩沖器之前去取物品。 7.描述讀者與寫者的關(guān)系。 答:一個數(shù)據(jù)對象可以被多個并并發(fā)進程共享,這些進程中一些只想讀共享對象的內(nèi)容,而其它一些可能想”更新”共享對象,于是把只想讀的進程稱之”讀者”,其它稱之為“寫者”。 任一寫者必須與其他寫者或讀者互斥訪問可共享對象。 8.試述管程的概念。 答:管程是一種較高級的同步機,引入管程概念,將共享資源用可共享的數(shù)據(jù)結(jié)構(gòu)和對共享資源進行操作的一組過程來表示和控制,.從而用管程建立并實現(xiàn)了支持并發(fā)執(zhí)行的資源管理程序。 典型的管程包括3個主要部分: (1) 局部于該管程的共享數(shù)據(jù)。 (2) 局部于該管程的若干過程。 (3) 對局部于該管程的數(shù)據(jù)結(jié)構(gòu)設(shè)置初始值的語句.四、應(yīng)用題 1.解:設(shè)置兩個同步信號量,一個說明空緩沖單元的數(shù)目,用empty表示.其初值為有界緩沖區(qū)的大小n,另一個說明滿緩沖單元的數(shù)目,用full表示,其初值為0. 有Pl、P2…、Pm個生產(chǎn)者和C1,C2,….,Ck個消費者,它們在執(zhí)行生產(chǎn)活動和消費活動中要對有界緩沖區(qū)進行操作。由于有界緩沖區(qū)是一個臨界資源,必須互斥使用,所以另外還需設(shè)置一個互斥信號量mutex,其初值為1. C語言描述如下: int full=0; /* 滿緩沖單元的數(shù)目*/ int empty=n; /* 空緩沖單元的數(shù)目*/ int mutex=l; /* 對有界緩沖區(qū)進行操作的互斥信號量 */ main (){ cobeginproduceri()。 /* I=1,2,…,m。 j=1,2,…,k */ consumerj()。 coend }produceri() /* I=1,2,…,m。 */{ while (生產(chǎn)末完成){ : 生產(chǎn)一個產(chǎn)品;P (empty);P(mutex);送一個產(chǎn)品到有界緩沖區(qū)。 V(mutex)。 V(full)。}}consumerj() /* j=1,2,...,k */{ while (還要繼續(xù)消費){ P(full); P(mutex); 從有界緩沖區(qū)中取產(chǎn)品; V(mutex)。 V(empty)。 : 消費一個產(chǎn)品。 }}:用管程實現(xiàn)生產(chǎn)者與消費者關(guān)系問題(假定緩沖區(qū)個數(shù)為n).monitor ProducerConsumer full,empty:condition。 條件變量 count:integer。 緩沖區(qū)產(chǎn)品個數(shù) procedure enter。 begin if count=n then wait(empty)。 檢測緩沖區(qū)滿否,可否放入產(chǎn)品 put a product。 放入產(chǎn)品 count:=count+1。 緩沖區(qū)產(chǎn)品加1 if count=1 then signal (full) 通知已放入產(chǎn)品 end。 procedure remove。 取產(chǎn)品過程 begin if count=0 then wait(full)。 檢測緩沖區(qū)空否,有否產(chǎn)品可取 get a product。 取產(chǎn)品過程 count:=count1。 緩沖區(qū)產(chǎn)品數(shù)量減少1 if count=n1 then signal (empty) 通知緩沖區(qū)產(chǎn)品已取走 end。 count:=0。 緩沖區(qū)產(chǎn)品數(shù)初值為0end monitor。 管線結(jié)束procedure producer。 生產(chǎn)者進程begin while true do begin produce next product。 生產(chǎn)產(chǎn)品 進入管程以便放入產(chǎn)品 Endend。procedure consumer。 消費者進程begin while true do 。 進入管程以便取走產(chǎn)品 Consume a product 消費產(chǎn)品 endend。正確的程序如下: procedure producer。 begin repeat produce an item in nextp。 wait(full)。 wait(mutex)。 Buffer(in):=nexp。 signal(mutex)。 until false endProcedure consumer。begin Repeat wait(empty)。 wait(mutex)。 nextc:=buffer(out)。 out := out +1。 signal(mutex)。 consume item in nextc。 until falsebnd
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1