操作系統(tǒng)概念第七版習(xí)題答案(中文版_第1頁
操作系統(tǒng)概念第七版習(xí)題答案(中文版_第2頁
操作系統(tǒng)概念第七版習(xí)題答案(中文版_第3頁
操作系統(tǒng)概念第七版習(xí)題答案(中文版_第4頁
操作系統(tǒng)概念第七版習(xí)題答案(中文版_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1.1在多道程序和分時環(huán)境中,多個用戶同時共享一個系統(tǒng),這種情況導(dǎo)致多種安全問題。a. 列出此類的問題b.在一個分時機器中,能否確保像在專用機器上一樣的安全度?并解釋之。Answer:a.竊取或者復(fù)制某用戶的程序或數(shù)據(jù);沒有合理的預(yù)算來使用資源(CPU,內(nèi)存,磁盤空間,外圍設(shè)備)應(yīng)該不行,因為人類設(shè)計的任何保護機制都會不可避免的被另外的人所破譯,而且很自信的認為程序本身的實現(xiàn)是正確的是一件困難的事。1.2資源的利用問題在各種各樣的操作系統(tǒng)中出現(xiàn)。試例舉在下列的環(huán)境中哪種資源必須被嚴格的管理。()大型電腦或迷你電腦系統(tǒng)()與服務(wù)器相聯(lián)的工作站()手持電腦Answer: ()大型電腦或迷你電腦系統(tǒng)

2、:內(nèi)存和CPU資源,外存,網(wǎng)絡(luò)帶寬()與服務(wù)器相聯(lián)的工作站:內(nèi)存和CPU資源()手持電腦:功率消耗,內(nèi)存資源1.3在什么情況下一個用戶使用一個分時系統(tǒng)比使用一臺個人計算機或單用戶工作站更好?Answer:當另外使用分時系統(tǒng)的用戶較少時,任務(wù)十分巨大,硬件速度很快,分時系統(tǒng)有意義。充分利用該系統(tǒng)可以對用戶的問題產(chǎn)生影響。比起個人電腦,問題可以被更快的解決。還有一種可能發(fā)生的情況是在同一時間有許多另外的用戶在同一時間使用資源。當作業(yè)足夠小,且能在個人計算機上合理的運行時,以及當個人計算機的性能能夠充分的運行程序來達到用戶的滿意時,個人計算機是最好的,。1.4在下面舉出的三個功能中,哪個功能在下列兩

3、種環(huán)境下,(a)手持裝置(b)實時系統(tǒng)需要操作系統(tǒng)的支持?(a)批處理程序(b)虛擬存儲器(c)分時Answer:對于實時系統(tǒng)來說,操作系統(tǒng)需要以一種公平的方式支持虛擬存儲器和分時系統(tǒng)。對于手持系統(tǒng),操作系統(tǒng)需要提供虛擬存儲器,但是不需要提供分時系統(tǒng)。批處理程序在兩種環(huán)境中都是非必需的。1.5描述對稱多處理()和非對稱多處理之間的區(qū)別。多處理系統(tǒng)的三個優(yōu)點和一個缺點?Answer:意味著所以處理器都對等,而且I/O可以在任何處理器上運行。非對稱多處理有一個主處理器控制系統(tǒng),與剩下的處理器是隨從關(guān)系。主處理器為從處理器安排工作,而且I/O也只在主處理器上運行。多處理器系統(tǒng)能比單處理器系統(tǒng)節(jié)省資金

4、,這是因為他們能共享外設(shè),大容量存儲和電源供給。它們可以更快速的運行程序和增加可靠性。多處理器系統(tǒng)能比單處理器系統(tǒng)在軟、硬件上也更復(fù)雜(增加計算量、規(guī)模經(jīng)濟、增加可靠性)1.6集群系統(tǒng)與多道程序系統(tǒng)的區(qū)別是什么?兩臺機器屬于一個集群來協(xié)作提供一個高可靠性的服務(wù)器的要求是什么?Answer:集群系統(tǒng)是由多個計算機耦合成單一系統(tǒng)并分布于整個集群來完成計算任務(wù)。另一方面,多道程序系統(tǒng)可以被看做是一個有多個CPU組成的單一的物理實體。集群系統(tǒng)的耦合度比多道程序系統(tǒng)的要低。集群系統(tǒng)通過消息進行通信,而多道程序系統(tǒng)是通過共享的存儲空間。為了兩臺處理器提供較高的可靠性服務(wù),兩臺機器上的狀態(tài)必須被復(fù)制,并且要

5、持續(xù)的更新。當一臺處理器出現(xiàn)故障時,另一臺處理器能夠接管故障處理的功能。1.7試區(qū)分分布式系統(tǒng)(distribute system)的客戶機-服務(wù)器(client-server)模型與對等系統(tǒng)(peer-to-peer)模型Answer: 客戶機-服務(wù)器(client-server)模型可以由客戶機和服務(wù)器的角色被區(qū)分。在這種模型下,客戶機向服務(wù)器發(fā)出請求,然后服務(wù)器滿足這種請求。對等系統(tǒng)(peer-to-peer)模型沒有這種嚴格的區(qū)分角色,。實際上,在系統(tǒng)中的所有結(jié)點被看做是對等的,而且這些結(jié)點既可以是客戶機也可以是服務(wù)器,或者兩這都是。也許一個結(jié)點從另一個對等結(jié)點上請求一個服務(wù),或者,這

6、個結(jié)點滿足在系統(tǒng)中的另一個結(jié)點的請求。比如,一個系統(tǒng)中的結(jié)點共享烹飪方法。在客戶機-服務(wù)器(client-server)模型下,所有方法都被存儲在服務(wù)器上。如果一個客戶機想要獲得烹飪方法,它必須向那臺服務(wù)器發(fā)出請求。在對等系統(tǒng)(peer-to-peer)模型下,一個結(jié)點可以向另外的結(jié)點請求指定的烹飪方法。存儲了這種烹飪方法的那個結(jié)點(或幾個結(jié)點)可以把烹飪的方法提供給發(fā)出請求的結(jié)點。注意每個對等結(jié)點既可以扮演客戶機(發(fā)出請求),也可以扮演服務(wù)器(提供請求)。1.8如果一個由兩個結(jié)點組成的集群系統(tǒng)正在運行一個數(shù)據(jù)庫,試描述集群軟件可以用哪兩種方法管理存取磁盤的數(shù)據(jù),并說明每種方法的優(yōu)點和缺點。A

7、nswer:兩種方法:非對稱集群系統(tǒng)(asymmetric clustering)和并行集群系統(tǒng)(parallel clustering).對于非對稱集群系統(tǒng),一個主機運行這個數(shù)據(jù)庫,而其它主機只是監(jiān)測這個數(shù)據(jù)庫。如果服務(wù)器出現(xiàn)故障,進行監(jiān)測的主機就會轉(zhuǎn)變成運行這個數(shù)據(jù)庫的主機。這是提供適當?shù)娜哂?。然而,它沒有利用具有潛在處理能力的主機。對于并行集群系統(tǒng),數(shù)據(jù)庫可以在兩個并行的主機上運行。在并行集群系統(tǒng)上實現(xiàn)的困難是提供一些分布式鎖機制給共享磁盤上的文件。1.9網(wǎng)絡(luò)計算機是怎樣不同與傳統(tǒng)的個人計算機的?試取出一些使用網(wǎng)絡(luò)計算機的好處的方案。Answer:網(wǎng)絡(luò)計算機是基于一臺核心的計算機作為其服

8、務(wù)器。同時,它也具有一個最小化的操作系統(tǒng)來管理這些資源。另一方面,個人計算機必須在不依賴于核心計算機的基礎(chǔ)上,能夠獨立提供所有被請求的功能。在行政花費太高以及共享導(dǎo)致更高效的使用資源的情景下是精確的,在這些環(huán)境中網(wǎng)絡(luò)計算機是理想的。1.10中斷(interupt)的目的是什么?陷阱(trap)與中斷的區(qū)別是什么?陷阱可以被用戶程序(user program)有意地的產(chǎn)生嗎?如果可以,那目的是什么?Answer: 中斷是一種在系統(tǒng)內(nèi)硬件產(chǎn)生的流量變化。中斷操作裝置是用來處理中斷請求;然后返回控制中斷的上下文和指令。陷阱是軟件產(chǎn)生的中斷。中斷可以被用來標志 I/O的完成,從而排除設(shè)備投票站(dev

9、ice polling)的需要。陷阱可以被用來調(diào)用操作系統(tǒng)的程序或者捕捉到算術(shù)錯誤。1.11內(nèi)存存儲是被用于高速的I/O設(shè)備,其目的是為了避免增加CPU的過度運行。(a)設(shè)備的CPU接口是怎樣與轉(zhuǎn)換器(transfer)協(xié)作的?(b)當內(nèi)存操作完全時,CPU是怎么知道的?(c)當DMA控制器正在轉(zhuǎn)換數(shù)據(jù)時,CPU是被允許運行其它程序的。這種進程與用戶程序的運行沖突嗎?如果沖突的話,試描述可能引起哪種沖突?Answer: CPU可以通過寫數(shù)據(jù)到可以被設(shè)備獨立存儲的寄存器中來啟動DMA操作。當設(shè)備接收到來自CPU的命令時,啟動響應(yīng)的操作。當設(shè)備完成此操作時,就中斷CPU來說明操作已經(jīng)完成。設(shè)備和C

10、PU都可以被內(nèi)存同時訪問。內(nèi)存控制器對這兩個實體以公平的方式給內(nèi)存總線提供存取。CPU可能不能同時以很快的速度配給給內(nèi)存操作,因為它必須去競爭設(shè)備而使得自己存取到內(nèi)存總線中去。1.12一些計算機系統(tǒng)沒有在硬件中提供個人模式(privileged mode)。對于這種計算機系統(tǒng)來說,可能構(gòu)成安全的操作系統(tǒng)嗎?對可能和不可能兩種情況分別給出理由。Answer:一種類型處理器的操作系統(tǒng)需要在任何時候都被控制(或監(jiān)測模式)。有兩種方法可以完成這個操作:a.所有用戶程序的軟件翻譯(像一些BASIC,Java,LISP systems)。在軟件中,軟件解釋程序能夠提供硬件所不能提供的。b.要求所有程序都用

11、高級語言編寫,以便于所以目標代碼都被編譯出來。編譯器將會產(chǎn)生硬件忽略的防護性檢查(in-line或功能調(diào)用)。1.13給出緩存(caches)十分有用的兩個理由。他們解決了什么問題?他們引起了什么問題?如果緩存可以被做成裝備想要緩存的容量(例如,緩存像磁盤那么大),為什么不把它做的那么大,其限制的原因是什么?Answer:當兩個或者更多的部件需要交換數(shù)據(jù),以及組成部件以不同的速度完成轉(zhuǎn)換時,緩存是十分有用的。緩存通過在個組成部件之間提供一個中間速度的緩沖區(qū)來解決轉(zhuǎn)換問題。如果速度較快的設(shè)備在緩存中發(fā)現(xiàn)它所要的數(shù)據(jù),它就不需要再等待速度較慢的設(shè)備了。緩存中的數(shù)據(jù)必須與組成部件中的要一致。如果一個

12、組成部件中的數(shù)據(jù)值改變了,緩存中的這個數(shù)據(jù)也必須更新。在多進程系統(tǒng)中,當有不止一個進程可能進入同一個數(shù)據(jù)時,這就成了一個顯著的問題。一個組成部件將會被一個同等大小的組成部件所消除,但是只有當;(a)緩存和組成部件有相同狀態(tài)存儲能力(也就是,當斷電的時候,組成部件還能保存它的數(shù)據(jù),緩存也一樣能保存它的數(shù)據(jù)),(b)緩存是可以負擔的起的,因為速度更快的存儲器意味著更高的價格。1.14試舉例說明在下列的進程環(huán)境中,快速緩沖貯存區(qū)的數(shù)據(jù)保持連貫性的問題是怎樣表明的?(a)單道程序系統(tǒng)(Single-processor systems)(b)多道程序系統(tǒng)(Mulitiprocessor systems)

13、(c)分布式系統(tǒng)(Distribute systems)Answer: 在單道程序系統(tǒng)(Single-processor systems)中,當一個進程發(fā)布更新給快速緩沖貯存區(qū)的數(shù)據(jù)時,內(nèi)存需要被更新。這些更新一種快速的或緩慢的方式執(zhí)行。在多道程序系統(tǒng)(Mulitiprocessor systems)中,不同的進程或許在它的本地存儲上存儲相同的內(nèi)存位置。當更新發(fā)生時,其它存儲的位置需要使其無效或更新。在分布式系統(tǒng)(Distribute systems)中,快速存儲區(qū)數(shù)據(jù)的協(xié)調(diào)不是問題,然而,當客戶機存儲文件數(shù)據(jù)時,協(xié)調(diào)問題就會被提及。1.15試描述一個機器裝置為了阻止一個程序避免修改與其它程序

14、有聯(lián)系的內(nèi)存而執(zhí)行內(nèi)存保護。Answer:處理器可以追蹤哪個位置是與每個進程相聯(lián)系的以及限制進入一個程序的范圍的外面位置。信息與一個程序的內(nèi)存范圍有關(guān),它可以通過使用庫,限制寄存器和對每個進入內(nèi)存的信息執(zhí)行檢查來維持其本身。1.16哪種網(wǎng)絡(luò)結(jié)構(gòu)最適合下列環(huán)境:(a)一個寢室樓層(b)一個大學(xué)校園(c)一個州(d)一個國家。 Answer:(a)一個寢室樓層:A LAN(b)一個大學(xué)校園: A LAN,possibly a WAN for a very large campuses.(c)一個州:A WAN(d)一個國家: A WAN1.17列出下列操作系統(tǒng)的基本特點:a.批處理b.交互式c.分

15、時d.實時e.網(wǎng)絡(luò)f.并行式g.分布式h.集群式i.手持式Answer: a.批處理:具有相似需求的作業(yè)被成批的集合起來,并把它們作為一個整體通過一個操作員或自動作業(yè)程序裝置運行通過計算機。通過緩沖區(qū),線下操作,后臺和多道程序,運用嘗試保持CPU和I/O一直繁忙,從而使得性能被提高。批處理系統(tǒng)對于運行那些需要較少互動的大型作業(yè)十分適用。它們可以被更遲地提交或獲得。b.交互式:這種系統(tǒng)由許多短期交易構(gòu)成,并且下一個交易的結(jié)果是無法預(yù)知的。從用戶提交到等待結(jié)果的響應(yīng)時間應(yīng)該是比較短的,通常為1秒左右。c.分時:這種系統(tǒng)使用CPU調(diào)度和多道程序來經(jīng)濟的提供一個系統(tǒng)的人機通信功能。CPU從一個用戶快速

16、切換到另一個用戶。以每個程序從終端機中讀取它的下一個控制卡,并且把輸出的信息正確快速的輸出到顯示器上來替代用soopled card images定義的作業(yè)。d.實時:經(jīng)常用于專門的用途。這個系統(tǒng)從感應(yīng)器上讀取數(shù)據(jù),而且必須在嚴格的時間內(nèi)做出響應(yīng)以保證正確的性能。e.網(wǎng)絡(luò):提供給操作系統(tǒng)一個特征,使得其進入網(wǎng)絡(luò),比如;文件共享。f.并行式:每一個處理器都運行同一個操作系統(tǒng)的拷貝。這些拷貝通過系統(tǒng)總線進行通信。g.分布式:這種系統(tǒng)在幾個物理處理器中分布式計算,處理器不共享內(nèi)存或時鐘。每個處理器都有它各自的本地存儲器。它們通過各種通信線路在進行通信,比如:一條高速的總線或一個本地的網(wǎng)絡(luò)。h.集群式

17、:集群系統(tǒng)是由多個計算機耦合成單一系統(tǒng)并分布于整個集群來完成計算任務(wù)。i.手持式:一種可以完成像記事本,email和網(wǎng)頁瀏覽等簡單任務(wù)的小型計算機系統(tǒng)。手持系統(tǒng)與傳統(tǒng)的臺式機的區(qū)別是更小的內(nèi)存和屏幕以及更慢的處理能力。1.18手持計算機中固有的折中屬性有哪些?Answer:手提電腦比傳統(tǒng)的臺式PC機要小的多。這是由于手提電腦比臺式PC機具有更小的內(nèi)存,更小的屏幕,更慢的處理能力的結(jié)果。因為這些限制,大多數(shù)現(xiàn)在的手提只能完成基本的任務(wù),比如:記事本,email和簡單的文字處理。然而,由于它們較小的外形,而十分便于攜帶,而且當它們具備無線上網(wǎng)時,就可以提供遠程的email通信和上網(wǎng)功能。2.1操作

18、系統(tǒng)提供的服務(wù)和功能可以分為兩個類別。簡單的描述一下這兩個類別并討論他們的不同點。 Answer:第一種操作系統(tǒng)提供的服務(wù)是用來保護在系統(tǒng)中同時運行的不同進程。進程只被允許獲得與它們地址空間有聯(lián)系的內(nèi)存位置。同樣,進程不允許破壞和其他用戶有關(guān)的文件。一個進程同樣不允許在沒有操作系統(tǒng)的干預(yù)下直接進入設(shè)備。第二種服務(wù)由操作系統(tǒng)提供的服務(wù)是提供一種新的功能,而這種功能并不直接被底層的硬件支持。虛擬存儲器和文件系統(tǒng)就是由操作系統(tǒng)提供的這種新服務(wù)的實例。2.2列出操作系統(tǒng)提供的五項服務(wù)。說明每項服務(wù)如何給用戶提供便利。說明在哪些情況下用戶級程序不能夠提夠這些服務(wù)。 Answer: a.文件執(zhí)行.操作系統(tǒng)

19、一個文件的目錄(或章節(jié))裝入到內(nèi)存并運行。一個用戶程序不能被信任,妥善分配CPU時間。 b.I/O操作. 磁盤,磁帶,串行線,和其他裝置必須在一個非常低的水平下進行通信。用戶只需要指定裝置和操作執(zhí)行要求,然后該系統(tǒng)的要求轉(zhuǎn)換成裝置或控制器的具體命令.用戶級程序不能被信任只在他們應(yīng)該獲得時獲得裝置和只使用那些未被使用的裝置。 c.文件系統(tǒng)操作.在文件創(chuàng)建、刪除、分配和命名時有許多細節(jié)是用戶不能執(zhí)行的。磁盤空間塊被文件所使用并被跟蹤。刪除一個文件需要清除這個文件的信息和釋放被分派給這個文件的空間。用戶程序不僅不能夠保證保護方法的有效實施,也不能夠被信任只會分配空閑的空間和在刪除文件是清空空間。 d

20、.通信.信息在系統(tǒng)間交換要求信息轉(zhuǎn)換成信息包,送到網(wǎng)絡(luò)控制器中,通過通信媒介進行傳播,并由目的地系統(tǒng)重新組裝。信息包調(diào)整和數(shù)據(jù)修改是一定會發(fā)生的。此外,用戶程序也許不能夠協(xié)調(diào)網(wǎng)絡(luò)裝置的取得,或者接收完全不同的其他進程的信息包。 e.錯誤檢測.錯誤檢測在硬件和軟件水平下都會發(fā)生。在硬件水平下,所有數(shù)據(jù)轉(zhuǎn)移都必須仔細檢查以確保數(shù)據(jù)在運送中不會被破壞。在媒介中的所有數(shù)據(jù)都必須被檢查以確保他們在寫入媒介時沒有被改變。在軟件水平下,為了數(shù)據(jù),媒介不需不間斷的被檢查。例如,確保信息存儲中被分配和還未被分配的空間塊的數(shù)量和裝置中所有塊的數(shù)量的一致。進程獨立經(jīng)常有錯誤(例如,磁盤中數(shù)據(jù)的破壞),所以必須有一個

21、統(tǒng)籌的程序(操作系統(tǒng))來處理各種錯誤。同樣,錯誤經(jīng)過操作系統(tǒng)的處理,在一個系統(tǒng)中程序不再需要包含匹配和改正所遇可能錯誤的代碼。2.3討論向操作系統(tǒng)傳遞參數(shù)的三個主要的方法。 Answer: 1.通過寄存器來傳遞參數(shù) 2.寄存器傳遞參數(shù)塊的首地址 3.參數(shù)通過程序存放或壓進堆棧中,并通過操作系統(tǒng)彈出堆棧。2.4描述你怎樣能夠統(tǒng)計到一個程序運行其不同部分代碼時,它的時間花費數(shù)量的數(shù)據(jù)圖表,并說明它的重要性。 Answer:一個能夠發(fā)布定期計時器打斷和監(jiān)控正在運行的命令或代碼段當中斷被進行時。一個滿意的配置文件,其中的代碼塊都應(yīng)積極覆著被程序在代碼的不同的部分花費時間。一旦這個配置文件被獲得,程序員

22、可以盡可能的優(yōu)化那些消耗大量CPU資源的代碼段。2.5操作系統(tǒng)關(guān)于文件管理的五個主要活動是什么? Answer: 1.創(chuàng)建和刪除文件 2.創(chuàng)建和刪除目錄 3.提供操作文件和目錄的原語的支持 4.將文件映射到二級存儲器上 5.在穩(wěn)定(非易失的)的存儲媒介上備份文件。2.6在設(shè)備和文件操作上用相同的系統(tǒng)調(diào)用接口的好處與不足是什么? Answer:每一個設(shè)備都可以被得到只要它是一個在文件系統(tǒng)的文件。因此大多數(shù)內(nèi)核通過文件接口處理設(shè)備,這樣相對容易,加一個新的設(shè)備通過執(zhí)行硬件確定代碼來支持這種抽象的文件接口。因此,這種方式不僅有利于用戶程序代碼的發(fā)展,用戶程序代碼可以被寫入設(shè)備和文件用相同的方式,還有

23、利于設(shè)備驅(qū)動程序代碼,設(shè)備驅(qū)動程序代碼可以書面支持規(guī)范定義的API.使用相同接口的缺點是很難獲得某些設(shè)備檔案存取的API范圍內(nèi)的功能,因此,結(jié)果或者是丟失功能或者是丟失性能。但有些能夠被克服通過使用ioctl操作,這個操作為了進程在設(shè)備上援引操作提供一個通用接口。 2.7命令解釋器的用途是什么?為什么它經(jīng)常與內(nèi)核是分開的?用戶有可能通過使用由操作系統(tǒng)提供的系統(tǒng)調(diào)用接口發(fā)展一個新的命令解釋器? Answer:命令解釋器從用戶或文件中讀取命令并執(zhí)行,一般而言把他們轉(zhuǎn)化成系統(tǒng)調(diào)用。它通常是不屬于內(nèi)核,因為命令解釋會有所變動。用戶能夠利用由操作系統(tǒng)提供的系統(tǒng)調(diào)用接口開發(fā)新的命令解釋器。這命令解釋器允許

24、用戶創(chuàng)建、管理進程和確定它們通信的方法(例如通過管道和文件)。所有的功能都被用戶程序通過系統(tǒng)調(diào)用來使用,這個也可能有用戶開發(fā)一個新的命令行解釋。2.8通信的兩種模式是什么?這兩種模式的優(yōu)點和缺點是什么? Answer:通信的兩種模式是1)共享內(nèi)存,2)消息傳遞。這兩種模式的最基本的不同是在它們的性能上。一個內(nèi)存共享塊是通過系統(tǒng)調(diào)用創(chuàng)建的。然而,一旦內(nèi)存共享塊在兩個或更多的進程間建立,這些進程可以借助內(nèi)存共享塊來通信,不再需要內(nèi)核的協(xié)助。另一方面,當send()和receive()操作被調(diào)用時,信息傳遞通常包含系統(tǒng)調(diào)用。因此,因為內(nèi)核是直接的包含在進程間通信的,一般而言,它的影響比內(nèi)存共享小。然

25、而,消息傳遞可以用作同步機制來處理通信進程間的行動。也就是說,send()和receive()段可以用來協(xié)調(diào)兩個通信進程的動作。另一方面,內(nèi)存共享沒有提供這種同步機制的進程。2.9為什么要把機制和策略區(qū)分開來? Answer:機制和策略必須區(qū)分開來,來保證系統(tǒng)能夠被很容易的修改。沒有兩個系統(tǒng)的裝置是完全相同的,所以每一個裝置都想要把操作系統(tǒng)改為適合自己的。當機制和政策分開時,政策可以隨意的改變但機制還是不能改變。這種安排提供了一個更靈活的制度2.10為什么Java提供了從Java程序調(diào)用由C或C+編寫的本地方法的能力?舉出一個本地方法有用的例子。 Answer:Java程序的開發(fā)是用來作為I/

26、O獨立的平臺。因此,這種語言沒有提供途徑給許多特殊的系統(tǒng)資源,例如從I/O設(shè)備讀取。為了運行一個系統(tǒng)特定的I/O操作,你必須用一種支持這些特性的語言(例如C或C+)寫。記住一個Java程序調(diào)用由另外一種語言編寫的本地方法寫將不再結(jié)構(gòu)中立。2.11有時獲得一個分層方法是有困難的如果操作系統(tǒng)的兩個部件相互依存。識別一個方案,在這個方案中并不非常清楚如何為兩個作用緊密相連的系統(tǒng)部件分層。 Answer:虛擬內(nèi)存子系統(tǒng)和存儲子系統(tǒng) 通常是緊密耦合,并由于以下的相互作用需要精心設(shè)計的層次 系統(tǒng)。許多系統(tǒng)允許文件被映射到一個執(zhí)行進程的虛擬內(nèi)存空間。另一方面,虛擬內(nèi)存子系統(tǒng)通常使用存儲 系統(tǒng)來提供當前不在內(nèi)

27、存中的頁。此外,在刷新磁盤之前,更新的文件有時會緩沖到物理內(nèi)存,從而需要認真 協(xié)調(diào)使用的內(nèi)存之間的虛擬內(nèi)存 子系統(tǒng)和文件系統(tǒng)。2.12采用微內(nèi)核方法來設(shè)計系統(tǒng)的主要優(yōu)點是什么?在微內(nèi)核中如何使客戶程序和系統(tǒng)服務(wù)相互作用?微內(nèi)核方法的缺點是什么? Answer:優(yōu)點主要包括以下幾點: a)增加一個新的服務(wù)不需要修改內(nèi)核 b) 在用戶模式中比在內(nèi)核模式中更安全、更易操作 c) 一個簡單的內(nèi)核設(shè)計和功能一般導(dǎo)致一個更可靠的操作系統(tǒng) 用戶程序和系統(tǒng)服務(wù)通過使用進程件的通信機制在微內(nèi)核中相互作用,例如發(fā)送消息。這些消息由操作系統(tǒng)運送。微內(nèi)核最主要的缺點是與進程間通信的過度聯(lián)系和為了保證用戶程序和系統(tǒng)服務(wù)

