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

正文內(nèi)容

湯 第02章 進程管理-全文預(yù)覽

2025-02-12 00:07 上一頁面

下一頁面
  

【正文】 consume the item in nextc。 //計數(shù) }consumer: while(true){ … while (counter==0)( 空) do noop。 … while (counter==n)( 滿) do noop。為了預(yù)防這種錯誤,關(guān)鍵是把變量 counter作為臨界資源處理,就是令生產(chǎn)者進程和消費者進程互斥地訪問變量 counter。=4)(counter(register2=5)register2。 counter=register2。o 問題就在于這 2個進程共享變量 counter,生產(chǎn)者對它做加 1操作,消費者對它做減 1操作,這 2個操作在用類 機器語言 實現(xiàn)時,描述形式為:register1=counter。noop語句表示重復(fù)的測試條件(condition) ,重復(fù)測試應(yīng)進行到該條件變?yōu)?false,即到該條件不成立時為止。? Noop是一條空操作指令。 //nextc 存放每次要消費的產(chǎn)品 out=(out+1)% n。 in=(in+1) % n。counter。buffer[n]。typedef 初值 =0167。(in+1)%n167。v輸入指針 in:指示下一個可投放產(chǎn)品的緩沖區(qū),每當(dāng)生產(chǎn)者進程生產(chǎn)并投放一個產(chǎn)品后,輸入指針加 1。216。103v許多硬件資源(打印機、磁帶機等)都屬于臨界資源( Critical( 1)若干同學(xué)去圖書館借書是間接制約,其中書是臨界資源。– 當(dāng)單緩沖 空 時,計算進程 B因不能獲得所需數(shù)據(jù)而阻塞。( 1)間接相互制約關(guān)系( 2)直接相互制約關(guān)系100( 1)間接相互制約關(guān)系? 同處于一個系統(tǒng)中的進程,通常都共享著某種系統(tǒng)資源,如共享 CPU、共享 I/O設(shè)備等。 96 進程同步? 在 OS中引入進程后,雖然提高了資源利用率和系統(tǒng)吞吐量,但由于進程的 異步性( P38),也會給系統(tǒng)造成混亂,尤其是在它們爭用 臨界資源 時。? 一個進程可以執(zhí)行一個或幾個程序,一個程序也可以構(gòu)成多個進程。進程的運行實體是程序,離開程序的進程沒有存在的意義。這時,系統(tǒng)將利用 Active()原語將指定進程激活。為了方便用戶或父進程考查該進程的運行情況而 把該進程的 PCB復(fù)制到某指定的內(nèi)存區(qū)域 。921.? 最后,轉(zhuǎn)調(diào)度程序進行重新調(diào)度,將處理機分配給另一就緒進程并進行切換,亦即,保留被阻塞進程的處理機狀態(tài),再按 新進程的 PCB中的處理機狀態(tài) 設(shè)置 CPU環(huán)境 。902. 進程阻塞過程? 正在執(zhí)行的進程,當(dāng)發(fā)現(xiàn)上述某事件時,由于無法繼續(xù)執(zhí)行,于是進程便通過調(diào)用 阻塞原語 Block()把自己阻塞。? 例如,有兩個進程,進程 A用于輸入數(shù)據(jù),進程 B對輸入數(shù)據(jù)進行加工。872)啟動某種操作? 當(dāng)進程啟動某種操作后,如果該進程必須在該操作完成之后才能繼續(xù)執(zhí)行,則必須先使該進程阻塞,以等待該操作完成。引起進程阻塞和喚醒的事件2.832. 進程的終止過程( 3)若該進程還有子孫進程,還應(yīng)將其所有子進程予以終止,以防它們成為不可控的進程。當(dāng)父進程終止時, OS也將它的所有子孫進程終止。由于某種原因,例如,發(fā)生了死鎖,由操作員或 OS終止該進程。– I/O故障。– 等待超時。– 特權(quán)指令錯。– 非法指令。– 越界錯誤。當(dāng)程序運行到 Holt指令時,將產(chǎn)生一個 中斷 ,去 通知OS本進程已經(jīng)完成。76 進程的終止1.若是應(yīng)用進程創(chuàng)建子進程,也應(yīng)是在該進程提出創(chuàng)建進程的請求中給出所需內(nèi)存的大小。( 1)申請空白 PCB( 2)為新進程分配資源( 3)初始化 PCB( 4)將新進程插入就緒隊列72( 1)申請空白 PCB? 為新進程申請獲得惟一的數(shù)字標識符,并從 PCB集合中索取一個空白PCB。702. 引起創(chuàng)建進程的事件( 4)應(yīng)用請求(由應(yīng)用進程自己創(chuàng)建)– 前面三種情況都是由系統(tǒng)內(nèi)核為它創(chuàng)建一個新進程;此處則是基于應(yīng)用進程的需求,由它自己創(chuàng)建 一個 新進程,以便使新進程以并發(fā)運行方式完成特定任務(wù)。682. 引起創(chuàng)建進程的事件( 1)用戶登錄(由系統(tǒng)內(nèi)核創(chuàng)建新進程)– 在 分時系統(tǒng) 中,用戶在終端鍵入登錄命令后,如果是合法用戶,系統(tǒng)將為該終端建立一個進程,并將它插入就緒隊列中。引起創(chuàng)建進程的事件3.進程的創(chuàng)建它是一個不可分割的基本單位,因此在執(zhí)行過程中不允許被中斷。62 進程控制? 原語( Primitive):由若干條指令組成,完成一定功能的一個過程。6PCB2PCB7 9PCB3 0PCB– 根據(jù)阻塞原因把處于阻塞狀態(tài)的進程的PCB排成等待 I/O操作完成的隊列和等待分配內(nèi)存的隊列等。56進程控制信息? 程序和數(shù)據(jù)的地址:指進程的程序和數(shù)據(jù)所在的內(nèi)存或外存地(首)址,以便再調(diào)度到該進程執(zhí)行時,能從 PCB中找到程序和數(shù)據(jù);? 進程同步和通信機制:指實現(xiàn)進程同步和進程通信時必需的機制,如 消息隊列指針 ( P19)、信號量等,它們可能全部或部分地放在 PCB中;? 資源清單:是一張列出了除 CPU以外的、進程所需的全部資源及已經(jīng)分配到該進程的資源的清單;? 鏈接指針:給出了本進程( PCB)所在隊列中的下一個進程的 PCB的首地址。處理機在運行時,許多信息都放在寄存器中。– 外部標識符:創(chuàng)建者提供,通常由字母、數(shù)字組成,往往是由用戶(進程)在訪問該進程時使用。– Windows用執(zhí)行體進程塊 (EPROCESS)來表示進程對象的基本屬性。? PCB可以被 OS的多個模塊讀或修改,如被調(diào)度程序、資源分配程序、中斷處理程序以及監(jiān)督和分析程序等讀或修改。? PCB的作用:使一個在多道程序環(huán)境下不能獨立運行的程序(含數(shù)據(jù)),成為一個能獨立運行的基本單位,一個能與其他進程并發(fā)執(zhí)行的進程。3. 創(chuàng)建 ?靜止就緒:考慮到系統(tǒng)當(dāng)前資源狀況和性能要求,并不分配給新建進程所需資源,主要是主存資源,相應(yīng)的系統(tǒng)進程將進程狀態(tài)轉(zhuǎn)為靜止就緒狀態(tài),對換到外存,不再參與調(diào)度,此時進程創(chuàng)建工作尚未完成。41? 當(dāng)進程已經(jīng)正常結(jié)束或異常結(jié)束, OS已將它從就緒隊列中移出,但尚未將它撤消時的狀態(tài)。39創(chuàng)建( New)狀態(tài)? 創(chuàng)建進程的步驟– 為新進程創(chuàng)建 PCB,并填寫必要的管理信息– 把該進程轉(zhuǎn)入就緒狀態(tài)并插入就緒隊列? 當(dāng)一個新進程被創(chuàng)建時,系統(tǒng)已為其分配了 PCB,填寫了進程標識等信息,但由于該進程所必需的資源或其他信息,如主存資源尚未分配等,即創(chuàng)建工作尚未完成,進程還不能被調(diào)度運行,其所處的狀態(tài)就是 創(chuàng)建狀態(tài) 。處于該狀態(tài)的進程在其所期待的事件出現(xiàn)后,將從靜止阻塞變?yōu)殪o止就緒。342)進程狀態(tài)的轉(zhuǎn)換( 1)活動就緒 → 靜止就緒–活動就緒狀態(tài) Readya:當(dāng)進程處于未被掛起的就緒狀態(tài)時。( 2)父進程請求:父進程希望掛起自己的某個子進程,以便考查和修改該子進程,或者協(xié)調(diào)各子進程間的活動。使正在執(zhí)行的進程暫停執(zhí)行;若此時用戶進程正處于就緒狀態(tài)而未執(zhí)行,則該進程暫不接受調(diào)度,以便用戶研究其執(zhí)行情況或?qū)Τ绦蜻M行修改。?狀態(tài)轉(zhuǎn)換 3可能立即引發(fā)狀態(tài)轉(zhuǎn)換 1:狀態(tài)轉(zhuǎn)換 3發(fā)生后,若就緒隊列非空,則進程調(diào)度程序?qū)⑦x出一個就緒進程投入執(zhí)行。( 1)說明引起各種狀態(tài)轉(zhuǎn)換的典型事件。此外,在可剝奪的 OS中,當(dāng)有更高優(yōu)先級的進程就緒時,調(diào)度程序?qū)⒄龍?zhí)行的進程轉(zhuǎn)換為就緒狀態(tài),讓更高優(yōu)先級的進程執(zhí)行。21注意區(qū)分就緒狀態(tài)和等待狀態(tài)? 就緒狀態(tài)是指進程僅缺少 CPU,只要獲得 CPU就立即執(zhí)行;等待狀態(tài)是指進程 需要其他資源 或 等待某一事件 。? 進程正在等待某一事件而暫停運行,如等待某資源為可用(不包括 CPU)或等待 I/O完成。p 在單處理機環(huán)境下,每一時刻最多只有一個進程處于運行狀態(tài)。5)異步性– 進程各自獨立的、不可預(yù)知的速度向前推進,或說進程實體按異步方式運行。– 并發(fā)性是進程的重要特征,同時也成為 OS的重要特征。Block);而由程序段、相關(guān)的數(shù)據(jù)段和 PCB三部分便構(gòu)成了進程實體。創(chuàng)建狀態(tài)和終止狀態(tài)121. 進程的特征和定義1)結(jié)構(gòu)特征(程序段、數(shù)據(jù)段、 PCB)– 程序不能并發(fā)執(zhí)行。1) N++在 printf(N)和 N=0之前,此時得到的 N值分別為 n+1,n+1,02) N++在 printf(N)和 N=0之后,此時得到的 N值分別為 n, 0 , 13) N++在 printf(N)和 N=0之間,此時得到的 N值分別為 n,n+1,0– 結(jié)論:失去了可再現(xiàn)性11 進程的特征與狀態(tài)1.– 這樣,某程序在執(zhí)行時,必然會受到其他程序的影響。b=y+4S3:??PiIi P={P1,P2,P3,P4,P5,P6,P7,P8,P9}167。Pi的 直接后繼v初始結(jié)點 Initial是 ?PjbeforePiRelation) ”?”v?={(Pi,Acyclic4 進程的基本概念蘇州大學(xué)計算機科學(xué)與技術(shù)學(xué)院徐云龍第二章 進程管理1 進程的基本概念? 封閉性– 程序是在封閉的環(huán)境下執(zhí)行的,即程序運行時 獨占 全機 資源– 資源的狀態(tài)(除初始狀態(tài)外)只有本程序才能改變它– 程序一旦開始執(zhí)行,其執(zhí)行結(jié)果不受外界因素影響? 可再現(xiàn)性– 只要程序執(zhí)行時的環(huán)境和初始條件相同,當(dāng)程序多次重復(fù)執(zhí)行時,不論它是從頭到尾不停頓地執(zhí)行,還是 “停停走走 ”地執(zhí)行,都將獲得相同的結(jié)果 。(DirectedOrder)或前趨關(guān)系(Precedence|pletestart},如果 (Pi,?,可寫成 Pi稱 PiPj是 P1?P2,P1?P3,P1?P4,P2?P5,P3?P5,P4?P6,P4?P7, P5?P8, P6?P8,P7?P9,P8?P9v 或表示為:167。程序并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行程序并發(fā)執(zhí)行時的前趨圖P1 P2 P3 P4I1 I2 I3 I4C1 C2 C3 C4前趨關(guān)系: Ii?Ci,CiPia=x+2S2:– 執(zhí)行 —— 暫停 —— 執(zhí)行? 失去封閉性– 程序在并發(fā)執(zhí)行時,是多個程序共享系統(tǒng)中的各種資源(如下例中的變量 N),因而這些資源的狀態(tài)將由多個程序來改變,致使程序的運行失去了封閉性。這樣,可能出現(xiàn)下述三種情況(假定某時刻變量 N的值為 n)。掛起狀態(tài)4.Control14 進程的特征與狀態(tài)3)并發(fā)性– 多個進程實體同存于內(nèi)存中,且能在一段時間內(nèi)同時運行。凡未建立 PCB的程序都不能作為一個獨立的單位參與運行。p 進程正在 CPU上運行。20阻塞( Blocked)狀態(tài)? 又稱等待狀態(tài)、封鎖狀態(tài)。? 根據(jù)阻塞原因,把處于阻塞狀態(tài)的進程排成多個隊列 。? 運行狀態(tài) ?就緒狀態(tài)(時間片完)– 正在執(zhí)行的進程也稱為當(dāng)前進程,如果因分配給它的時間片已完而暫停執(zhí)行時,該進程便由執(zhí)行狀態(tài)又回復(fù)到就緒狀態(tài)。25Ready Queue And Various I/O Device Queues就緒隊列和各種 I/O設(shè)備隊列26進程調(diào)度的隊列圖分派124327補充實例根據(jù)以下 某系統(tǒng)的進程狀態(tài)轉(zhuǎn)換圖。?狀態(tài)轉(zhuǎn)換 2必然立即引發(fā)狀態(tài)轉(zhuǎn)換 1:狀態(tài)轉(zhuǎn)換 2發(fā)生后,進程調(diào)度程序必然要選出一個新的就緒進程投入運行,該新進程可能是其他進程,也可能是剛從執(zhí)行狀態(tài)轉(zhuǎn)換成就緒狀態(tài)的那個進程。303. 掛起狀態(tài)– 若此時用戶進程正處于就緒狀態(tài)而未執(zhí)行,則該進程暫不接受調(diào)度,以便用戶研究其執(zhí)行情況或?qū)Τ绦蜻M行修改。331)引入掛起狀態(tài)的原因p在引入掛起狀態(tài)后,又將增加從掛起狀態(tài)(靜止狀態(tài))到非掛起狀態(tài)(活動狀態(tài))的轉(zhuǎn)換;或者相反。–靜止阻塞狀態(tài) Blockeds:當(dāng)用Suspend原語將處于活動阻塞狀態(tài)的進程掛起后,進程便轉(zhuǎn)換為靜止阻塞狀態(tài)。372)進程狀態(tài)的轉(zhuǎn)換活動阻塞靜止阻塞靜止就緒執(zhí)行活動就緒掛起請求I/O 激活掛起釋放激活釋放掛起調(diào) 度具有掛起狀態(tài)的進程狀態(tài)圖384. 創(chuàng)建狀態(tài)和終止狀態(tài)創(chuàng)建狀態(tài)終止狀態(tài)u 對一個進程來說,它處于創(chuàng)建狀態(tài)和終止狀態(tài)都只有一次。? 對于處于創(chuàng)建狀態(tài)的進程,獲得了其所必需的資源,以及對其 PCB初始化工作完成后,進程狀態(tài)便可由創(chuàng)建狀態(tài)轉(zhuǎn)入就緒狀態(tài)。43終止( terminated)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1