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

正文內(nèi)容

湯第02章進(jìn)程管理-wenkub

2023-02-06 00:07:40 本頁面
 

【正文】 或 等待某一事件發(fā)生(如 IO操作的完成) 時(shí),它就從運(yùn)行狀態(tài)轉(zhuǎn)換為阻塞狀態(tài)。? 之所以把 CPU和其他資源分開來,是因?yàn)樵诜謺r(shí)系統(tǒng)的時(shí)間片輪轉(zhuǎn)機(jī)制中,每個(gè)進(jìn)程分到的時(shí)間片是若干 ms,進(jìn)程得到 CPU的時(shí)間很短且非常頻繁,進(jìn)程在運(yùn)行過程中實(shí)際上是頻繁地轉(zhuǎn)換到就緒狀態(tài)的;而其他資源(如外設(shè))的使用和分配或者某一事件的發(fā)生(如 IO操作的完成)對應(yīng)的時(shí)間相對很長,進(jìn)程轉(zhuǎn)換到等待狀態(tài)的次數(shù)也相對較少。即使CPU空閑,該進(jìn)程也不能運(yùn)行。19就緒( Ready)狀態(tài) p 進(jìn)程獲得了除 CPU以外的一切所需資源p 就緒隊(duì)列:在一個(gè)系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個(gè),通常將它們排成一個(gè)隊(duì)列,稱為就緒隊(duì)列。16進(jìn)程的定義? 進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程? 是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位172. 進(jìn)程的狀態(tài)與轉(zhuǎn)換p 進(jìn)程執(zhí)行時(shí)的間斷性,決定了進(jìn)程可能具有多種狀態(tài)。– 引入進(jìn)程的目的也是為了使進(jìn)程實(shí)體能和其他進(jìn)程實(shí)體并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。– 進(jìn)程 =進(jìn)程實(shí)體– 創(chuàng)建進(jìn)程 =創(chuàng)建進(jìn)程實(shí)體中的 PCB– 撤消進(jìn)程 =撤消進(jìn)程實(shí)體中的 PCB13 進(jìn)程的特征與狀態(tài)2)動態(tài)性– 進(jìn)程的實(shí)質(zhì)是進(jìn)程實(shí)體的一次執(zhí)行過程,因此,動態(tài)性是進(jìn)程的最基本的特征。– 為使程序(含數(shù)據(jù))能獨(dú)立運(yùn)行,應(yīng)為之配置一進(jìn)程控制塊,即 PCB(進(jìn)程的特征和定義2.? 不可再現(xiàn)性– 程序經(jīng)過多次執(zhí)行后,雖然其執(zhí)行時(shí)的環(huán)境和初始條件都相同,但得到的結(jié)果卻各不相同10不可再現(xiàn)性的例子? 有兩個(gè)循環(huán)程序 A和 B,它們共享一個(gè)變量 N。c=a+bS4:Pi+1而 Ii+1和 Ci及 Pi1是重迭的,亦即在 Pi1和 Ci以及 Ii+1之間,可以并發(fā)執(zhí)行。,? ?={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5), (P4,P6),(P4,P7),(P5,P8) (P6,P8),(P7,P9),(P8,P9) }P1P2P3P4P5P6P7不存在循環(huán)!P9P86圖 21 具有循環(huán)的圖? 前趨關(guān)系:167。Node:沒有前趨的結(jié)點(diǎn)v終止結(jié)點(diǎn) FinalPj的 直接 前趨 Pj)PjPjGraph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。前趨圖 Precedence程序的順序執(zhí)行及其特征程序的順序執(zhí)行程序順序執(zhí)行時(shí)的特征2程序的順序執(zhí)行? 一個(gè)較大的程序通常都由若干個(gè)程序段組成? 程序在執(zhí)行時(shí),必須按照某種先后次序逐個(gè)執(zhí)行,僅當(dāng)前一操作執(zhí)行完后,才能執(zhí)行后繼操作。I1 C1 P1 I2 C2 P2程序順序執(zhí)行時(shí)的前趨圖S1: a:=x+yS2: b:=a5S3: c:=b+1前趨關(guān)系: Ii?Ci?Pi3程序順序執(zhí)行時(shí)的特征? 順序性– 處理機(jī)的操作嚴(yán)格按照程序所規(guī)定的順序執(zhí)行,即每一操作必須在上一個(gè)操作結(jié)束之后開始。Graphv有向無循環(huán)圖 DAGv結(jié)點(diǎn) :語句 /程序段 /進(jìn)程v有向邊 :兩結(jié)點(diǎn)之間存在的偏序( Partial)mustmay∈ Node:沒有后繼的結(jié)點(diǎn)v Weight:結(jié)點(diǎn)所含的程序量或結(jié)點(diǎn)的執(zhí)行時(shí)間v上圖的前趨關(guān)系: Ii?Ci?Pi和 S1?S2?S35圖 21 具有 9個(gè)結(jié)點(diǎn)的前趨圖? 前趨關(guān)系:167。 S2?S3, S3?S2S1S2S37 進(jìn)程的基本概念I(lǐng)i+1,Ci?Ci+1, 8前趨圖和程序執(zhí)行例:程序段如下:S1:d=c+6S1S2S3 S49程序并發(fā)執(zhí)行時(shí)的特征? 間斷性– 程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行的程序之間,形成相互制約的關(guān)系。程序 A每執(zhí)行一次時(shí),都要做 N++操作;程序 B則每執(zhí)行一次時(shí),都要執(zhí)行 printf(N)操作,然后 N=0,程序 A和 B以不同的速度運(yùn)行。進(jìn)程的三種基本狀態(tài)3.Process– 進(jìn)程由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤消而消亡,進(jìn)程實(shí)體有一定的生命期,而程序則只是一組有序指令的集合,并存放在某種介質(zhì)上,其本身并不具有運(yùn)動的含義,因而是靜態(tài)的。15 進(jìn)程的特征與狀態(tài)4)獨(dú)立性– 進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位、獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位。? 運(yùn)行狀態(tài)? 就緒狀態(tài)? 阻塞狀態(tài)? 創(chuàng)建狀態(tài)? 結(jié)束狀態(tài)18運(yùn)行狀態(tài)( Running)p 也叫執(zhí)行狀態(tài)。p 就緒隊(duì)列可以有多個(gè)l 為交互性作業(yè)所建立的進(jìn)程,則排入 前臺就緒隊(duì)列 ;為批處理作業(yè)所建立的進(jìn)程排入 后臺就緒隊(duì)列l(wèi) 前臺采用時(shí)間片輪轉(zhuǎn)調(diào)度算法,以便用戶能與自己的交互型作業(yè)交互;后臺采用優(yōu)先權(quán)高者優(yōu)先調(diào)度算法或短作業(yè)優(yōu)先調(diào)度算法。? 致使進(jìn)程阻塞的典型事件– 請求 I/O– 申請緩沖空間等? 阻塞隊(duì)列:將處于阻塞狀態(tài)的進(jìn)程排成的隊(duì)列。22進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換進(jìn)程調(diào)度就緒運(yùn)行阻塞時(shí) 間片完I/O請求I/O完成23三種基本狀態(tài)之間的轉(zhuǎn)換? 就緒狀態(tài) ?運(yùn)行狀態(tài)(進(jìn)程調(diào)度)– 處于就緒狀態(tài)的進(jìn)程,在調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)之后,該進(jìn)程便可執(zhí)行,相應(yīng)地,它就由就緒狀態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)。? 阻塞狀態(tài) ?就緒狀態(tài)( I/O完成)– 當(dāng)進(jìn)程等待的事件到來時(shí),如 IO操作結(jié)束或中斷結(jié)束時(shí),中斷處理程序必須把相應(yīng)進(jìn)程的狀態(tài)由阻塞狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。2就緒執(zhí)行阻塞1 3428( 1) 引起狀態(tài)轉(zhuǎn)換的典型事件狀態(tài)轉(zhuǎn)換 引 起 狀態(tài) 轉(zhuǎn) 換的典型事件轉(zhuǎn)換 1 CPU調(diào)度轉(zhuǎn)換 2 執(zhí)行進(jìn)程的時(shí)間片用完,或被其他優(yōu)先權(quán)更高的進(jìn)程搶占 CPU轉(zhuǎn)換 3 等待某種事件(如 I/O的完成,或被他人占用的臨界資源變?yōu)榭捎脿?態(tài) )轉(zhuǎn)換 4 進(jìn)程所等待的事件發(fā)生(如 I/O完成,或所等待的臨界資源變?yōu)榭捎脿顟B(tài))29( 2)狀態(tài)轉(zhuǎn)換分析?狀態(tài)轉(zhuǎn)換 1不會立即引起其他狀態(tài)轉(zhuǎn)換。?另外,狀態(tài)轉(zhuǎn)換 4還可能同時(shí)引發(fā)狀態(tài)轉(zhuǎn)換 1和 2:若系統(tǒng)采用搶占調(diào)度方式,而新就緒的進(jìn)程具備搶占 CPU的條件(如其優(yōu)先權(quán)很高),則它可立即得到 CPU轉(zhuǎn)換成執(zhí)行狀態(tài),而原來正在執(zhí)行的進(jìn)程則轉(zhuǎn)換成就緒狀態(tài)。311)引入掛起狀態(tài)的原因( 1)終端用戶的請求:– 當(dāng)終端用戶在自己的程序運(yùn)行期間發(fā)現(xiàn)有可疑問題時(shí),希望暫時(shí)使自己的程序靜止下來,亦即,使正在執(zhí)行的進(jìn)程暫停執(zhí)行。( 4)操作系統(tǒng)的需要: OS有時(shí)希望掛起某些進(jìn)程,以便檢查運(yùn)行中的資源使用情況或進(jìn)行記賬。352)進(jìn)程狀態(tài)的轉(zhuǎn)換( 2)活動阻塞 → 靜止阻塞–活動阻塞狀態(tài) Blockeda:進(jìn)程處于未被掛起的阻塞狀態(tài)時(shí)。( 4) 靜止阻塞 → 活動阻塞–處于 Blockeds狀態(tài)的進(jìn)程,若用激活原語 Active激活后,進(jìn)程將轉(zhuǎn)變?yōu)?Blockeda狀態(tài)。– 增加了管理的靈活性, OS可以根據(jù)系統(tǒng)性能或主存容量的限制,推遲創(chuàng)建狀態(tài)進(jìn)程的提交。一旦其他進(jìn)程完成了對終止?fàn)顟B(tài)進(jìn)程的信息提取之后, OS將刪除該進(jìn)程。46 PCB進(jìn)程控制塊的作用進(jìn)程控制塊中的信息進(jìn)程控制塊的組織方式47 PCB的作用? 為了描述和控制進(jìn)程的運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu) ——PCB , PCB是進(jìn)程實(shí)體的一部分,是 OS中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。– 當(dāng) OS要調(diào)度某進(jìn)程執(zhí)行時(shí),要從該進(jìn)程的 PCB中查出其現(xiàn)行狀態(tài)及優(yōu)先級;– 在調(diào)度到某進(jìn)程后,要根據(jù)其 PCB中所保存的處理機(jī)狀態(tài)信息,設(shè)置該進(jìn)程恢復(fù)運(yùn)行的現(xiàn)場,并根據(jù)其PCB中的程序和數(shù)據(jù)的內(nèi)存始址,找到其程序和數(shù)據(jù);– 進(jìn)程在執(zhí)行過程中,當(dāng)需要和與之合作的進(jìn)程實(shí)現(xiàn)同步、通信或訪問文件時(shí),也都需要訪問 PCB;– 當(dāng)進(jìn)程由于某種原因而暫停執(zhí)行時(shí),又須將其斷點(diǎn)的處理機(jī)環(huán)境保存在 PCB中。50PCB常駐內(nèi)存? 系統(tǒng)將所有的 PCB組織成若干鏈表(或隊(duì)列),存放在 OS中專門開辟的 PCB區(qū)內(nèi)。? 一個(gè)進(jìn)程通常有兩種標(biāo)識符:– 內(nèi)部標(biāo)識符: OS中為每個(gè)進(jìn)程賦予惟一的數(shù)字標(biāo)識符,它通常是一個(gè)進(jìn)程的序號。此外,還可設(shè)置用戶標(biāo)識,以指示擁有該進(jìn)程的用戶。54處理機(jī)狀態(tài)? 這些寄存器包括:– 通用寄存器(用戶可視寄存器):是用戶程序可以訪問的,用于暫存信息,在大多數(shù)處理機(jī)中,有 8~32個(gè)寄存器,在 RISC結(jié)構(gòu)的計(jì)算機(jī)中可超過 100個(gè);– 指令計(jì)數(shù)器 PC:下一條指令的地址;– 程序狀態(tài)字 PSW:含有狀態(tài)信息,如條件碼、執(zhí)行方式、中斷屏蔽標(biāo)志等;– 用戶棧指針:指每個(gè)用戶進(jìn)程都有一個(gè)或若干個(gè)與之相關(guān)的系統(tǒng)棧,用于存放過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址,棧指針指向該棧的棧頂。這樣,可以形成就緒隊(duì)列、若干阻塞隊(duì)列、空白隊(duì)列等。1 4PCB5 0PCB9 11…60P215隱式鏈接、顯式鏈接按索引方式組織 PCB執(zhí)行指針就緒表指針阻塞表指針PCB4PCB– 創(chuàng)建一個(gè)新進(jìn)程– 終止一個(gè)已完成的進(jìn)程– 終止一個(gè)因出現(xiàn)某事件而無法運(yùn)行下去的進(jìn)程– 負(fù)責(zé)進(jìn)程運(yùn)行中的狀態(tài)轉(zhuǎn)換? 當(dāng)一個(gè)正在執(zhí)行的進(jìn)程因等待某事件而暫時(shí)不能繼續(xù)執(zhí)行時(shí),將其轉(zhuǎn)換為阻塞狀態(tài)? 當(dāng)該進(jìn)程所期待的事件出現(xiàn)時(shí),又將該進(jìn)程轉(zhuǎn)換為就緒狀態(tài)等等。Operation)。? 原語的作用是為了實(shí)現(xiàn)進(jìn)程的通信和控制,系統(tǒng)對進(jìn)程的控制如不使用原語,就會造成其狀態(tài)的不確定性,從而達(dá)不到進(jìn)程控制的目的。進(jìn)程的阻塞與喚醒64 進(jìn)程的創(chuàng)建1.? 進(jìn)程:結(jié)點(diǎn)? 父進(jìn)程:在進(jìn)程 D創(chuàng)建了進(jìn)程 I后,稱 D是 I的父進(jìn)程? 子進(jìn)程: I是 D的子進(jìn)程? 祖父進(jìn)程? 祖先:樹的根節(jié)點(diǎn)是進(jìn)程家族的祖先66AB CD E F G HL MI J K1. 進(jìn)程圖? 繼承(資源)– 子進(jìn)程可以繼承父進(jìn)程所擁有的資源(打開的文件、緩沖區(qū)等)– 當(dāng)子進(jìn)程被撤消時(shí),應(yīng)將從父進(jìn)程那里獲得的資源歸還給父進(jìn)程– 在撤消父進(jìn)程時(shí),也必須同時(shí)撤消其所有的子進(jìn)程– 為了標(biāo)識進(jìn)程之間的家族關(guān)系,在 PCB中都設(shè)置了家族關(guān)系表項(xiàng),以標(biāo)明自己的父進(jìn)程及所有的子進(jìn)程672. 引起創(chuàng)建進(jìn)程的事件? 在多道程序環(huán)境中,只有進(jìn)程才能在系統(tǒng)中運(yùn)行。692. 引起創(chuàng)建進(jìn)程的事件( 3)提供服務(wù)(由系統(tǒng)內(nèi)核創(chuàng)建新進(jìn)程)– 當(dāng)運(yùn)行中的用戶程序提出某種請求后,系統(tǒng)將專門創(chuàng)建一個(gè)進(jìn)程來提供用戶所需要的服務(wù)。該應(yīng)用進(jìn)程為使這幾個(gè)操作能并發(fā)執(zhí)行,以加速任務(wù)的完成,可以分別建立鍵盤輸入進(jìn)程、 數(shù)據(jù)處理進(jìn)程、 表格輸出進(jìn)程等。顯然,此時(shí) OS必須知道新進(jìn)程所需內(nèi)存的大小。如新進(jìn)程要共享某個(gè)已在內(nèi)存的地址空間,則必須建立相應(yīng)鏈表。進(jìn)程的終止過程(進(jìn)程終止原語)771. 引起進(jìn)程終止的事件1)正常結(jié)束2)異常結(jié)束3)外界干預(yù)781)正常結(jié)束? 在任何計(jì)算機(jī)系統(tǒng)中,都應(yīng)有一個(gè)用于表示進(jìn)程已經(jīng)運(yùn)行完成的指示。 off去表示進(jìn)程運(yùn)行完畢,此時(shí)同樣可產(chǎn)生一個(gè)中斷,去通知 OS進(jìn)程已運(yùn)行完畢。– 保護(hù)錯(cuò)。出現(xiàn)該錯(cuò)誤的原因,可能是程序錯(cuò)誤地轉(zhuǎn)移到數(shù)據(jù)區(qū),把數(shù)據(jù)當(dāng)成了指令。– 運(yùn)行超時(shí)。– 算術(shù)運(yùn)算錯(cuò)。813)外界干預(yù)? 外界干預(yù)并非指在本進(jìn)程運(yùn)行中出現(xiàn)了異常事件,而是指進(jìn)程應(yīng)外界的請求而終止運(yùn)行。由于父進(jìn)程具有終止自己的任何子孫進(jìn)程的權(quán)力,因而當(dāng)父進(jìn)程提出終止該進(jìn)程(子孫進(jìn)程)的請求時(shí),系統(tǒng)將終止該進(jìn)程(子孫進(jìn)程)。( 1)根據(jù)被終止進(jìn)程的標(biāo)識符,從 PCB集合中檢索出該進(jìn)程的 PCB,從中讀出該進(jìn)程的 狀態(tài) 。( 5)將被終止進(jìn)程( PCB)從所在隊(duì)列(鏈表)中移出,等待其他程序來搜集信息。進(jìn)程喚醒過程851. 引起進(jìn)程阻塞和喚醒的事件1)請求系統(tǒng)服務(wù)2)啟動某種操作3)新數(shù)據(jù)尚未到達(dá)4)無新工作可做861)請求系統(tǒng)服務(wù)? 當(dāng)正在執(zhí)行的進(jìn)程請求 OS提供服務(wù)時(shí),由于某種原因, OS并不立即滿足該進(jìn)程的要求時(shí),該進(jìn)程只能轉(zhuǎn)變?yōu)樽枞麪顟B(tài)來等待。在 I/O操作完成后,再由 中斷處理程序 或 中斷進(jìn)程將該進(jìn)程 喚醒 。894)無新工作可做? 系統(tǒng)往往設(shè)置一些具有某特定功能的 系統(tǒng)進(jìn)程 ,每當(dāng)這種進(jìn)程完成任務(wù)后,便把自己阻塞起來以等待新任務(wù)到來。? 進(jìn)入 block過程后,由于此時(shí)該進(jìn)程還處于執(zhí)行狀態(tài),所以應(yīng)先立即停止執(zhí)行,把 PCB中的現(xiàn)行狀態(tài)由 “執(zhí)行 ”改為 “阻塞 ”,并將 PCB插入阻塞隊(duì)列。喚醒原語執(zhí)行的過程:首先把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移出,將其 PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒,然后再將該 PCB插入到就緒隊(duì)列中。進(jìn)程的激活過程931. 進(jìn)程的掛起? 當(dāng)出現(xiàn)了引起進(jìn)程
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1