28、相互作用而頻繁使用操作系統(tǒng)的消息傳遞功能。2.13模塊化內(nèi)核方法的什么方式與分層方法相似?什么方式與分層方法不同? Answer:模塊化內(nèi)核方法要求子系統(tǒng)通過創(chuàng)建的一般而言狹隘(從功能方面來說是揭露外部模塊)的接口來相互作用。分層內(nèi)核方法在細節(jié)上與分層方法相似。但是,分層內(nèi)核必須要是有嚴格排序的子系統(tǒng),這樣的子系統(tǒng)在較低層次中不允許援引業(yè)務(wù)相應(yīng)的上層子系統(tǒng) 。在模塊化內(nèi)核方法中沒有太多的限制,模式在哪方面是隨意援引彼此的是沒有任何約束的。2.14 操作系統(tǒng)設(shè)計員采用虛擬機結(jié)構(gòu)的主要優(yōu)點是什么?對用戶來說主要有什么好處?Answer:系統(tǒng)是容易被調(diào)試的,此外,安全問題也是容易解決的。虛擬機同樣為

29、運作體系提供了一個很好的平臺,因為許多不同的操作系統(tǒng)只可以在一個物理系統(tǒng)中運行。2.15為什么說一個JIT編譯器對執(zhí)行一個Java程序是有用的? Answer:Java是一種解釋語言。這就意味著Java虛擬機一次解釋一個字節(jié)代碼。一般來說,絕大多數(shù)解釋環(huán)境是比運行本地二進制慢,因為解釋進程要求把每一個命令轉(zhuǎn)化為本地機器代碼。一個JIT編譯器把字節(jié)代碼轉(zhuǎn)換成本地機器代碼,第一次這種方法是偶然碰到的。這就意味著Java程序作為一個本地用途(當然,JIT的這種轉(zhuǎn)換過程是要花費時間的,但并沒有像字節(jié)代碼花費的這么多)是非常重要的一種運行方式。此外,JIT存儲器編譯代碼以便能夠在下一次需要時使用。一個是

