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

正文內(nèi)容

湯第02章進(jìn)程管理-文庫(kù)吧資料

2025-01-28 00:07本頁(yè)面
  

【正文】 )%n167。n167。v循環(huán)緩沖:167。v輸入指針 in:指示下一個(gè)可投放產(chǎn)品的緩沖區(qū),每當(dāng)生產(chǎn)者進(jìn)程生產(chǎn)并投放一個(gè)產(chǎn)品后,輸入指針加 1。216。216。 臨界資源104v生產(chǎn)者 — 消費(fèi)者問題:216。103v許多硬件資源(打印機(jī)、磁帶機(jī)等)都屬于臨界資源( Critical( 3)流水線生產(chǎn)的各道工序是直接制約,各道工序間需要相互合作,每道工序的開始都依賴于前一道工序的完成。( 1)若干同學(xué)去圖書館借書是間接制約,其中書是臨界資源。102補(bǔ)充例題? 進(jìn)程之間存在著哪幾種制約關(guān)系?各是什么原因引起的?下列活動(dòng)分別屬于哪種制約關(guān)系?( 1)若干同學(xué)去圖書館借書;( 2)兩隊(duì)舉行籃球比賽;( 3)流水線生產(chǎn)的各道工序;( 4)商品生產(chǎn)和社會(huì)消費(fèi)。– 當(dāng)單緩沖 空 時(shí),計(jì)算進(jìn)程 B因不能獲得所需數(shù)據(jù)而阻塞。? 例如,有 2個(gè)進(jìn)程 A和 B,如果在 A進(jìn)程提出打印請(qǐng)求時(shí),系統(tǒng)已將惟一的一臺(tái)打印機(jī)分配給了進(jìn)程 B,則此時(shí)進(jìn)程 A只能阻塞;一旦進(jìn)程 B將打印機(jī)釋放,則 A進(jìn)程才能由阻塞改為就緒狀態(tài)。( 1)間接相互制約關(guān)系( 2)直接相互制約關(guān)系100( 1)間接相互制約關(guān)系? 同處于一個(gè)系統(tǒng)中的進(jìn)程,通常都共享著某種系統(tǒng)資源,如共享 CPU、共享 I/O設(shè)備等。97 進(jìn)程同步? 主要任務(wù):對(duì)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),以使并發(fā)執(zhí)行的諸進(jìn)程之間能有效地共享資源和相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性。 96 進(jìn)程同步? 在 OS中引入進(jìn)程后,雖然提高了資源利用率和系統(tǒng)吞吐量,但由于進(jìn)程的 異步性( P38),也會(huì)給系統(tǒng)造成混亂,尤其是在它們爭(zhēng)用 臨界資源 時(shí)。? 進(jìn)程與程序的組成不同。? 一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序,一個(gè)程序也可以構(gòu)成多個(gè)進(jìn)程。而程序是一組有序的指令集合,是一種靜態(tài)的概念。進(jìn)程的運(yùn)行實(shí)體是程序,離開程序的進(jìn)程沒有存在的意義。? 假如采用的是 搶占調(diào)度 策略,則每當(dāng)有新進(jìn)程進(jìn)入就緒隊(duì)列時(shí),應(yīng)檢查是否要進(jìn)行重新調(diào)度,即由調(diào)度程序?qū)⒈患せ钸M(jìn)程與當(dāng)前進(jìn)程進(jìn)行優(yōu)先級(jí)的比較,如果被激活進(jìn)程的優(yōu)先級(jí)更低,就不必重新調(diào)度;否則,立即剝奪當(dāng)前進(jìn)程的運(yùn)行,把處理機(jī)分配給剛被激活的進(jìn)程。這時(shí),系統(tǒng)將利用 Active()原語將指定進(jìn)程激活。 942.為了方便用戶或父進(jìn)程考查該進(jìn)程的運(yùn)行情況而 把該進(jìn)程的 PCB復(fù)制到某指定的內(nèi)存區(qū)域 。進(jìn)程的激活過程931. 進(jìn)程的掛起? 當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時(shí),比如,用戶進(jìn)程請(qǐng)求將自己掛起,或父進(jìn)程請(qǐng)求將利用掛起原語 Suspend()將指定進(jìn)程或處于阻塞狀態(tài)的進(jìn)程掛起。921.喚醒原語執(zhí)行的過程:首先把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移出,將其 PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒,然后再將該 PCB插入到就緒隊(duì)列中。? 最后,轉(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)境 。? 進(jìn)入 block過程后,由于此時(shí)該進(jìn)程還處于執(zhí)行狀態(tài),所以應(yīng)先立即停止執(zhí)行,把 PCB中的現(xiàn)行狀態(tài)由 “執(zhí)行 ”改為 “阻塞 ”,并將 PCB插入阻塞隊(duì)列。902. 進(jìn)程阻塞過程? 正在執(zhí)行的進(jìn)程,當(dāng)發(fā)現(xiàn)上述某事件時(shí),由于無法繼續(xù)執(zhí)行,于是進(jìn)程便通過調(diào)用 阻塞原語 Block()把自己阻塞。894)無新工作可做? 系統(tǒng)往往設(shè)置一些具有某特定功能的 系統(tǒng)進(jìn)程 ,每當(dāng)這種進(jìn)程完成任務(wù)后,便把自己阻塞起來以等待新任務(wù)到來。? 例如,有兩個(gè)進(jìn)程,進(jìn)程 A用于輸入數(shù)據(jù),進(jìn)程 B對(duì)輸入數(shù)據(jù)進(jìn)行加工。在 I/O操作完成后,再由 中斷處理程序 或 中斷進(jìn)程將該進(jìn)程 喚醒 。872)啟動(dòng)某種操作? 當(dāng)進(jìn)程啟動(dòng)某種操作后,如果該進(jìn)程必須在該操作完成之后才能繼續(xù)執(zhí)行,則必須先使該進(jìn)程阻塞,以等待該操作完成。進(jìn)程喚醒過程851. 引起進(jìn)程阻塞和喚醒的事件1)請(qǐng)求系統(tǒng)服務(wù)2)啟動(dòng)某種操作3)新數(shù)據(jù)尚未到達(dá)4)無新工作可做861)請(qǐng)求系統(tǒng)服務(wù)? 當(dāng)正在執(zhí)行的進(jìn)程請(qǐng)求 OS提供服務(wù)時(shí),由于某種原因, OS并不立即滿足該進(jìn)程的要求時(shí),該進(jìn)程只能轉(zhuǎn)變?yōu)樽枞麪顟B(tài)來等待。引起進(jìn)程阻塞和喚醒的事件2.( 5)將被終止進(jìn)程( PCB)從所在隊(duì)列(鏈表)中移出,等待其他程序來搜集信息。832. 進(jìn)程的終止過程( 3)若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子進(jìn)程予以終止,以防它們成為不可控的進(jìn)程。( 1)根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從 PCB集合中檢索出該進(jìn)程的 PCB,從中讀出該進(jìn)程的 狀態(tài) 。當(dāng)父進(jìn)程終止時(shí), OS也將它的所有子孫進(jìn)程終止。由于父進(jìn)程具有終止自己的任何子孫進(jìn)程的權(quán)力,因而當(dāng)父進(jìn)程提出終止該進(jìn)程(子孫進(jìn)程)的請(qǐng)求時(shí),系統(tǒng)將終止該進(jìn)程(子孫進(jìn)程)。由于某種原因,例如,發(fā)生了死鎖,由操作員或 OS終止該進(jìn)程。813)外界干預(yù)? 外界干預(yù)并非指在本進(jìn)程運(yùn)行中出現(xiàn)了異常事件,而是指進(jìn)程應(yīng)外界的請(qǐng)求而終止運(yùn)行。– I/O故障。– 算術(shù)運(yùn)算錯(cuò)。– 等待超時(shí)。– 運(yùn)行超時(shí)。– 特權(quán)指令錯(cuò)。出現(xiàn)該錯(cuò)誤的原因,可能是程序錯(cuò)誤地轉(zhuǎn)移到數(shù)據(jù)區(qū),把數(shù)據(jù)當(dāng)成了指令。– 非法指令。– 保護(hù)錯(cuò)。– 越界錯(cuò)誤。 off去表示進(jìn)程運(yùn)行完畢,此時(shí)同樣可產(chǎn)生一個(gè)中斷,去通知 OS進(jìn)程已運(yùn)行完畢。當(dāng)程序運(yùn)行到 Holt指令時(shí),將產(chǎn)生一個(gè) 中斷 ,去 通知OS本進(jìn)程已經(jī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)行完成的指示。76 進(jìn)程的終止1.如新進(jìn)程要共享某個(gè)已在內(nèi)存的地址空間,則必須建立相應(yīng)鏈表。若是應(yīng)用進(jìn)程創(chuàng)建子進(jìn)程,也應(yīng)是在該進(jìn)程提出創(chuàng)建進(jìn)程的請(qǐng)求中給出所需內(nèi)存的大小。顯然,此時(shí) OS必須知道新進(jìn)程所需內(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。該應(yīng)用進(jìn)程為使這幾個(gè)操作能并發(fā)執(zhí)行,以加速任務(wù)的完成,可以分別建立鍵盤輸入進(jìn)程、 數(shù)據(jù)處理進(jìn)程、 表格輸出進(jìn)程等。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ù)。692. 引起創(chuàng)建進(jìn)程的事件( 3)提供服務(wù)(由系統(tǒng)內(nèi)核創(chuàng)建新進(jìn)程)– 當(dāng)運(yùn)行中的用戶程序提出某種請(qǐng)求后,系統(tǒng)將專門創(chuàng)建一個(gè)進(jì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ì)列中。? 進(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)識(shí)進(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)行。引起創(chuàng)建進(jìn)程的事件3.進(jìn)程的阻塞與喚醒64 進(jìn)程的創(chuàng)建1.進(jìn)程的創(chuàng)建? 原語的作用是為了實(shí)現(xiàn)進(jìn)程的通信和控制,系統(tǒng)對(duì)進(jìn)程的控制如不使用原語,就會(huì)造成其狀態(tài)的不確定性,從而達(dá)不到進(jìn)程控制的目的。它是一個(gè)不可分割的基本單位,因此在執(zhí)行過程中不允許被中斷。Operation)。62 進(jìn)程控制? 原語( Primitive):由若干條指令組成,完成一定功能的一個(gè)過程。– 創(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)等等。6PCB4PCB2PCB9 11…60P215隱式鏈接、顯式鏈接按索引方式組織 PCB執(zhí)行指針就緒表指針阻塞表指針PCB7 9PCB5 0PCB3 0PCB1 4PCB– 根據(jù)阻塞原因把處于阻塞狀態(tài)的進(jìn)程的PCB排成等待 I/O操作完成的隊(duì)列和等待分配內(nèi)存的隊(duì)列等。這樣,可以形成就緒隊(duì)列、若干阻塞隊(duì)列、空白隊(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的首地址。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)用地址,棧指針指向該棧的棧頂。處理機(jī)在運(yùn)行時(shí),許多信息都放在寄存器中。此外,還可設(shè)置用戶標(biāo)識(shí),以指示擁有該進(jìn)程的用戶。– 外部標(biāo)識(shí)符:創(chuàng)建者提供,通常由字母、數(shù)字組成,往往是由用戶(進(jìn)程)在訪問該進(jìn)程時(shí)使用。? 一個(gè)進(jìn)程通常有兩種標(biāo)識(shí)符:– 內(nèi)部標(biāo)識(shí)符: OS中為每個(gè)進(jìn)程賦予惟一的數(shù)字標(biāo)識(shí)符,它通常是一個(gè)進(jìn)程的序號(hào)。– Windows用執(zhí)行體進(jìn)程塊 (EPROCESS)來表示進(jìn)程對(duì)象的基本屬性。50PCB常駐內(nèi)存? 系統(tǒng)將所有的 PCB組織成若干鏈表(或隊(duì)列),存放在 OS中專門開辟的 PCB區(qū)內(nèi)。? PCB可以被 OS的多個(gè)模塊讀或修改,如被調(diào)度程序、資源分配程序、中斷處理程序以及監(jiān)督和分析程序等讀或修改。– 當(dāng) OS要調(diào)度某進(jìn)程執(zhí)行時(shí),要從該進(jìn)程的 PCB中查出其現(xiàn)行狀態(tài)及優(yōu)先級(jí);– 在調(diào)度到某進(jìn)程后,要根據(jù)其 PCB中所保存的處理機(jī)狀態(tài)信息,設(shè)置該進(jìn)程恢復(fù)運(yùn)行的現(xiàn)場(chǎng),并根據(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中。? PCB的作用:使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(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)。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)建工作尚未完成。一旦其他進(jìn)程完成了對(duì)終止?fàn)顟B(tài)進(jìn)程的信息提取之后, OS將刪除該進(jìn)程。41? 當(dāng)進(jìn)程已經(jīng)正常結(jié)束或異常結(jié)束, OS已將它從就緒隊(duì)列中移出,但尚未將它撤消時(shí)的狀態(tài)。– 增加了管理的靈活性, OS可以根據(jù)系統(tǒng)性能或主存容量的限制,推遲創(chuàng)建狀態(tài)進(jìn)程的提交。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)行,其
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1