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

正文內(nèi)容

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

  

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