30、被JIT運行的而不是傳統(tǒng)的一般的解釋運行的Java程序是非??斓摹?.16在一個系統(tǒng)(例如VWware)中,來賓作業(yè)系統(tǒng)和主機操作系統(tǒng)的關(guān)系是什么?在選擇主機操作系統(tǒng)時哪些因素需要考慮? Answer:一個來賓作業(yè)系統(tǒng)提供它的服務(wù)通過映射到有主機操作系統(tǒng)提供的功能上。一個主要的事情需要被考慮,為了能夠支持與來賓作業(yè)系統(tǒng)相聯(lián)系的功能,選擇的主機操作系統(tǒng),從系統(tǒng)調(diào)用接口而言,是否足夠一般。2.17實驗性的綜合操作系統(tǒng)在內(nèi)核里有一個匯編器。為了優(yōu)化系統(tǒng)調(diào)用的性能,內(nèi)核通過在內(nèi)核空間內(nèi)匯編程序來縮短系統(tǒng)調(diào)用在內(nèi)核必須經(jīng)過的途徑。這是一種與分層設(shè)計相對立的方法,經(jīng)過內(nèi)核的途徑在這種設(shè)計中被延伸了,使操作

31、系統(tǒng)的構(gòu)造更加容易。分別從支持和反對的角度來綜合設(shè)計方式對討論這種內(nèi)核設(shè)計和系統(tǒng)性能優(yōu)化的影響。 Answer:綜合是令人欽佩的由于這種性能通過即時復(fù)雜化取得了成功。不幸的是,由于代碼的流動很難在內(nèi)核中調(diào)試問題。這種復(fù)雜化是系統(tǒng)的詳細的表現(xiàn),讓綜合很難port(一個新的編譯器必須寫入每一種架構(gòu))。3.1 論述短期,中期和長期調(diào)度之間的區(qū)別.Answer:a.短期調(diào)度:在內(nèi)存作業(yè)中選擇就緒執(zhí)行的作業(yè),并為他們分配CPU。b.中期調(diào)度:作為一種中等程度的調(diào)度程序,尤其被用于分時系統(tǒng),一個交換方案的實施,將部分運行程序移出內(nèi)存,之后,從中斷處繼續(xù)執(zhí)行。c.長期調(diào)度(作業(yè)調(diào)度程序):確定哪些作業(yè)調(diào)入內(nèi)

