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

正文內(nèi)容

操作系統(tǒng)精髓與設(shè)計原理第五版練習(xí)題及答案-文庫吧

2025-06-13 09:37 本頁面


【正文】 看這些數(shù)據(jù)已確定系統(tǒng)的負(fù)荷,通過減少加在系統(tǒng)上的活躍作業(yè)來保持較高的平均利用率。典型的平均時間應(yīng)該是兩分鐘以上,這個平均時間看起來很長,其實(shí)并不長。第3章 進(jìn)程描述和控制. 給出操作系統(tǒng)進(jìn)行進(jìn)程管理時的五種主要活動,并簡單描述為什么需要它們。答:用戶進(jìn)程和系統(tǒng)進(jìn)程創(chuàng)建及刪除。系統(tǒng)中的進(jìn)程可以為信息共享、運(yùn)算加速、模塊化和方便并發(fā)地執(zhí)行。而并發(fā)執(zhí)行需要進(jìn)程的創(chuàng)建和刪除機(jī)制。當(dāng)進(jìn)程創(chuàng)建或者運(yùn)行時分配給它需要的資源。當(dāng)進(jìn)程終止時,操作系統(tǒng)需要收回任何可以重新利用的資源。進(jìn)程的暫停和繼續(xù)執(zhí)行。在進(jìn)程調(diào)度中,當(dāng)進(jìn)程在等待某些資源時,操作系統(tǒng)需要將它的狀態(tài)改變?yōu)榈却蚓途w狀態(tài)。當(dāng)所需要的資源可用時,操作系統(tǒng)需要將它的狀態(tài)變?yōu)檫\(yùn)行態(tài)以使其繼續(xù)執(zhí)行。提供進(jìn)程的同步機(jī)制。合作的進(jìn)程可能需要共享數(shù)據(jù)。對共享數(shù)據(jù)的并行訪問可能會導(dǎo)致數(shù)據(jù)沖突。操作系統(tǒng)必須提供進(jìn)程的同步機(jī)制以使合作進(jìn)程有序地執(zhí)行,從而保證數(shù)據(jù)的一致性。提供進(jìn)程的通信機(jī)制。操作系統(tǒng)下執(zhí)行的進(jìn)程既可以是獨(dú)立進(jìn)程也可以是合作進(jìn)程。合作進(jìn)程之間必須具有一定的方式進(jìn)行通信。提供進(jìn)程的死鎖解決機(jī)制。在多道程序環(huán)境中,多個進(jìn)程可能會競爭有限的資源。如果發(fā)生死鎖,所有的等待進(jìn)程都將永遠(yuǎn)不能由等待狀態(tài)再變?yōu)檫\(yùn)行態(tài),資源將被浪費(fèi),工作永遠(yuǎn)不能完成。. 在[PINK89] 中為進(jìn)程定義了以下狀態(tài):執(zhí)行(運(yùn)行)態(tài)、活躍(就緒)態(tài)、阻塞態(tài)和掛起態(tài)。當(dāng)進(jìn)程正在等待允許使用某一資源時,它處于阻塞態(tài);當(dāng)進(jìn)程正在等待它已經(jīng)獲得的某種資源上的操作完成時,它處于掛起態(tài)。在許多操作系統(tǒng)中,這兩種狀態(tài)常常放在一起作為阻塞態(tài),掛起態(tài)使用本章中給出的定義。請比較這兩組定義的優(yōu)點(diǎn)。答:[PINK89]中引用了以下例子來闡述其中阻塞和掛起的定義:假設(shè)一個進(jìn)程已經(jīng)執(zhí)行了一段時間,它需要一個額外的磁帶設(shè)備來寫出一個臨時文件。在它開始寫磁帶之前,進(jìn)程必須得到使用某一設(shè)備的許可。當(dāng)它做出請求時,磁帶設(shè)備可能并不可用,這種情況下,該進(jìn)程就處于阻塞態(tài)。假設(shè)操作系統(tǒng)在某一時刻將磁帶設(shè)備分配給了該進(jìn)程,這時進(jìn)程就重新變?yōu)榛钴S態(tài)。當(dāng)進(jìn)程重新變?yōu)閳?zhí)行態(tài)時要對新獲得的磁帶設(shè)備進(jìn)行寫操作。這時進(jìn)程變?yōu)閽炱饝B(tài),等待該磁帶上當(dāng)前所進(jìn)行的寫操作完成。這種對等待某一設(shè)備的兩種不同原因的區(qū)別,在操作系統(tǒng)組織其工作時是非常有用的。然而這并不能表明那些進(jìn)程是換入的,那些進(jìn)程是換出的。后一種區(qū)別是必需的,而且應(yīng)該在進(jìn)程狀態(tài)中以某種形式表現(xiàn)出來。. (b)中給出的7狀態(tài)進(jìn)程模型,(b)畫出它的排隊圖。答:。該圖可以很容易的推廣到多個阻塞隊列的情形。. (b)中的狀態(tài)轉(zhuǎn)換圖。假設(shè)操作系統(tǒng)正在分派進(jìn)程,有進(jìn)程處于就緒態(tài)和就緒/掛起態(tài),并且至少有一個處于就緒/掛起態(tài)的進(jìn)程比處于就緒態(tài)的所有進(jìn)程的優(yōu)先級都高。有兩種極端的策略:(1)總是分派一個處于就緒態(tài)的進(jìn)程,以減少交換;(2)總是把機(jī)會給具有最高優(yōu)先級的進(jìn)程,即使會導(dǎo)致在不需要交換時進(jìn)行交換。請給出一種能均衡考慮優(yōu)先級和性能的中間策略。答:對于一個就緒/掛起態(tài)的進(jìn)程,降低一定數(shù)量(如一或兩個)優(yōu)先級,從而保證只有當(dāng)一個就緒/掛起態(tài)的進(jìn)程比就緒態(tài)的進(jìn)程的最高優(yōu)先級還高出幾個優(yōu)先級時,它才會被選做下一個執(zhí)行。. 。a. 請給出這么多種等待狀態(tài)的理由。b. 為什么以下狀態(tài)沒有駐留和換出方案:頁錯誤等待、也沖突等待、公共事件等待、自由頁等待和資源等待。c. 請畫出狀態(tài)轉(zhuǎn)換圖,并指出引發(fā)狀態(tài)裝換的原因。答:a. 每一種等待狀態(tài)都有一個單獨(dú)的隊列與其相關(guān)聯(lián)。當(dāng)影響某一等待進(jìn)程的事件發(fā)生時,把等待進(jìn)程分成不同的隊列就減少了定位這一等待進(jìn)程所需的工作量。例如,當(dāng)一個頁錯誤完成時,調(diào)度程序就可以在頁錯誤等待隊列中找到等待的進(jìn)程。b. 在這些狀態(tài)下,允許進(jìn)程被換出只會使效率更低。例如,當(dāng)發(fā)生頁錯誤等待時,進(jìn)程正在等待換入一個頁從而使其可以執(zhí)行,這是將進(jìn)程換出是毫無意義的。c. 可以由下面的進(jìn)程狀態(tài)轉(zhuǎn)換表得到狀態(tài)轉(zhuǎn)換圖。當(dāng)前狀態(tài) 下一狀態(tài)當(dāng)前正在執(zhí)行可計算(駐留)可計算(換出)各種等待狀態(tài)(駐留)各種等待狀態(tài)(換出)當(dāng)前正在執(zhí)行重調(diào)度等待可計算(駐留)調(diào)度換出可計算(換出)換入各種等待狀態(tài)(駐留)事件發(fā)生換出各種等待狀態(tài)(換出)事件發(fā)生. VAM/VMS操作系統(tǒng)采用了四種處理器訪問模式,以促進(jìn)系統(tǒng)資源在進(jìn)程間的保護(hù)和共享。訪問模式確定:l 指令執(zhí)行特權(quán):處理器將執(zhí)行什么指令。l 內(nèi)存訪問特權(quán):當(dāng)前指令可能訪問虛擬內(nèi)存中的哪個單元。四種模式如下:l 內(nèi)核模式:執(zhí)行VMS操作系統(tǒng)的內(nèi)核,包括內(nèi)存管理、中斷處理和I/O操作。l 執(zhí)行模式:執(zhí)行許多操作系統(tǒng)服務(wù)調(diào)用,包括文件(磁盤和磁帶)和記錄管理例程。l 管理模式:執(zhí)行其他操作系統(tǒng)服務(wù),如響應(yīng)用戶命令。l 用戶模式:執(zhí)行用戶程序和諸如編譯器、編輯器、鏈接程序、調(diào)試器之類的實(shí)用程序。在較少特權(quán)模式執(zhí)行的進(jìn)程通常需要調(diào)用在較多特權(quán)模式下執(zhí)行的過程,例如,一個用戶程序需要一個操作系統(tǒng)服務(wù)。這個調(diào)用通過使用一個改變模式(簡稱CHM)指令來實(shí)現(xiàn),該指令將引發(fā)一個中斷,把控制轉(zhuǎn)交給處于新的訪問模式下的例程,并通過執(zhí)行REI(Return from Exception or Interrupt,從異?;蛑袛喾祷兀┲噶罘祷亍. 很多操作系統(tǒng)有兩種模式,內(nèi)核和用戶,那么提供四種模式有什么優(yōu)點(diǎn)和缺點(diǎn)?b. 你可以舉出一種有四種以上模式的情況嗎?答:a. 四種模式的優(yōu)點(diǎn)是對主存的訪問控制更加靈活,能夠?yàn)橹鞔嫣峁└玫谋Wo(hù)。缺點(diǎn)是復(fù)雜和處理的開銷過大。例如,程序在每一種執(zhí)行模式下都要有一個獨(dú)立的堆棧。b. 原則上,模式越多越靈活,但是四種以上的模式似乎很難實(shí)現(xiàn)。. 在前面習(xí)題中討論的VMS方案常常稱為環(huán)狀保護(hù)結(jié)構(gòu)。,[SILB04]指出了這種方法的問題:環(huán)狀(層次)結(jié)構(gòu)的主要缺點(diǎn)是它不允許我們實(shí)施須知原理,特別地,如果一個對象必須在域Dj中可訪問,但在域Di中不可訪問,則必須有就ji。這意味著在Di中可訪問的每個段在Dj中都可以訪問。a. 請清楚地解釋上面引文中提出的問題。b. 請給出環(huán)狀結(jié)構(gòu)操作系統(tǒng)解決這個問題的一種方法。答:a. 當(dāng)ji時,運(yùn)行在Di中的進(jìn)程被禁止訪問Dj中的對象。因此,如果Dj中包含的信息比Di中的更具有特權(quán)或者要求的安全性更高,那么這種限制就是合理的。然而,通過以下方法卻可以繞過這種安全策略。一個運(yùn)行在Dj中的進(jìn)程可以讀取Dj中的數(shù)據(jù),然后把數(shù)據(jù)復(fù)制到Di中。隨后,Di中的進(jìn)程就可以訪問這些信息了。b. 有一種解決這一問題的方法叫做可信系統(tǒng),我們將在16章中進(jìn)行討論。. (b)表明一個進(jìn)程每次只能在一個事件隊列中。a. 是否能夠允許進(jìn)程同時等待一個或多個事件?請舉例說明。b. 在這種情況下,如何修改圖中的排隊結(jié)構(gòu)以支持這個新特點(diǎn)?答:a. 一個進(jìn)程可能正在處理從另一個進(jìn)程收到的數(shù)據(jù)并將結(jié)果保存到磁盤上。如果當(dāng)前在另一個進(jìn)程中正有數(shù)據(jù)在等待被取走,進(jìn)程就可以繼續(xù)獲得數(shù)據(jù)并處理它。如果前一個寫磁盤操作已經(jīng)完成,并且有處理好的數(shù)據(jù)在等待寫出,那么進(jìn)程就可以繼續(xù)寫磁盤。這樣就可能存在某一時刻,進(jìn)程即在等待從輸入進(jìn)程獲得數(shù)據(jù),又在等待磁盤可用。b. 有很多種方法解決這一問題??梢允褂靡环N特殊的隊列,或者將進(jìn)程放入兩個獨(dú)立的隊列中。不論采用哪種方法,操作系統(tǒng)都必須處理好細(xì)節(jié)工作,使進(jìn)程相繼地關(guān)注兩個事件的發(fā)生。. 在很多早期計算機(jī)中,中斷導(dǎo)致寄存器值被保存在與給定的中斷信息相關(guān)聯(lián)的固定單元。在什么情況下這是一種實(shí)用的技術(shù)?請解釋為什么它通常是不方便的。答:這種技術(shù)是基于被中斷的進(jìn)程A在中斷響應(yīng)之后繼續(xù)執(zhí)行的假設(shè)的。但是,在通常情況下,中斷可能會導(dǎo)致另一個進(jìn)程B搶占了進(jìn)程A。這是就必須將進(jìn)程A的執(zhí)行狀態(tài)從與中斷相關(guān)的位置復(fù)制到與A相關(guān)的進(jìn)程描述中。然而機(jī)器卻有可能仍將它們保存到前一位置。參考:[BRIN73]。. ,由于在內(nèi)核模式下執(zhí)行的進(jìn)程是不能被搶占的,因此UNIX不適用于實(shí)時應(yīng)用。請闡述原因。答:由于存在進(jìn)程不能被搶占的情況(如在內(nèi)核模式下執(zhí)行的進(jìn)程),操作系統(tǒng)不可能對實(shí)時需求給予迅速的反應(yīng)。第4章 線程、對稱多處理和微內(nèi)核. 一個進(jìn)程中的多個線程有以下兩個優(yōu)點(diǎn):(1)在一個已有進(jìn)程中創(chuàng)建一個新線程比創(chuàng)建一個新進(jìn)程所需的工作量少;(2)在同一個進(jìn)程中的線程間的通信比較簡單。請問同一個進(jìn)程中的兩個線程間的模式切換與不同進(jìn)程中的兩個線程間的模式切換相比,所需的工作量是否要少?答:是的,因?yàn)閮蓚€進(jìn)程間的模式切換要儲存更多的狀態(tài)信息。. 在比較用戶級線程和內(nèi)核級線程時曾指出用戶級線程的一個缺點(diǎn),即當(dāng)一個用戶級線程執(zhí)行系統(tǒng)調(diào)用時,不僅這個線程被阻塞,而且進(jìn)程中的所有線程都被阻塞。請問這是為什么?答:因?yàn)閷τ谟脩艏壘€程來說,一個進(jìn)程的線程結(jié)構(gòu)對操作系統(tǒng)是不可見的,而操作系統(tǒng)的調(diào)度是以進(jìn)程為單位的。. 在OS/2中,其他操作系統(tǒng)中通用的進(jìn)程概念被分成了三個獨(dú)立類型的實(shí)體:會話、進(jìn)程和線程。一個會話是一組與用戶接口(鍵盤、顯示器、鼠標(biāo))相關(guān)聯(lián)的一個或多個進(jìn)程。會話代表了一個交互式的用戶應(yīng)用程序,如字處理程序或電子表格,這個概念使得PC用戶可以打開一個以上的應(yīng)用程序,在屏幕上顯示一個或更多個窗口。操作系統(tǒng)必須知道哪個窗口,即哪個會話是活躍的,從而把鍵盤和鼠標(biāo)的輸入傳遞個相應(yīng)的會話。在任何時刻,只有一個會話在前臺模式,其他的會話都在后臺模式,鍵盤和鼠標(biāo)的所有輸入都發(fā)送給前臺會話的一個進(jìn)程。當(dāng)一個會話在前臺模式時,執(zhí)行視頻輸出的進(jìn)程直接把它發(fā)送到硬件視頻緩沖區(qū)。當(dāng)一個會話在后臺時,如果該會話的任何一個進(jìn)程的任何一個線程正在執(zhí)行并產(chǎn)生屏幕輸出,則這個輸出被送到邏輯視頻緩沖區(qū);當(dāng)這個會話返回前臺時,屏幕被更新,為新的前臺會話反映出邏輯視頻緩沖區(qū)中的當(dāng)前內(nèi)容。有一種方法可以把OS/2中與進(jìn)程相關(guān)的概念的數(shù)目從3個減少到2個。刪去會話,把用戶接口(鍵盤、顯示器、鼠標(biāo))和進(jìn)程關(guān)聯(lián)起來。這樣,在某一時刻,只有一個進(jìn)程處于前臺模式。為了進(jìn)一步地進(jìn)行構(gòu)造,進(jìn)程可以被劃分成線程。a. 使用這種方法會喪失什么優(yōu)點(diǎn)?b. 如果繼續(xù)使用這種修改方法,應(yīng)該在哪里分配資源(存儲器、文件等):在進(jìn)程級還是線程級?答:a. 會話的使用非常適合個人計算機(jī)和工作站對交互式圖形接口的需求。它為明確圖形輸出和鍵盤/鼠標(biāo)輸入應(yīng)該被關(guān)聯(lián)到什么位置提供了一個統(tǒng)一的機(jī)制,減輕了操作系統(tǒng)的工作負(fù)擔(dān)。b. 應(yīng)該和其他的進(jìn)程/線程系統(tǒng)一樣,在進(jìn)程級分配地址空間和文件。. 考慮這樣一個環(huán)境,用戶級線程和內(nèi)核級線程呈一對一的映射關(guān)系,并且允許進(jìn)程中的一個或多個線程產(chǎn)生會引發(fā)阻塞的系統(tǒng)調(diào)用,而其他線程可以繼續(xù)運(yùn)行。解釋為什么這個模型可以使多線程程序比在單處理器機(jī)器上的相應(yīng)的單線程程序運(yùn)行速度更快?答:問題在于機(jī)器會花費(fèi)相當(dāng)多的時間等待I/O操作的完成。在一個多線程程序中,可能一個內(nèi)核級線程會產(chǎn)生引發(fā)阻塞的系統(tǒng)調(diào)用,而其他內(nèi)核級線程可以繼續(xù)執(zhí)行。而在單處理器機(jī)器上,進(jìn)程則必須阻塞知道所有的系統(tǒng)調(diào)用都可以繼續(xù)運(yùn)行。參考:[LEWI96]. 如果一個進(jìn)程退出時,該進(jìn)程的某些線程仍在運(yùn)行,請問他們會繼續(xù)運(yùn)行嗎?答:不會。當(dāng)一個進(jìn)程退出時,會帶走它的所有東西——內(nèi)核級線程,進(jìn)程結(jié)構(gòu),存儲空間——包括線程。參考:[LEWI96]. OS/390主機(jī)操作系統(tǒng)圍繞著地址空間和任務(wù)的概念構(gòu)造。粗略說來,一個地址空間對應(yīng)于一個應(yīng)用程序,并且或多或少地對應(yīng)于其他操作系統(tǒng)中的一個進(jìn)程;在一個地址空間中,可以產(chǎn)生一組任務(wù),并且它們可以并發(fā)執(zhí)行,這大致對應(yīng)于多線程的概念。管理任務(wù)結(jié)構(gòu)有兩個主要的數(shù)據(jù)結(jié)構(gòu)。地址空間控制塊(ASCB)含有OS/390所需要的關(guān)于一個地址空間的信息,而不論該地址空間是否在執(zhí)行。ASCB中的信息包括分派優(yōu)先級、分配給該地址空間的實(shí)存和虛存、該地址空間中就緒的任務(wù)數(shù)以及是否每個都被換出。一個任務(wù)控制塊(TCB)標(biāo)識一個正在執(zhí)行的用戶程序,它含有在一個地址空間中管理該任務(wù)所需要的信息,包括處理器狀態(tài)信息、指向該任務(wù)所涉及到的程序的指針和任務(wù)執(zhí)行結(jié)構(gòu)。ASCB是在系統(tǒng)存儲器中保存的全局結(jié)構(gòu),而TCB是保存在各自的地址空間中的局部結(jié)構(gòu)。請問把控制信息劃分成全局和局部兩部分有什么好處?答:關(guān)于一個地址空間的盡可能多的信息可以隨地址空間被換出,從而節(jié)約了主存。. 一個多處理系統(tǒng)有8個處理器和20個附加磁帶設(shè)備。現(xiàn)在有大量的作業(yè)提交給該系統(tǒng),完成每個作業(yè)最多需要4個磁帶設(shè)備。假設(shè)每個作業(yè)開始運(yùn)行時只需要3個磁帶設(shè)備,并且在很長時間內(nèi)都只需要這3個設(shè)備,而只是在最后很短的一段時間內(nèi)需要第4個設(shè)備以完成操作。同時還假設(shè)這類作業(yè)源源不斷。a. 假設(shè)操作系統(tǒng)中的調(diào)度器只有當(dāng)4個磁帶設(shè)備都可用時才開始一個作業(yè)。當(dāng)作業(yè)開始時,4個設(shè)備立即被分配給它,并且直到作業(yè)完成時才被釋放。請問一次最多可以同時執(zhí)行幾個作業(yè)?采用這種策略,最多有幾個磁帶設(shè)備可能是空閑的?最少有幾個?b. 給出另外一種策略,要求其可以提高磁帶設(shè)備的利用率,并且同時可以避免系統(tǒng)死鎖。分析最多可以有幾個作業(yè)同時執(zhí)行,可能出現(xiàn)的空閑設(shè)備的范圍是多少。答:a. 采用一個保守的策略,一次最多同時執(zhí)行20/4=5個作業(yè)。由于分配各一個任務(wù)的磁帶設(shè)備最多同時只有一個空閑,所以在同一時刻最多有5個磁帶設(shè)備可能是空閑的。在最好的情況下沒有磁帶設(shè)備空閑。b. 為了更好的利用磁設(shè)備,每個作業(yè)在最初只分配三個磁帶設(shè)備。第四個只有的需要的時候才分配。在這種策略中,最多可以有20/3=6個作業(yè)同時執(zhí)行。最少的空閑設(shè)備數(shù)量為0,最多有2個。參考:Advanced Computer Architectrue,1993.. 在描述Solaris用戶級線程狀態(tài)時,曾表明一個用戶級線程可能讓位于具有相同優(yōu)先級的另一個線程。請問,如果有一個可運(yùn)行的、具有更高優(yōu)先級的線程,讓位函數(shù)是否還會導(dǎo)致讓位于具有相同優(yōu)先級或更高優(yōu)先級的線程?答:任何一個可能改變線程優(yōu)先級或者使更高優(yōu)先級的線程可運(yùn)行的調(diào)用都會引起調(diào)度,它會依次搶占低優(yōu)先級的活躍線程
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1