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

正文內(nèi)容

湯第02章進(jìn)程管理-在線瀏覽

2025-03-11 00:07本頁面
  

【正文】 狀態(tài), 處于Readys狀態(tài)的進(jìn)程不再被調(diào)度執(zhí)行 。–靜止阻塞狀態(tài) Blockeds:當(dāng)用Suspend原語將處于活動(dòng)阻塞狀態(tài)的進(jìn)程掛起后,進(jìn)程便轉(zhuǎn)換為靜止阻塞狀態(tài)。 362)進(jìn)程狀態(tài)的轉(zhuǎn)換( 3) 靜止就緒 → 活動(dòng)就緒–處于 Readys狀態(tài)的進(jìn)程,若用激活原語 Active激活后,該進(jìn)程將轉(zhuǎn)變?yōu)?Readya狀態(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)程來說,它處于創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)都只有一次。40創(chuàng)建( New)狀態(tài)? 引入創(chuàng)建狀態(tài)的原因– 保證進(jìn)程調(diào)度必須在創(chuàng)建工作完成后進(jìn)行,以確保對(duì) PCB操作的完整性。? 對(duì)于處于創(chuàng)建狀態(tài)的進(jìn)程,獲得了其所必需的資源,以及對(duì)其 PCB初始化工作完成后,進(jìn)程狀態(tài)便可由創(chuàng)建狀態(tài)轉(zhuǎn)入就緒狀態(tài)。? 終止進(jìn)程的步驟– 等待 OS進(jìn)行善后處理– 將其 PCB清零,并將 PCB空間返還系統(tǒng)42終止( terminated)狀態(tài)? 幾種情況,使進(jìn)程進(jìn)入終止?fàn)顟B(tài)– 進(jìn)程到達(dá)了自然結(jié)束點(diǎn)– 出現(xiàn)了無法克服的錯(cuò)誤– 被 OS所終結(jié)– 被其他有終止權(quán)的進(jìn)程所終結(jié)? 進(jìn)入終止?fàn)顟B(tài)的進(jìn)程以后不能再執(zhí)行,但在 OS中依然保留一個(gè)記錄(保存狀態(tài)碼和一些計(jì)時(shí)統(tǒng)計(jì)數(shù)據(jù),供其他進(jìn)程收集)。43終止( terminated)狀態(tài)許可就緒I/O請(qǐng)求I/O完成圖 25 五種進(jìn)程狀態(tài)的轉(zhuǎn)換44執(zhí)行創(chuàng)建 終止阻塞進(jìn)程調(diào)度時(shí)間片完釋放具有創(chuàng)建、終止和掛起狀態(tài)的進(jìn)程狀態(tài)圖活動(dòng)阻塞靜止阻塞靜止就緒執(zhí)行活動(dòng)就緒時(shí)間片/優(yōu)先權(quán)請(qǐng)求I/O激活掛起釋放激活釋放掛起調(diào)度 CPU終止創(chuàng)建 許可許可45釋放需要增加考慮的情況1. NULL?創(chuàng)建:一個(gè)新進(jìn)程產(chǎn)生時(shí),該進(jìn)程處于創(chuàng)建狀態(tài)2. 創(chuàng)建 ?活動(dòng)就緒:在當(dāng)前系統(tǒng)的性能和內(nèi)存容量允許的情況下,完成對(duì)進(jìn)程創(chuàng)建的必要操作后,相應(yīng)的系統(tǒng)進(jìn)程將進(jìn)程的狀態(tài)轉(zhuǎn)換為活動(dòng)就緒狀態(tài)。? 執(zhí)行 ?終止:當(dāng)進(jìn)程到達(dá)了自然結(jié)束點(diǎn),或是出現(xiàn)了無法克服的錯(cuò)誤,或是被 OS所終止,或是被其他有終止權(quán)的進(jìn)程所終結(jié),進(jìn)程即進(jìn)入終止?fàn)顟B(tài)。? PCB中記錄了 OS所需的、用于描述 進(jìn)程的當(dāng)前情況 及 控制進(jìn)程運(yùn)行 所需的全部信息。48PCB是進(jìn)程存在的唯一標(biāo)志? OS根據(jù) PCB來對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。 49PCB常駐內(nèi)存? 當(dāng)系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程時(shí),就為它建立了一個(gè) PCB;進(jìn)程結(jié)束時(shí)又回收其 PCB,進(jìn)程于是也隨之消亡。? 因?yàn)?PCB經(jīng)常被系統(tǒng)訪問,尤其是被運(yùn)行頻率很高的進(jìn)程及分派程序訪問,故 PCB應(yīng)常駐內(nèi)存。– Linux用 task_struct數(shù)據(jù)結(jié)構(gòu)來描述每個(gè)進(jìn)程的 PCB。51進(jìn)程控制塊中的信息? 進(jìn)程標(biāo)識(shí)符? 處理機(jī)狀態(tài)? 進(jìn)程調(diào)度信息? 進(jìn)程控制信息52進(jìn)程標(biāo)識(shí)符? 進(jìn)程標(biāo)識(shí)符用于惟一地標(biāo)識(shí)一個(gè)進(jìn)程。設(shè)置內(nèi)部標(biāo)識(shí)符主要是為了 方便系統(tǒng)使用 。為了描述進(jìn)程的家族關(guān)系,還應(yīng)設(shè)置父進(jìn)程標(biāo)識(shí)及子進(jìn)程標(biāo)識(shí)。53處理機(jī)狀態(tài)? 處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種寄存器中的內(nèi)容組成的。? 當(dāng)處理機(jī)被中斷時(shí),所有這些信息都必須保存在 PCB中,以便在該進(jìn)程重新執(zhí)行時(shí),能從斷點(diǎn)繼續(xù)執(zhí)行。55進(jìn)程調(diào)度信息? 與進(jìn)程調(diào)度和進(jìn)程對(duì)換有關(guān)的信息:– 進(jìn)程狀態(tài):指明進(jìn)程的當(dāng)前狀態(tài),作為進(jìn)程調(diào)度和 對(duì)換( P129) 時(shí)的依據(jù);– 進(jìn)程優(yōu)先級(jí)( P93):用于描述進(jìn)程使用處理機(jī)的優(yōu)先級(jí)別的一個(gè)整數(shù);– 與進(jìn)程調(diào)度算法有關(guān)的信息:進(jìn)程已等待CPU的時(shí)間總和、進(jìn)程已執(zhí)行的時(shí)間總和等;– 事件:指進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)所等待發(fā)生的事件,即阻塞原因。57UNIX系統(tǒng) V中 PCB中的信息P357? 進(jìn)程表項(xiàng),其中包括最常用的核心數(shù)據(jù)? U區(qū),用于存放用戶進(jìn)程表項(xiàng)的一些擴(kuò)充數(shù)據(jù)? 系統(tǒng)區(qū)表,存放各個(gè)區(qū)在物理存儲(chǔ)器中的地址信息等? 進(jìn)程區(qū)表,用于存放各區(qū)的起始虛地址及指向系統(tǒng)區(qū)表中對(duì)應(yīng)區(qū)表項(xiàng)的指針58進(jìn)程控制塊的組織方式? 鏈接方式– 把具有同一狀態(tài)的 PCB,用其中的鏈接字鏈接成一個(gè)隊(duì)列。– 對(duì)就緒隊(duì)列常按進(jìn)程優(yōu)先級(jí)的高低排列,把優(yōu)先級(jí)高的進(jìn)程的 PCB排在隊(duì)列前面。59PCB鏈接隊(duì)列示意圖執(zhí)行指針就緒隊(duì)列指針阻塞隊(duì)列指針空閑隊(duì)列指針PCB2 3PCB4 8PCB6 7PCB8 0PCB1PCB3PCB5PCB7就緒索引表阻塞索引表61 進(jìn)程控制? 進(jìn)程控制是進(jìn)程管理中最基本的功能。? 進(jìn)程控制一般是由 OS的內(nèi)核來實(shí)現(xiàn)的。是一種原子操作( Atomic所謂原子操作,是指一個(gè)操作中所有動(dòng)作要么全做,要么全不做。原子操作在管態(tài)下執(zhí)行,常駐內(nèi)存。63 進(jìn)程控制進(jìn)程的終止進(jìn)程圖2.進(jìn)程的創(chuàng)建651. 進(jìn)程圖? 進(jìn)程圖是用于描述一個(gè)進(jìn)程的家族關(guān)系的有向樹。? 因此,為使程序能運(yùn)行,就必須為它創(chuàng)建進(jìn)程。( 2)作業(yè)調(diào)度(由系統(tǒng)內(nèi)核創(chuàng)建新進(jìn)程)– 在 批處理系統(tǒng) 中,當(dāng)作業(yè)調(diào)度程序按一定的算法調(diào)度到某作業(yè)時(shí),便將該作業(yè)裝入內(nèi)存,為它分配必要的資源,并立即為它創(chuàng)建進(jìn)程,再插入就緒隊(duì)列中。– 例如,用戶程序要求進(jìn)行文件打印, OS將為它創(chuàng)建一個(gè)打印進(jìn)程,這樣,不僅可使打印進(jìn)程與該用戶進(jìn)程并發(fā)執(zhí)行,而且還便于計(jì)算出為完成打印任務(wù)所花費(fèi)的時(shí)間。– 例如,某應(yīng)用程序需要不斷地從鍵盤終端輸入數(shù)據(jù),繼而又要對(duì)輸入數(shù)據(jù)進(jìn)行相應(yīng)的處理,然后,再將處理結(jié)果以表格形式在屏幕上顯示。713. 進(jìn)程的創(chuàng)建? 一旦 OS發(fā)現(xiàn)了要求創(chuàng)建新進(jìn)程的事件后,便調(diào)用進(jìn)程創(chuàng)建原語 Create()按下述步驟創(chuàng)建一個(gè)新進(jìn)程。73( 2)為新進(jìn)程分配資源? 為新進(jìn)程的程序和數(shù)據(jù)以及用戶棧分配必要的內(nèi)存空間。– 對(duì)于批處理作業(yè),其大小可在用戶提出創(chuàng)建進(jìn)程要求時(shí)提供。– 對(duì)于交互型作業(yè),用戶可以不給出內(nèi)存要求而由系統(tǒng)分配一定的空間。74( 3)初始化 PCB? 初始化標(biāo)識(shí)信息– 將系統(tǒng)分配的標(biāo)識(shí)符和父進(jìn)程標(biāo)識(shí)符填入新 PCB中? 初始化處理機(jī)狀態(tài)信息– 使 PC指向程序的入口地址,使棧指針指向棧頂? 初始化處理機(jī)控制信息– 將進(jìn)程的狀態(tài)設(shè)置為就緒狀態(tài)或靜止就緒狀態(tài)– 對(duì)于優(yōu)先級(jí),通常是將它設(shè)置為最低優(yōu)先級(jí),除非用戶以顯式方式提出高優(yōu)先級(jí)要求75( 4)將新進(jìn)程插入就緒隊(duì)列? 如果進(jìn)程就緒隊(duì)列能夠接納新進(jìn)程,便將新進(jìn)程插入就緒隊(duì)列。引起進(jìn)程終止的事件2.– 在 批處理系統(tǒng) 中,通常在程序的最后安排一條 Holt指令或終止的 系統(tǒng)調(diào)用 。– 在 分時(shí)系統(tǒng) 中,用戶可利用 Log792)異常結(jié)束? 在進(jìn)程運(yùn)行期間,由于出現(xiàn)某些錯(cuò)誤和故障而迫使進(jìn)程終止。這是指程序所訪問的存儲(chǔ)區(qū)已越出該進(jìn)程的區(qū)域。這是指進(jìn)程試圖去訪問一個(gè)不允許訪問的資源或文件,或者以不適當(dāng)?shù)姆绞竭M(jìn)行訪問,例如,進(jìn)程試圖去寫一個(gè)只讀文件。這是指程序試圖去執(zhí)行一條不存在的指令。802)異常結(jié)束? 在進(jìn)程運(yùn)行期間,由于出現(xiàn)某些錯(cuò)誤和故障而迫使進(jìn)程終止。這是指用戶進(jìn)程試圖去執(zhí)行一條只允許OS執(zhí)行的指令。這是指進(jìn)程的執(zhí)行時(shí)間超過了指定的最大值。這是指進(jìn)程等待某事件的時(shí)間超過了規(guī)定的最大值。這是指進(jìn)程試圖去執(zhí)行一個(gè)被禁止的運(yùn)算,例如被 0除。這是指在 I/O過程中發(fā)生了錯(cuò)誤等。– 操作員或 OS干預(yù)。– 父進(jìn)程請(qǐng)求。– 父進(jìn)程終止。822. 進(jìn)程的終止過程? 如果系統(tǒng)中發(fā)生了上述要求終止進(jìn)程的某事件, OS便調(diào)用 進(jìn)程終止原語 ,按下述過程去終止指定的進(jìn)程。( 2)若被終止進(jìn)程正處于 執(zhí)行狀態(tài) ,應(yīng)立即終止該進(jìn)程的執(zhí)行,并設(shè)置調(diào)度標(biāo)志為真,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。( 4)將被終止進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程,或者歸還給系統(tǒng)。84 進(jìn)程的阻塞與喚醒1.進(jìn)程阻塞過程3.? 例如, 請(qǐng)求進(jìn)程 請(qǐng)求使用某資源(如打印機(jī)),由于系統(tǒng)已將打印機(jī)分配給其他進(jìn)程而不能分配給 請(qǐng)求進(jìn)程 ,這時(shí) 請(qǐng)求進(jìn)程只能被阻塞,僅在其他進(jìn)程在釋放出打印機(jī)的同時(shí),才將 請(qǐng)求進(jìn)程 喚醒。? 例如,進(jìn)程啟動(dòng)了某 I/O設(shè)備,如果只有在I/O設(shè)備完成了指定的 I/O操作任務(wù)后進(jìn)程才能繼續(xù)執(zhí)行,則該進(jìn)程在啟動(dòng)了 I/O操作后,便自動(dòng)進(jìn)入阻塞狀態(tài)去等待。883)新數(shù)據(jù)尚未到達(dá)? 對(duì)于 相互合作的進(jìn)程 ,如果其中一個(gè)進(jìn)程需要先獲得另一(合作)進(jìn)程提供的數(shù)據(jù)后才能對(duì)數(shù)據(jù)進(jìn)行處理,則只要其所需數(shù)據(jù)尚未到達(dá),該進(jìn)程只有(等待)阻塞。假如 A尚未將數(shù)據(jù)輸入完畢,則進(jìn)程 B將因沒有所需的處理數(shù)據(jù)而阻塞;一旦進(jìn)程 A把數(shù)據(jù)輸入完畢,便可去喚醒進(jìn)程 B。? 例如,系統(tǒng)中的發(fā)送進(jìn)程,其主要工作是發(fā)送數(shù)據(jù),若已有的數(shù)據(jù)已全部發(fā)送完成而又無新的發(fā)送請(qǐng)求,這時(shí)(發(fā)送)進(jìn)程將使自己進(jìn)入阻塞狀態(tài);僅當(dāng)又有進(jìn)程提出新的發(fā)送請(qǐng)求時(shí),才將發(fā)送進(jìn)程喚醒。可見, 進(jìn)程的阻塞是進(jìn)程自身的一種主動(dòng)行為 。如果系統(tǒng)中設(shè)置了因不同事件而阻塞的多個(gè)阻塞隊(duì)列,則應(yīng)將本進(jìn)程插入到具有相同事件的阻塞(等待)隊(duì)列。913. 進(jìn)程喚醒過程? 當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí),如 I/O完成或其所期待的數(shù)據(jù)已經(jīng)到達(dá),則由有關(guān)進(jìn)程(如用完并釋放了該 I/O設(shè)備的進(jìn)程)調(diào)用喚醒原語Wakeup(),將等待事件的進(jìn)程喚醒。? 如果在某進(jìn)程中調(diào)用了阻塞原語,則必須在與之相合作的另一進(jìn)程中或其他相關(guān)的進(jìn)程中,安排喚醒原語,以能喚醒阻塞進(jìn)程;否則,被阻塞進(jìn)程將會(huì)因不能被喚醒而長(zhǎng)久地處于阻塞狀態(tài),從而再無機(jī)會(huì)繼續(xù)運(yùn)行。進(jìn)程的掛起2.? 掛起原語的執(zhí)行過程:首先檢查被掛起進(jìn)程的狀態(tài),若處于活動(dòng)就緒狀態(tài),便將其改為靜止就緒;對(duì)于活動(dòng)阻塞狀態(tài)的進(jìn)程,則將之改為靜止阻塞。最后,若被掛起的進(jìn)程正在執(zhí)行,則轉(zhuǎn)向調(diào)度程序重新調(diào)度。進(jìn)程的激活過程? 當(dāng)發(fā)生激活進(jìn)程的事件時(shí),例如,父進(jìn)程或用戶進(jìn)程請(qǐng)求激活指定進(jìn)程,若該進(jìn)程駐留在外存而內(nèi)存中已有足夠的空間時(shí),則可將在外存上處于靜止就緒狀態(tài)的該進(jìn)程 換入內(nèi)存。? 激活原語先將進(jìn)程從外存調(diào)入內(nèi)存,檢查該進(jìn)程的現(xiàn)行狀態(tài),若是靜止就緒,便將之改為活動(dòng)就緒;若為靜止阻塞,便將之改為活動(dòng)阻塞。95進(jìn)程與程序的區(qū)別? 進(jìn)程是程序及其數(shù)據(jù)在計(jì)算機(jī)上的一次運(yùn)行活動(dòng),是一個(gè)動(dòng)態(tài)的概念。從靜態(tài)角度看,進(jìn)程是由程序、數(shù)據(jù)和PCB三部分組成的。? 進(jìn)程是程序的一次執(zhí)行過程,它是動(dòng)態(tài)地創(chuàng)建和消亡的,具有一定的生命期,是暫時(shí)存在的;而程序則是一組代碼的集合,它是永久存在的,可長(zhǎng)期保存。進(jìn)程可創(chuàng)建進(jìn)程,而程序不可能形成新的程序。進(jìn)程的組成包括程序、數(shù)據(jù)、PCB。– 例如,當(dāng)多個(gè)進(jìn)程去爭(zhēng)用一臺(tái)打印機(jī)時(shí),有可能使多個(gè)進(jìn)程的輸出結(jié)果交織在一起,難于區(qū)分;– 當(dāng)多個(gè)進(jìn)程去爭(zhēng)用共享變量、表格、鏈表等時(shí),有可能致使數(shù)據(jù)處理出錯(cuò)。98 進(jìn)程同步的基本概念兩種形式的制約關(guān)系臨界資源臨界區(qū)同步機(jī)制應(yīng)遵循的規(guī)則99兩種形式的制約關(guān)系在多道程序環(huán)境下,當(dāng)程序并發(fā)執(zhí)行時(shí),由于 資源共享 和 進(jìn)程合作 ,使同處于一個(gè)系統(tǒng)中的諸進(jìn)程之間可能存在著以下兩種形式的制約關(guān)系。所謂 間接相互制約即源于這種資源共享 。101( 2)直接相互制約關(guān)系? 這種制約主要 源于進(jìn)程間的合作? 例如,有一輸入進(jìn)程 A通過 單緩沖 向計(jì)算進(jìn)程 B提供數(shù)據(jù)。當(dāng)輸入進(jìn)程 A把數(shù)據(jù)送入緩沖后,便將計(jì)算進(jìn)程 B喚醒;– 當(dāng)單緩沖 滿 時(shí),輸入進(jìn)程 A因無法再向緩沖中投放數(shù)據(jù)而阻塞,只有當(dāng)計(jì)算進(jìn)程 B將緩沖內(nèi)數(shù)據(jù)取走后便可喚醒 A。答:進(jìn)程之間存在著直接制約和間接制約兩種制約關(guān)系,其中直接制約(同步)是由于進(jìn)程間的相互合作而引起的,而間接制約(互斥)則是由于進(jìn)程間共享臨界資源而引起的。( 2)兩隊(duì)舉行籃球比賽是間接制約,其中籃球是臨界資源。( 4)商品生產(chǎn)和社會(huì)消費(fèi)是直接制約,兩者也需要相互合作:商品生產(chǎn)出來后才可以被消費(fèi);商品被消費(fèi)后才需要再生產(chǎn)。Resource),諸進(jìn)程間應(yīng)采取互斥方式,實(shí)現(xiàn)對(duì)資源的共享。有 一群 生產(chǎn)者進(jìn)程 在生產(chǎn)產(chǎn)品,并將這些產(chǎn)品提供給 一群 消費(fèi)者進(jìn)程 去消費(fèi)。為使生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程能并發(fā)執(zhí)行,在兩者之間設(shè)置了一個(gè)具有 n個(gè) 緩沖區(qū) 的 緩沖池 ,生產(chǎn)者進(jìn)程可將它所生產(chǎn)的產(chǎn)品放入一個(gè) 空緩沖區(qū) 中,消費(fèi)者進(jìn)程可從一個(gè) 滿緩沖區(qū) 中取得一個(gè)產(chǎn)品消費(fèi)。盡管所有的生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程都是以異步方式運(yùn)行的,但它們之間必須保
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1