32、存以執(zhí)行.它們主要的不同之處是它們的執(zhí)行的頻率。短期調(diào)度必須經(jīng)常調(diào)用一個新進程,由于在系統(tǒng)中,長期調(diào)度處理移動的作業(yè)時,并不頻繁被調(diào)用,可能在進程離開系統(tǒng)時才被喚起。3.2 問:描述一下內(nèi)核在兩個進程間進行上下文功換的動作.Answer:總的來說,操作系統(tǒng)必須保存正在運行的進程的狀態(tài),恢復(fù)進程的狀態(tài)。保存進程的狀態(tài)主要包括CPU寄存器的值以及內(nèi)存分配,上下文切換還必須執(zhí)行一些確切體系結(jié)構(gòu)的操作,包括刷新數(shù)據(jù)和指令緩存。(書中答案)進程關(guān)聯(lián)是由進程的PCB來表示的,它包括CPU寄存器的值和內(nèi)存管理信息等。當發(fā)生上下文切換時,內(nèi)核會將舊進程的關(guān)聯(lián)狀態(tài)保存在其PCB中,然后裝入經(jīng)調(diào)度要執(zhí)行的新進程的

33、已保存的關(guān)聯(lián)狀態(tài)。3.3考慮RPC機制??紤]的RPC機制。描述不可取的情況下可能出現(xiàn)或者不執(zhí)行的”最多一次”或”到底一旦“語義。說明在沒有這些保障的情況下,可能使用的一種機制。Answer:如果一個RPC機制無法支持無論是“最多一次” 或“至少一次”的語義,那么RPC服務(wù)器不能保證遠端程序不會引起多個事件的發(fā)生。試想,如果一個遠端程序在一個不支持這些語義的系統(tǒng)上從銀行賬戶中撤回投資的資金。很可能一個單一調(diào)用的遠程過程會導(dǎo)致多種服務(wù)器的撤回。 如果一個系統(tǒng)不能支持這兩種語義,那么這樣一個系統(tǒng)只能安全提供遠程程序,這些遠程程序沒有改變數(shù)據(jù),沒有提供時間敏感的結(jié)果,用我們的銀行賬戶做例,我們當然需要

