




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章處理器管理為什么程序并發(fā)執(zhí)行會產(chǎn)生間斷性特征,并失去封閉性和可再現(xiàn)性?答:之所以產(chǎn)生間斷性特征是因為多個程序在并發(fā)執(zhí)行時,需要為了完成同一項任務(wù)而相互合作,并發(fā)執(zhí)行的程序間的這種相互制約導(dǎo)致了“暫停—執(zhí)行—暫?!钡拈g斷性運行規(guī)律。失去封閉性是因為程序在并發(fā)執(zhí)行時,多個程序需要共享系統(tǒng)中的多種資源。所以,這些資源的狀態(tài)是由多個程序改變的,從而使程序的運行失去了封閉性。失去可再現(xiàn)性是因為程序在并發(fā)執(zhí)行時,由于失去了封閉性,從而導(dǎo)致其失去可再現(xiàn)性。什么是進(jìn)程?為什么要在操作系統(tǒng)中引入進(jìn)程?答:進(jìn)程是可并發(fā)執(zhí)行且具有獨立功能的程序在一個數(shù)據(jù)集合上的運行過程,它是操作系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位?!斑M(jìn)程”概念是人們?yōu)榱耸钩绦蚰軌虿l(fā)執(zhí)行,并且能對并發(fā)的程序加以描述和控制而引入的。試從并發(fā)性、獨立性、動態(tài)性上比較程序和進(jìn)程的不同。答:(1)并發(fā)性是進(jìn)程的重要特征,同時也是OS的重要特征。引入進(jìn)程的目的正是為了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。(2)獨立性是指進(jìn)程實體是一個能獨立運行的基本單位,同時也是系統(tǒng)中獨立獲得資源和獨立調(diào)度的基本單位。而對于未建立任何進(jìn)程的程序,都不能作為一個獨立的單位參加運行。(3)動態(tài)性是進(jìn)程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及由撤銷而消亡,因而進(jìn)程有一定的生命期;而程序只是一組有序指令的集合,是靜態(tài)實體。什么是PCB?它具有什么作用?為什么說PCB是進(jìn)程存在的唯一標(biāo)識?答:進(jìn)程控制塊(ProcessControlBlock,PCB)是操作系統(tǒng)為了管理進(jìn)程而設(shè)置的一個專門的數(shù)據(jù)結(jié)構(gòu),用它來記錄進(jìn)程的外部特征,描述進(jìn)程的運動變化過程。它的作用是使一個在多道程序環(huán)境下不能獨立運行的程序(含數(shù)據(jù)),成為一個能獨立運行的基本單位,一個能和其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程.因為系統(tǒng)利用PCB來控制和管理進(jìn)程,所以PCB是系統(tǒng)感知進(jìn)程存在的唯一標(biāo)志。進(jìn)程與PCB是一一對應(yīng)的。進(jìn)程有哪些基本狀態(tài)?這些狀態(tài)具有什么特征?答:進(jìn)程的三種基本狀態(tài)分別是:就緒狀態(tài)、運行狀態(tài)、阻塞狀態(tài)。(1)就緒狀態(tài):進(jìn)程已獲取到除CPU之外的所有必要資源,只要再得到CPU,就可以馬上投入運行。(2)運行狀態(tài):處于就緒狀態(tài)的進(jìn)程被調(diào)度程序選中后將得到CPU控制權(quán),此時該進(jìn)程就可以使用處理器進(jìn)行數(shù)據(jù)運算和處理。(3)阻塞狀態(tài):當(dāng)一個進(jìn)程正在等待某個事件的發(fā)生(如等待I/O的完成)而暫停執(zhí)行,這時,即使分配有CPU時間,它也無法執(zhí)行。為什么要引入掛起狀態(tài)?該狀態(tài)有什么特性?答:引入掛起狀態(tài)時為了滿足四種需要:調(diào)節(jié)系統(tǒng)負(fù)荷的需要、用戶的需要、父進(jìn)程的需要、系統(tǒng)的需要。掛起狀態(tài)的特點:交換到磁盤上的進(jìn)程,不讓其參與進(jìn)程調(diào)度,以達(dá)到平衡系統(tǒng)負(fù)荷的目的。說明進(jìn)程基本狀態(tài)的轉(zhuǎn)換關(guān)系及引起這些狀態(tài)間轉(zhuǎn)換的典型原因。答:處于就緒狀態(tài)的進(jìn)程,在調(diào)度程序為之分配了處理器之后,就可以投入運行。同時,進(jìn)程的狀態(tài)也由就緒狀態(tài)轉(zhuǎn)變?yōu)檫\行狀態(tài);在采用時間片機制的操作系統(tǒng)中,分配給當(dāng)前進(jìn)程的時間片用完之后,它會暫停執(zhí)行,其狀態(tài)也由運行狀態(tài)轉(zhuǎn)換到就緒狀態(tài);如果由于某事件發(fā)生(比如進(jìn)程需要訪問某I/O設(shè)備,而該設(shè)備正在被別的進(jìn)程訪問)而使進(jìn)程運行受阻,不能再繼續(xù)向下執(zhí)行時,它的狀態(tài)會由運行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài);當(dāng)進(jìn)程期望的某事件發(fā)生時(比如需要訪問的I/O設(shè)備已可用),進(jìn)程將從阻塞狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)說明在加入了掛起狀態(tài)的操作系統(tǒng)中,進(jìn)程狀態(tài)間的轉(zhuǎn)換關(guān)系及引發(fā)轉(zhuǎn)換的典型原因。答:在引入掛起狀態(tài)的操作系統(tǒng)中,又增加了靜止就緒和靜止阻塞兩個新的進(jìn)程狀態(tài)。調(diào)用掛起原語把處于活動就緒狀態(tài)的進(jìn)程掛起后,該進(jìn)程就會由活動就緒狀態(tài)轉(zhuǎn)變?yōu)殪o止就緒狀態(tài)。調(diào)用掛起原語把處于活動阻塞的進(jìn)程掛起后,它的狀態(tài)就轉(zhuǎn)換為靜止阻塞。調(diào)用激活原語激活后又可以轉(zhuǎn)換到活動阻塞狀態(tài)。試說明引起進(jìn)程創(chuàng)建的典型事件。答:引起進(jìn)程創(chuàng)建的典型事件有:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請求。試說明引起進(jìn)程撤銷的典型事件。答:引起進(jìn)程撤銷的典型事件有:正常結(jié)束、異常結(jié)束、外界干預(yù)。試說明引起進(jìn)程阻塞和喚醒的典型事件。答:引起進(jìn)程阻塞和喚醒的典型事件有:請求系統(tǒng)服務(wù)、啟動某種操作、新數(shù)據(jù)尚未到達(dá)、無新工作可做。.試說明進(jìn)程創(chuàng)建的過程。答:創(chuàng)建進(jìn)程的操作必須調(diào)用創(chuàng)建原語來實現(xiàn)。創(chuàng)建原語首先為新進(jìn)程申請獲得惟一的數(shù)字標(biāo)示符,并從PCB集合中獲取一個空白PCB;為新進(jìn)程的程序和數(shù)據(jù)以及用戶棧分配必要的內(nèi)存空間;然后對PCB進(jìn)程初始化;最后將新進(jìn)程插入就緒隊列中,等待被調(diào)度執(zhí)行。試說明進(jìn)程撤銷的過程。答:系統(tǒng)調(diào)用進(jìn)程終止原語來終止進(jìn)程。首先根據(jù)被終止進(jìn)程的標(biāo)示符,從PCB集合中查找到該進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài),終止該進(jìn)程的執(zhí)行,如果該進(jìn)程還有子孫進(jìn)程,應(yīng)該將它的所有子孫進(jìn)程終止,防止它們成為不可控進(jìn)程;然后回收進(jìn)程所擁有的資源;最后將被終止進(jìn)程(它的PCB)從所在隊列(或鏈表)中移出,等待其它程序來搜集信息。什么是線程?請比較它與進(jìn)程的異同。答:線程是進(jìn)程中的一個實體,是被系統(tǒng)獨立分配和調(diào)度的基本單位。線程基本上不擁有資源,只需要一些必不可少的資源(如程序計數(shù)器、一組寄存器和棧)。進(jìn)程和線程的差異:在傳統(tǒng)的OS中,進(jìn)程是擁有資源和獨立調(diào)度分派的基本單位,在加入線程的OS中,線程是代替進(jìn)程成為獨立調(diào)度和分派的基本單位,進(jìn)程則仍是擁有資源的基本單位。并發(fā)粒度不同。除了不同進(jìn)程的線程之外,同一個進(jìn)程里的不同線程之間也可以并發(fā)執(zhí)行,所以線程擁有更好的并發(fā)性。擁有資源數(shù)量不同。進(jìn)程是擁有資源的基本單位,線程除了一些在運行過程中必不可少的資源外,基本上不擁有系統(tǒng)資源,它可以訪問自己所在的進(jìn)程的資源。管理開銷不同。創(chuàng)建、撤銷進(jìn)程時系統(tǒng)都要為之分配和回收資源,所以進(jìn)程切換用的時間開銷相對要多于線程。進(jìn)程間通信很麻煩,而同一進(jìn)程的線程則通過共享進(jìn)程的資源很方便地通信和同步,同步開銷小得多。進(jìn)程和線程有著很多相似的地方:都可以并發(fā)執(zhí)行;都有就緒、執(zhí)行、阻塞這些基本狀態(tài),也都可以在這些基本狀態(tài)之間轉(zhuǎn)換狀態(tài);從創(chuàng)建到撤銷都有一定的生命周期;都需要同步工具。15.處理器調(diào)度的層次有哪些?各層次的主要工作是什么?答:處理器調(diào)度的層次分為三級調(diào)度:高級調(diào)度、中級調(diào)度和低級調(diào)度。高級調(diào)度:它需要做出兩個決定,一個是要從駐留在外存后備隊列中調(diào)入多少個作業(yè),二是要調(diào)入哪幾個作業(yè);然后為被選中的作業(yè)創(chuàng)建進(jìn)程,并分配必要的系統(tǒng)資源,如內(nèi)存、外設(shè)等,然后把新創(chuàng)建的進(jìn)程放入就緒隊列中,等待被調(diào)度執(zhí)行。中級調(diào)度:中級調(diào)度主要涉及進(jìn)程在內(nèi)存和外存之間的交換。當(dāng)系統(tǒng)中的內(nèi)存使用情況緊張時,中級調(diào)度把內(nèi)存中暫時不能運行的進(jìn)程調(diào)到外存中等待,等內(nèi)存有足夠的空閑空間時,再由中級調(diào)度決定將外存上的某些具備了運行條件的就緒進(jìn)程調(diào)入內(nèi)存,把其狀態(tài)修改為就緒狀態(tài)并掛在就緒隊列中,等待進(jìn)程調(diào)度。低級調(diào)度:按照一定的算法從就緒隊列中選擇一個進(jìn)程,然后將處理器分配給它。執(zhí)行低級調(diào)度功能的程序稱作進(jìn)程調(diào)度程序,由它實現(xiàn)處理器在進(jìn)程間的切換。16.搶占式調(diào)度的原則是什么?請簡要說明。答:系統(tǒng)使用搶占方式進(jìn)行進(jìn)程調(diào)度時需要遵循一定的原則,主要有以下幾個方面:時間片原則。各進(jìn)程按系統(tǒng)分配給的一個時間片運行,當(dāng)該時間片用完或由于該進(jìn)程等待某事件發(fā)生而被阻塞時,系統(tǒng)就停止該進(jìn)程的執(zhí)行而重新進(jìn)行調(diào)度。優(yōu)先級原則。每個進(jìn)程均被賦于一個調(diào)度優(yōu)先級,通常一些重要和緊急的進(jìn)程被賦于較高的優(yōu)先級。當(dāng)一個新的緊迫進(jìn)程到達(dá)時,或者一個優(yōu)先級高的進(jìn)程從阻塞狀態(tài)變成就緒狀態(tài)時,如果該進(jìn)程的優(yōu)先級比當(dāng)前進(jìn)程的優(yōu)先級高,OS就停止當(dāng)前進(jìn)程的執(zhí)行,將處理器分配給該優(yōu)先級高的進(jìn)程,使之執(zhí)行。短進(jìn)程優(yōu)先原則。當(dāng)新到達(dá)的作業(yè)對應(yīng)的進(jìn)程比正在執(zhí)行的作業(yè)對應(yīng)進(jìn)程的運行時間明顯短時,系統(tǒng)剝奪當(dāng)前進(jìn)程的執(zhí)行,而將處理器分配給新的短進(jìn)程,使之優(yōu)先執(zhí)行。17.在批處理系統(tǒng)、分時系統(tǒng)、實時系統(tǒng)中,應(yīng)分別采用哪種作業(yè)(進(jìn)程)調(diào)度算法?答:批處理系統(tǒng)采用先來先服務(wù)調(diào)度算法;分時系統(tǒng)采用時間片輪轉(zhuǎn)法;實時系統(tǒng)采用高響應(yīng)比優(yōu)先調(diào)度算法。18.說明時間片輪轉(zhuǎn)調(diào)度算法的基本思路。答:在采用時間片輪轉(zhuǎn)調(diào)度算法的系統(tǒng)中,將系統(tǒng)中所有的就緒進(jìn)程按照FCFS原則,排成一個隊列。每次調(diào)度時將CPU分派給隊首進(jìn)程,讓其執(zhí)行一個時間片。時間片的長度從幾個ms到幾百ms。在一個時間片結(jié)束時,發(fā)生時鐘中斷。調(diào)度程序暫停當(dāng)前進(jìn)程的執(zhí)行,將其送到就緒隊列的末尾,并通過CPU現(xiàn)場切換執(zhí)行當(dāng)前的隊首進(jìn)程,當(dāng)然,進(jìn)程可以未使用完一個時間片,就讓出CPU(如阻塞)。這樣可以保證就緒隊列中的所有進(jìn)程都有機會獲得處理器而運行的機會,可以提高進(jìn)程并發(fā)性和響應(yīng)時間特性,從而提高資源利用率。19.試說明多級反饋隊列調(diào)度算法思想。答:多級反饋隊列調(diào)度算法則不必事先知道各進(jìn)程的執(zhí)行時間,又可以滿足各種類型進(jìn)程的調(diào)度需要,它是一種目前公認(rèn)較好的進(jìn)程調(diào)度算法。它的算法思想如下(設(shè)采用搶占式調(diào)度):需要設(shè)置多個就緒隊列,并且為它們分別賦予不同的優(yōu)先級。每隊列分配不同的時間片,規(guī)定優(yōu)先級越低則時間片越長。新進(jìn)程就緒后,先插入隊列1的末尾,按FCFS算法調(diào)度。若一個時間片未能執(zhí)行完,則降低插入到隊列2的末尾;依此類推,降低到最后的隊列,則按“時間片輪轉(zhuǎn)”算法調(diào)度直到完成。進(jìn)程由于等待事件而放棄CPU后,進(jìn)入等待隊列,一旦等待的事件發(fā)生,則回到原來的就緒隊列。只有當(dāng)較高優(yōu)先級的隊列為空時,才調(diào)度較低優(yōu)先級隊列中的進(jìn)程執(zhí)行。如果進(jìn)程執(zhí)行時有新進(jìn)程進(jìn)入較高優(yōu)先級的隊列,則需要重新調(diào)度,搶先執(zhí)行新進(jìn)程,并把被搶先的進(jìn)程插入原隊列的末尾。20.什么是靜態(tài)和動態(tài)優(yōu)先級?如何確定靜態(tài)優(yōu)先級?答:靜態(tài)優(yōu)先級是在系統(tǒng)創(chuàng)建時確定的,一經(jīng)確定之后在整個進(jìn)程運行期間不再改變。動態(tài)優(yōu)先級是在進(jìn)程運行前先確定一個優(yōu)先級,進(jìn)程運行過程中根據(jù)進(jìn)程等待時間的長短、執(zhí)行時間的多少、輸入輸出信息量的大小等,通過計算得到新的優(yōu)先級。21.在一個單道批處理系統(tǒng)中,一組作業(yè)的到達(dá)時間和運行時間如下表所示。試計算使用先來先服務(wù)、短作業(yè)優(yōu)先、高響應(yīng)比優(yōu)先算法時的平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間。作業(yè)到達(dá)時間運行時間18.01.028.50.539.00.249.10.1答:用T表示周轉(zhuǎn)時間,用W表示帶權(quán)周轉(zhuǎn)時間FCFS的作業(yè)調(diào)度情況如下:作業(yè)提交時間運行時間開始時間結(jié)束時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.01.08.09.01.01.028.50.59.09.51.02.039.00.29.59.70.73.549.10.19.79.80.77.0FCFS的T=(1.0+1.0+0.7+0.7)/4=0.85W=(1.0+2.0+3.5+7.0)/4=3.375SJF的作業(yè)調(diào)度情況如下:作業(yè)提交時間運行時間開始時間結(jié)束時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.01.08.09.01.01.028.50.59.39.81.32.639.00.29.09.20.21.049.10.19.29.30.22.0SJF的T=(1.0+1.3+0.2+0.2)/4=0.675W=(1.0+2.6+1.0+2.0)/4=1.65高響應(yīng)比優(yōu)先的作業(yè)調(diào)度情況如下:作業(yè)提交時間運行時間開始時間結(jié)束時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.01.08.09.01.01.028.50.59.09.51.02.039.00.29.69.80.84.049.10.19.59.60.55.0高響應(yīng)比算法的T=(1.0+1.0+0.8+0.5)/4=0.825W=(1.0+2.0+4.0+5.0)/4=3.0Linux進(jìn)程有幾個狀態(tài),簡述各狀態(tài)的轉(zhuǎn)換條件。答:1)運行狀態(tài)2)可中斷睡眠狀態(tài)3)不可中斷睡眠狀態(tài)4)暫停狀態(tài)5)跟蹤狀態(tài)6)僵死狀態(tài)7)退出狀態(tài)進(jìn)程創(chuàng)建時的狀態(tài)為不可中斷睡眠狀態(tài),在do_fork()結(jié)束前被父進(jìn)程喚醒后,變?yōu)閳?zhí)行狀態(tài),適當(dāng)時候獲得CPU。獲得CPU且正在運行的進(jìn)程若申請不到某個資源時,進(jìn)入睡眠狀態(tài),如果調(diào)用sleep_on(),則其狀態(tài)變?yōu)椴豢芍袛嗨郀顟B(tài),如果調(diào)用interruptible_sleep_on(),則其狀態(tài)變?yōu)榭芍袛嗨郀顟B(tài),當(dāng)進(jìn)程獲取所申請的資源時,睡眠進(jìn)程進(jìn)入運行狀態(tài)。當(dāng)系統(tǒng)調(diào)用do_exit()時,進(jìn)程進(jìn)入僵死狀態(tài)。若進(jìn)程通過系統(tǒng)調(diào)用設(shè)置標(biāo)志PF_SYSTRACE,則在系統(tǒng)調(diào)用返回前進(jìn)入函數(shù)syscall_trace(),狀態(tài)改為暫停。只有通過其他進(jìn)程發(fā)送的信號SIG_KILL或SIG_CONT,才能把暫停狀態(tài)進(jìn)程喚醒,重新進(jìn)入run-queue隊列。23.Linux中的線程調(diào)度算法有幾種,簡述之?答:調(diào)度策略有三種:SCHED_OTHER(普通分時調(diào)度策略):它是缺省
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟包裝材料生產(chǎn)流程優(yōu)化方案
- 大眾汽車發(fā)動機知識培訓(xùn)課件
- 公司服裝水洗工數(shù)字化技能考核試卷及答案
- 公司陶瓷工藝品成型師技能比武考核試卷及答案
- 公司顏料化操作工基本職業(yè)素養(yǎng)考核試卷及答案
- 施工現(xiàn)場勘測與風(fēng)險評估方案
- 建設(shè)工程施工安全與健康管理方案
- 玄武巖纖維及制品生產(chǎn)線項目建設(shè)工程方案
- 2025廣東中山市教體系統(tǒng)事業(yè)單位招聘事業(yè)單位人員79人(第四期)模擬試卷(含答案詳解)
- 新生財務(wù)知識培訓(xùn)內(nèi)容課件
- 幼兒園防欺凌治理委員會
- 蜜蜂公司創(chuàng)業(yè)計劃書
- 三上第五單元教材解讀
- 硅灰石市場需求分析報告
- 外研版-高一英語單詞表-必修一默寫糾正打印版-實用見效
- 2-綿陽一診地理評講(2021級2024屆)
- 醫(yī)學(xué)圖像存儲和傳輸系統(tǒng)課件
- 手汗癥的護(hù)理
- 酒店客房價格折扣規(guī)定
- 康養(yǎng)文化課件
- 阿里巴巴國際站規(guī)則
評論
0/150
提交評論