34、“最多一次” 或“至少一次”的語義執(zhí)行撤銷(或存款)。然而,賬戶余額成其它賬戶信息的查詢,如姓名,地址等,不需要這些語義。3.4 圖表3.24里顯示的程序,說明A行將會輸出什么?Answer:當控制回到父進程時,它的值會保持在5,而子進程將更新并拷貝這個值。3.5 問:下面設(shè)計的好處和壞處分別是什么?系統(tǒng)層次和用戶層次都要考慮到. A,對稱和非對稱通信 B,自動和顯式緩沖 C,復(fù)制發(fā)送和引用發(fā)送 D,固定大小和可變大小消息Answer:A.對稱和非對稱通信:對稱通信的影響是它允許發(fā)送者和接收者之間有一個集合點。缺點是阻塞發(fā)送時,不需要集合點,而消息不能異步傳遞。因此,消息傳遞系統(tǒng),往往提供兩種

35、形式的同步。 B.自動和顯式緩沖:自動緩沖提供了一個無限長度的隊列,從而保證了發(fā)送者在復(fù)制消息時不會遇到阻塞,如何提供自動緩存的規(guī)范,一個方案也許能保存足夠大的內(nèi)存,但許多內(nèi)存被浪費緩存明確指定緩沖區(qū)的大小。在這種狀況下,發(fā)送者不能在等待可用空間隊列中被阻塞。然而,緩沖明確的內(nèi)存不太可能被浪費。 C.復(fù)制發(fā)送和引用發(fā)送:復(fù)制發(fā)送不允許接收者改變參數(shù)的狀態(tài),引用發(fā)送是允許的。引用發(fā)送允許的優(yōu)點之一是它允許程序員寫一個分布式版本的一個集中的應(yīng)用程序。Javas RMI 公司提供兩種發(fā)送,但引用傳遞一個參數(shù)需要聲明這個參數(shù)是一個遠程對象。 D.固定大小和可變大小消息:涉及的太多是有關(guān)緩沖問題,帶有定

36、長信息,一個擁有具體規(guī)模的緩沖課容納已知數(shù)量的信息緩沖能容納的可變信息數(shù)量是未知的??紤]Windows 2000如何處理這種情況。帶有定長信息(0時所得的是什么算法?b.0時所得的是什么算法?答:a.FCFS b.LIFO5.10解釋下面調(diào)度算法對短進程編程度上的區(qū)別: a.FCFS b.RR c多級反饋隊列答:a.FCFS-區(qū)別短任務(wù)是因為任何在長任務(wù)后到達的短任務(wù)都將會有很長的等待時間。 b.RR-對所有的任務(wù)都是能夠相同的(給它們相同的CPU時間區(qū)間),所以,短任務(wù)可以很快的離開系統(tǒng),只要它們可以先完成。 c. 多級反饋隊列和RR調(diào)度算法相似它們不會先選擇短任務(wù)。5.11用Window

37、XP的調(diào)度算法,下列什么是數(shù)字優(yōu)先的線程。 a.相對優(yōu)先級的值為REALTIME_PRIORITY_CLASS的屬于實體優(yōu)先類型的線程 b.相對優(yōu)先級的值為NORMAL_PRIORITY_CLASS的屬于NORMAL類型的線程c.相對優(yōu)先級的值為HIGH_PRIORITY_CLASS的屬于ABOVE_NORMAL類型的線程答:a.26 b.8 c.14512考慮在Solaris操作系統(tǒng)中的為分時線程的調(diào)度算法:a:一個優(yōu)先權(quán)是10的線程的時間片是多少?優(yōu)先權(quán)是55的呢?b:假設(shè)優(yōu)先權(quán)是35的一個線程用它所有的時間片在沒有任何阻止的情況下,這調(diào)度算法將會分配給這個線程什么樣新的優(yōu)先權(quán)?c:假設(shè)一

38、個優(yōu)先權(quán)是35的線程在時間片結(jié)束前阻止I/O操作。這調(diào)度算法將會分配給這個線程什么樣新的優(yōu)先權(quán)?答:a:160和40 b:35 C:545.13傳統(tǒng)UNIX調(diào)度在優(yōu)先數(shù)和優(yōu)先級間成反比關(guān)系:數(shù)字越高,優(yōu)先權(quán)越低。The scheduler recalculates process priorities once per second using the following function:該調(diào)度進程利用下面的方程重新計算進程的優(yōu)先權(quán)一次一秒:Priority = (Recent CPU usage / 2) + Base where base = 60 and recent CPU usag

39、e refers to a value indicating how often a process has used the CPU since priorities were last recalculated. 優(yōu)先權(quán)= (最近CPU使用率/ 2 ) +基本數(shù)這里的基本數(shù)這里= 60,最近的 CPU使用率是指一個表明優(yōu)先權(quán)從上一次重新計算后開始進程被CPU使用的情況。Assume that recent CPU usage for process P 1 is 40, process P 2 is 18, and process P 3 is 假設(shè)最近進程p1的CPU使用率是40個,p2

40、是18 ,p3是10。當優(yōu)先權(quán)重新計算后這三個進程的新的優(yōu)先權(quán)是什么?What will be the new priorities for these three processes when priorities are recalcuBased on this information, does the traditional UNIX scheduler raise or lower the relative priority of a CPU-bound process?在此信息的基礎(chǔ)上,傳統(tǒng)UNIX的調(diào)度會不會提高或降低CPU限制的進程的相對優(yōu)先權(quán)? Answer: The pri

41、orities assigned to the processes are 80, 69, and 65 respectively. 答 : 分配給這些進程的優(yōu)先權(quán)分別是80,69和65.The scheduler lowers the relative priority of CPU-bound processes.這這調(diào)度降低了CPU限制的進程的相對優(yōu)先權(quán)。第六章 管程6.1第一個著名的正確解決了兩個進程的臨界區(qū)問題的軟件方法是Dekker設(shè)計的。兩個進程P0和P1共享以下變量: boolean flag2; /*initially false*/ int turn;進程Pi(i=0或1)

42、和另一個進程Pj(j=0或1)的結(jié)構(gòu)見圖7.27。 證明這個算法滿足臨界區(qū)問題的所有三個要求。flagi=ture;while(flagj)if(turn=j) flagi=false; while(turn=j); flagi=true;臨界區(qū)turn=j;flagi=false;剩余區(qū)dowhile(1);圖7.27 Dekker算法中的進程Pi結(jié)構(gòu)答:該算法滿足三個相互排斥條件。(1)相互排斥是為了確保使用的變量和標志是可變的。如果所有進程都把他們的變量設(shè)置為真,只有一個會成功,那就是哪個進程輪到的問題了。等待中的進程只能夠進入它的重要部分當其他進程在更新變量值時。6.1這兩個進程的臨界

43、區(qū)域問題的最初的正確的軟件解決方案是由Dekker提出的。P0、P1兩個進程,具有以下共同的變量:boolean flag2; /* initially false */int turn;進程 Pi(i=0 or1)的結(jié)構(gòu)在6.25中已經(jīng)出現(xiàn)過;其他進程為Pj(j = 1 or 0)。證明這個算法滿足關(guān)鍵問題的三個要求。答:這個算法滿足臨界區(qū)域的三個條件: (1)在標記和返回變量的使用中,互斥條件是保證的。如果兩個進程將它們的標識設(shè)為真,那么只有一個進程會成功進行,即輪到的那個進程。當另一個進程更新它的返回變量時,等待的那個進程只能進入它的臨界區(qū)域。 (2)就緒的進程,通過標志,返回變量。這個

44、算法沒有提供嚴格的交替。如果一個進程想要進入它們的臨界區(qū)域,它可以將它的標識設(shè)為真,然后進入它們的臨界區(qū)域。當退出它的臨界區(qū)域,它可以設(shè)置轉(zhuǎn)向其他進程的值。如果這個進程想要在其他進程之前再次進入它的臨界區(qū)域,它會重復(fù)這樣的進程:進入它的臨界區(qū)域,在退出時轉(zhuǎn)向另一個進程。 (3)在雙T返回變量的使用過程中,界等待受阻。假設(shè)兩個進程想要進入它們的責(zé)任所在的臨界區(qū)域。它們都將它們的標志的值設(shè)為真;而只有輪到的那個線程可以執(zhí)行;其他的線程處于等待狀態(tài)。如果界等待沒有受阻,當?shù)谝粋€進程重復(fù)“進入-退出”它的臨界區(qū)域這一過程。Dekker算法在一個進程中設(shè)置一個轉(zhuǎn)向另一個進程的值,從而保證另一個進程接下來

45、進入它的臨界區(qū)域。6.2針對有n個進程在帶有較低時間限制的等待n-1個的輪次這樣一個臨界區(qū)域最早的解決該問題的正確方法是由艾森伯格和麥圭爾提出的。這些進程有以下的共同的變量:枚舉pstateidle, want in, in cs;pstate flagn;int turn;所有的枚舉標志被初始為空,輪次的最初值是無關(guān)緊要的(在0和n-1之間)。進程p的結(jié)構(gòu)在6.26中有說明。證明這個算法滿足臨界區(qū)域問題的三項要求。答:a.互斥:注意到一個進程只有在下列條件滿足時才能進入臨界區(qū)域:沒有其他進程在CS中有設(shè)置的標識變量。這是由于進程在CS中設(shè)置自身的標識變量之前要先檢查其他進程的狀態(tài)。我們保證沒有兩個進程將同時進入臨界區(qū)域。b.有空讓進:考慮以下情況,當多進程同時在CS中設(shè)置它們的標識變量,然后檢查是否有其他進程在cs中設(shè)置標識變量。當這種情況發(fā)生時,所有的進程意識到這里存在進

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論