誠毅學(xué)院操作系統(tǒng)期末復(fù)習(xí)(2014-2015)答案_第1頁
誠毅學(xué)院操作系統(tǒng)期末復(fù)習(xí)(2014-2015)答案_第2頁
誠毅學(xué)院操作系統(tǒng)期末復(fù)習(xí)(2014-2015)答案_第3頁
誠毅學(xué)院操作系統(tǒng)期末復(fù)習(xí)(2014-2015)答案_第4頁
誠毅學(xué)院操作系統(tǒng)期末復(fù)習(xí)(2014-2015)答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2014-2015學(xué)年第一學(xué)期操作系統(tǒng)思考題第一章 操作系統(tǒng)概論1、 在計算機系統(tǒng)中,操作系統(tǒng)有哪兩個重要作用?a) 管理系統(tǒng)中的各種資源b) 為用戶提供友好的界面2、 根據(jù)操作系統(tǒng)的地位和作用,請給出操作系統(tǒng)的非形式化的定義。操作系統(tǒng)是位于硬件層之上,所有其他系統(tǒng)軟件層之下的一個系統(tǒng)軟件,使得管理系統(tǒng)中的各種軟件和硬件資源得以充分利用,方便用戶使用計算機系統(tǒng)。3、 操作系統(tǒng)引入的目標(biāo)是什么?為了方便而有效地使用硬件4、 什么叫做“假脫機”?作業(yè)由讀卡機到磁帶機的傳輸、結(jié)果由磁帶機到打印機的傳輸,由通道完成,這種非聯(lián)機、也非脫機的方式。5、 操作系統(tǒng)有哪四個特征?其中哪兩個是基本特征?a) 并

2、發(fā)性、共享性、異步性(不確定性)、虛擬性b) 基本特征:并發(fā)性、共享性6、 程序的并發(fā)性具體體現(xiàn)在哪三個方面?-程序與操作系統(tǒng)兩兩并發(fā)執(zhí)行用戶程序與用戶程序之間并發(fā)執(zhí)行用戶程序與操作系統(tǒng)之間并發(fā)執(zhí)行操作系統(tǒng)與操作系統(tǒng)之間并發(fā)執(zhí)行7、 程序并發(fā)和并行有什么區(qū)別?-并行微觀多程序同時推進(jìn)(絕對),并發(fā)宏觀上多程序推進(jìn)程序并行要求微觀上的同時,即在絕對的同一時刻有多個程序同時向前推進(jìn);而程序的并發(fā)并不要求微觀上的同時,只需從宏觀上看多個程序都在向前推進(jìn)。8、 何謂資源共享性?指操作系統(tǒng)與多個用戶程序共有系統(tǒng)中的各種資源,這種共享是在操作系統(tǒng)的控制下實現(xiàn)的。9、 在計算機系統(tǒng)中,為什么會呈現(xiàn)出程序運行

3、的異步性?a) 程序執(zhí)行的結(jié)果的不確定性:同一程序,相同的輸入、在相同的環(huán)境下,可能產(chǎn)生不同的結(jié)果b) 執(zhí)行時間的不確定性:多道程序執(zhí)行是以異步方式進(jìn)行,什么時候、什么順序、所需時間均不確定10、 何謂虛擬?操作系統(tǒng)如何體現(xiàn)其虛擬性?a) 虛擬是指把一個物理上的實體變成若干個邏輯上的對應(yīng)物b) 通過分時使用,在一個CPU上同時執(zhí)行多道程序;多道程序同時使用一臺打印機等11、 操作系統(tǒng)應(yīng)具備哪些基本功能?處理機管理、存儲器管理、設(shè)備管理、文件管理和作業(yè)管理12、 為什么說操作系統(tǒng)是中斷驅(qū)動的?因為每當(dāng)應(yīng)用程序執(zhí)行各種內(nèi)部和外部事件時,都要通過中斷機制產(chǎn)生中斷信號并啟動內(nèi)核工作,可以說操作系統(tǒng)是“

4、中斷驅(qū)動”的。13、 中斷與程序并發(fā)之間有什么關(guān)系?操作系統(tǒng)何時獲得控制權(quán)?a) 中斷是程序并發(fā)的必要條件。如果沒有中斷,操作系統(tǒng)不能獲得系統(tǒng)控制權(quán),無法按調(diào)度算法對處理機進(jìn)行重新分配,一個程序?qū)⒁恢边\行到結(jié)束而不會被打斷。b) 發(fā)生中斷后獲得控制權(quán)14、 系統(tǒng)棧有哪些作用?根據(jù)用途說明堆與棧的差別。a) 保存中斷現(xiàn)場b) 保存操作系統(tǒng)子程序間相互調(diào)用的參數(shù)、返回值、返回點、局部變量差別:棧是一塊按后進(jìn)先出規(guī)則訪問的存儲區(qū)域,用來實現(xiàn)中斷嵌套和子程序嵌套(保存調(diào)用參數(shù)和返回斷點)。堆雖然是一塊存儲區(qū)域,但是對堆的訪問是任意的,沒有后進(jìn)先出的要求,堆主要用來為動態(tài)變量分配存儲空間。15、 在操作

5、系統(tǒng)中把處理機劃分成哪兩個狀態(tài)?它們分別可以執(zhí)行哪類指令?兩個狀態(tài)如何轉(zhuǎn)換?a) 管態(tài)、目態(tài)b) 管態(tài):可以執(zhí)行硬件所提供的全部指令,包括特權(quán)指令和非特權(quán)指令c) 目態(tài):只能執(zhí)行非特權(quán)指令d) 處理機由目態(tài)轉(zhuǎn)換為管態(tài)的唯一途徑是中斷e) 管態(tài)到目態(tài)的轉(zhuǎn)換可以通過修改程序狀態(tài)字(置PSW)來實現(xiàn);標(biāo)志位置116、 操作系統(tǒng)提供給用戶程序什么接口?作業(yè)級接口、程序接口第二章 進(jìn)程、線程和作業(yè)1、 為什么要引入多道程序設(shè)計?引入多道程序設(shè)計技術(shù)是為了提高計算機系統(tǒng)資源的利用率2、 引入多道程序設(shè)計需要解決哪三個問題?處理器資源管理問題、內(nèi)存資源管理問題、設(shè)備資源管理問題3、 什么叫進(jìn)程?進(jìn)程是具有一

6、定獨立功能的程序關(guān)于一個數(shù)據(jù)集合的一次運行活動4、 進(jìn)程有哪三個基本狀態(tài)?并說明這三個基本狀態(tài)是何時轉(zhuǎn)換的?a) 運行態(tài)、就緒態(tài)、等待態(tài)b) 就緒Þ運行:獲得處理機運行Þ就緒:剝奪處理機運行Þ等待:申請資源未得到,啟動IO等待Þ就緒:得到資源,IO中斷P285、 什么是PCB?進(jìn)程控制塊(process control block)進(jìn)程控制塊是標(biāo)識進(jìn)程存在的數(shù)據(jù)結(jié)構(gòu),其中包含系統(tǒng)管理進(jìn)程所需要的全部信息6、 一個進(jìn)程由哪兩部分組成?進(jìn)程控制塊和程序,其中程序包括代碼和數(shù)據(jù)等7、 什么叫做進(jìn)程映像?進(jìn)程的程序(代碼和數(shù)據(jù))被稱為進(jìn)程映像8、 什么叫做系統(tǒng)開

7、銷?一般是指運行操作系統(tǒng)程序、對系統(tǒng)進(jìn)行管理所花費的時間和空間9、 從操作系統(tǒng)角度,可以把進(jìn)程劃分成哪兩類?系統(tǒng)進(jìn)程和用戶進(jìn)程10、 什么叫做守護(hù)進(jìn)程?屬于操作系統(tǒng)的一部分,它們運行操作系統(tǒng)程序,完成操作系統(tǒng)的某些功能11、 進(jìn)程具有哪些特征?a) 并發(fā)性:可以與其它進(jìn)程一道向前推進(jìn);b) 動態(tài)性:動態(tài)產(chǎn)生、消亡,生存期內(nèi)狀態(tài)動態(tài)變化;c) 獨立性:一個進(jìn)程是可以調(diào)度的基本單位;d) 交往性:同時運行的進(jìn)程可能發(fā)生相互作用;e) 異步性:進(jìn)程以各自獨立,不可預(yù)知的速度向前推進(jìn);f) 結(jié)構(gòu)性:每個進(jìn)程有一個PCB12、 下面程序運行過程中,操作系統(tǒng)共創(chuàng)建幾個進(jìn)程:(實驗一) main() for

8、k(); fork(); fork(); 8個進(jìn)程13、 進(jìn)程和程序有什么聯(lián)系?進(jìn)程和程序有哪些差異?程序是構(gòu)成進(jìn)程的組成部分之一,一個進(jìn)程存在的目的就是執(zhí)行其所對應(yīng)的程序。如果沒有程序,進(jìn)程就失去了其存在的意義。差別:a) 程序是靜態(tài)的,進(jìn)程是動態(tài)的b) 程序可以長期保存,進(jìn)程具有生命周期,創(chuàng)建后存在,撤銷后消亡。c) 一個程序可對應(yīng)多個進(jìn)程,一個進(jìn)程只能執(zhí)行一個程序14、 什么是線程?為什么要引入線程?進(jìn)程內(nèi)一個相對獨立的執(zhí)行流稱為線程。因為當(dāng)處理器由一個進(jìn)程切換到另一個進(jìn)程時,整個上下文都要發(fā)生變化,系統(tǒng)開銷較大,顯得笨重,相關(guān)進(jìn)程間的耦合度差。15、 用圖形表示進(jìn)程與線程的區(qū)別。進(jìn)程是

9、資源分配單位線程是執(zhí)行單位,是CPU的調(diào)度單位16、 從實現(xiàn)角度看,有哪兩類基本線程?用戶級別線程。核心級別線程17、 從下面四個方面闡述用戶級別線程和核心級別線程的差別、優(yōu)缺點:(1)創(chuàng)建速度 (2)切換速度 (3)并行性 (4)TCB存儲位置18、 用戶級別線程在處理機什么狀態(tài)實現(xiàn)的?核心級別線程在處理機什么狀態(tài)下實現(xiàn)的?用戶線程-目態(tài)核心線程-操作系統(tǒng)19、 什么叫做作業(yè)?用戶要求計算機系統(tǒng)為其完成的計算任務(wù)的集合稱為作業(yè)20、 分析作業(yè)、進(jìn)程、線程三者的關(guān)系。一個作業(yè)被調(diào)入內(nèi)存執(zhí)行時可能要為其創(chuàng)建多個進(jìn)程,進(jìn)程是資源分配的基本單位,一個進(jìn)程可能對應(yīng)若干個線程,線程是處理器調(diào)度的基本單位

10、。21、 請解析命令“l(fā)s -il”給出的信息。(實驗一)i節(jié)點 、文件類型、屬主權(quán)限、組權(quán)限、其他權(quán)限22、 在Linux系統(tǒng)中,如何區(qū)分普通文件、目錄文件、塊設(shè)備文件、字符設(shè)備文件?普通文件(-)、目錄文件(d)、字符設(shè)備文件(c)、塊設(shè)備文件(b)、連接文件(l);23、 在Linux系統(tǒng)中,如何區(qū)分硬鏈接文件和符號鏈接文件?硬連接文件公用一個I節(jié)點,符號鏈接文件不公用24、 熟練掌握用命令“chmod”修改各組用戶對文件的操作權(quán)限。(實驗一)25、 掌握命令“ps -ax”查看Linux進(jìn)程,解析該命令給出的信息,以及終止進(jìn)程的操作。26、 掌握用命令“gcc”編譯鏈接一個程序。(實驗

11、一)27、 請說明管道操作“|”、輸入重定向“<”、輸出重定向“>”和“>>”的區(qū)別和用法。|:從一個命令中讀取輸出并將其寫入另一個命令的輸入中<:從文件中而不是從鍵盤中讀入命令輸入>:將命令輸出寫入到文件或設(shè)備(例如打印機)中,而不是寫在命令提示符窗口中>>:將命令輸出添加到文件末尾而不刪除文件中的信息28、 請說明在shell中使用單引號、雙引號、反撇號的用法。單引號:由單引號括起來的字符都作為普通字符出現(xiàn)雙引號:由雙引號括起來的字符,除$、/、和”這幾個字符仍是特殊字符并保留其特殊功能外,其余字符仍作為普通字符對待反撇號:反引號括起來的字符

12、串被shell解釋為命令行,在執(zhí)行時,shell首先執(zhí)行該命令行,并以它的標(biāo)準(zhǔn)輸出結(jié)果取代整個反引號(包括兩個反引號)部分第三章 中斷與處理機調(diào)度1、 什么叫做中斷?在程序運行過程中出現(xiàn)某些緊急事件,必須中止當(dāng)前正在運行的程序,轉(zhuǎn)去處理此事件,然后再恢復(fù)原來運行的程序,這個過程稱為中斷。2、 中斷裝置發(fā)現(xiàn)并響應(yīng)中斷有哪些基本步驟?a) 識別中斷源b) 保存現(xiàn)場c) 引出中斷處理程序3、 中斷可以分為哪兩大類?請舉例說明。強迫性中斷:這類中斷事件是正在運行的程序所不期望的。特點:是否發(fā)生、什么時候發(fā)生事先無法知道。自愿性中斷:這類中斷事件是程序中有意識安排的,執(zhí)行訪管指令引起的。特點:什么時候發(fā)

13、生、發(fā)生的位置事先知道。目的:要求系統(tǒng)提供服務(wù)。4、 什么叫做中斷向量?中斷處理程序的運行環(huán)境(PSW)與入口地址(PC)5、 為什么說中斷向量的位置是由硬件決定的、其內(nèi)容是系統(tǒng)初始化時確定的?6、 什么叫做中斷續(xù)元?用戶棧和系統(tǒng)棧各自有什么用途?中斷續(xù)元:用戶自編的中斷處理程序用戶棧:保存函數(shù)之間相互調(diào)用的參數(shù)、返回斷點、局部變量、返回值。系統(tǒng)棧:保存函數(shù)之間相互調(diào)用的參數(shù)、返回斷點、局部變量、返回值;保存中斷現(xiàn)場(PSW和PC)。7、 根據(jù)程序錯誤中斷的性質(zhì),有哪兩種處理策略?可以哪些類型的程序性錯誤中斷,中斷續(xù)元會起作用?兩種策略:只能由系統(tǒng)處理的中斷、可以由用戶處理的中斷8、 處理機調(diào)

14、度需要解決哪三個問題?按照什么原則分配處理器、什么時候分配處理器、如何分配處理器9、 什么叫做CPU陣發(fā)期?進(jìn)程對處理器的一次連續(xù)使用稱為CPU陣發(fā)期10、 什么叫做周轉(zhuǎn)時間?什么叫做(平均)帶權(quán)周轉(zhuǎn)時間?周轉(zhuǎn)時間:作業(yè)等待時間與處理時間之和平均帶權(quán)周轉(zhuǎn)時間:所有作業(yè)的帶權(quán)周轉(zhuǎn)時間與作業(yè)道數(shù)的比值11、 什么叫做響應(yīng)時間?從提交第一個請求到產(chǎn)生第一個響應(yīng)所用時間12、 掌握FCFS、SJF、SRTN、HRN、HPF、RR調(diào)度算法,以及調(diào)度指標(biāo)的計算。13、 什么叫做剝奪式調(diào)度?什么叫做非剝奪式調(diào)度?a) 剝奪式:就緒進(jìn)程可以從運行進(jìn)程手中搶占CPUb) 非剝奪式:就緒進(jìn)程不可以從運行進(jìn)程手中搶

15、占CPU14、 反饋排隊調(diào)度算法有哪些特點?1) 短進(jìn)程優(yōu)先處理2) 設(shè)備資源利用率高3) 系統(tǒng)開銷小15、 什么叫做“交換”?交換的目標(biāo)是什么?1) 交換是進(jìn)程在內(nèi)存和外存儲器之間的調(diào)度2) 目標(biāo):緩解內(nèi)存空間等資源緊張的矛盾、減少并發(fā)度以降低系統(tǒng)開銷。3) 主要目標(biāo):控制并發(fā)度16、 為什么要實施中級調(diào)度?引入中級調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。將內(nèi)存中的某些進(jìn)程暫時交換到外存儲器,待以后系統(tǒng)并發(fā)度較低時再調(diào)回內(nèi)存。17、 什么是低級調(diào)度、中級調(diào)度、高級調(diào)度?各自的職能是什么?1) 低級調(diào)度:負(fù)責(zé)分派處理器的調(diào)度,也稱處理器調(diào)度;職能:使被選中的進(jìn)程真正進(jìn)入運行狀態(tài)。2)

16、中級調(diào)度:介于低級調(diào)度與高級調(diào)度之間的調(diào)度;職能:負(fù)責(zé)進(jìn)程在內(nèi)存和外存之間進(jìn)行交換,以緩解內(nèi)存資源緊張的矛盾。3) 高級調(diào)度:又稱作業(yè)調(diào)度;職能:負(fù)責(zé)將作業(yè)由輸入井調(diào)入內(nèi)存,并為其創(chuàng)建作業(yè)控制進(jìn)程。18、 什么是實時調(diào)度?按發(fā)生的規(guī)律分,有哪兩類實時任務(wù)?1) 實時調(diào)度:滿足實時任務(wù)各自時間約束條件的調(diào)度2) 分類:隨機性實時任務(wù)、周期性實時任務(wù)19、 掌握EDF和RMS兩個實時調(diào)度算法?P7420、 完成P79-80題31、32、35。第四章 互斥、同步與通信1、 程序順序執(zhí)行有哪些特性?連續(xù)性、封閉性、可再現(xiàn)性2、 程序并發(fā)執(zhí)行有哪些特性?間斷性、非封閉性、不可再現(xiàn)性3、 什么是Berns

17、tein(伯恩斯坦)條件?并加以說明。程序p1和p2滿足下面條件,則能夠保持可再現(xiàn),因而可以并發(fā)執(zhí)行例如:S1: a=x-y;S2: b=z+1; S3: v=a+b; S4: w=v+1; 請問S1和S2是否可并發(fā)執(zhí)行?S3和S4是否可以并發(fā)執(zhí)行?S2和S3是否可以并發(fā)執(zhí)行?4、 什么叫做與時間有關(guān)的錯誤?有時間有關(guān)的錯誤產(chǎn)生的原因是什么?與時間有關(guān)的錯誤:由于具體交叉的形成與進(jìn)程的推進(jìn)速度有關(guān),而速度是時間的函數(shù),因而將這種錯誤稱為與時間有關(guān)的錯誤。原因:進(jìn)程執(zhí)行交叉、涉及公共變量5、 什么叫做臨界區(qū)?什么叫做臨界資源?臨界區(qū):訪問共享變量的程序段臨界資源:一次只允許一個進(jìn)程使用的資源6、

18、 什么叫做進(jìn)程互斥?請寫出進(jìn)程互斥的基本框架。進(jìn)程互斥:多個進(jìn)程不能同時進(jìn)入關(guān)于同一組共享變量的臨界區(qū)域,否則可能發(fā)生與時間有關(guān)的錯誤基本框架:do entry section/進(jìn)入控制部分臨界區(qū)exit section/退出控制部分其余代碼 while (1); 7、 實現(xiàn)進(jìn)程互斥,臨界區(qū)管理應(yīng)該滿足哪三個正確性原則?互斥性、進(jìn)展性、有限等待性8、 請分析Dekker互斥算法、Peterson互斥算法、Lamport面包店算法各自的互斥性、進(jìn)展性和有限等待性。P899、 什么叫做忙式等待?其與阻塞式等待有哪些區(qū)別?忙式等待:不進(jìn)入等待狀態(tài)的等待區(qū)別:阻塞式等待-主動放棄CPU;忙式等待-不主

19、動放棄CPU,盡管CPU可能被剝奪;10、 什么叫做原子指令?該指令在執(zhí)行時是不可分割的11、 請寫出“測試與設(shè)置”原子指令?并給出利用“測試與設(shè)置”指令實現(xiàn)互斥的算法。 int test_and_set(int *target) int temp; temp=*target; *target=1; return(temp); 互斥算法: int lock;dowhile test_and_set(&lock)skip; 臨界區(qū) lock=0;while(1);12、 請寫出“交換”的原子指令?給出利用“交換”指令實現(xiàn)互斥的算法。void swap(int *a,int *b) int

20、 temp; temp=*a; *a=*b; *b=temp;互斥算法:int lock=0(初始=false);int key;dokey=1; do swap(&lock,&key); while(key=1); 臨界區(qū) lock=0;while(1);13、 什么叫做進(jìn)程同步?一組進(jìn)程,為了協(xié)調(diào)其推進(jìn)速度,在某些點處需要相互等待或者喚醒,進(jìn)程之間這種相互制約的關(guān)系稱為進(jìn)程同步。14、 請給出信號量類型的定義。“信號量”是一個具有非負(fù)初值的整型變量,并且有一個隊列與它關(guān)聯(lián)。15、 信號量變量的初值有什么要求?初值必須是非負(fù)整數(shù)同步的信號量初值一般為0互斥的信號量初值一般為1

21、16、 什么叫做原語?一段不可間斷執(zhí)行的程序稱為原語17、 分別寫出對信號量進(jìn)行P操作和V操作的操作原語。P操作原語:void P(semaphore *s) s->value-; If(s->value<0) asleep(s->queue);V操作原語:void V(semaphore *s)s->value+; If(s->value<=0) wakeup(s->queue);18、 請給出信號量元素s.value與s.queue之間的關(guān)系。19、 說出初值分別是0、1、n(>1的值)時信號量的作用。0為同步1為互斥N為子資源個數(shù)20

22、、 某圖書館閱覽室有50個座位。進(jìn)入閱覽室的讀者需要在登記簿上登記,登記后,如果有空座位,安排到對應(yīng)位置上;如果沒有空座位,要求在入口等待。當(dāng)讀者離開閱覽室時,進(jìn)行注銷登記。此時,如果有讀者等待,喚醒等待讀者進(jìn)行閱覽室。使用信號量、PV操作實現(xiàn)對閱覽室進(jìn)行管理?!緟⒖即鸢浮抗沧兞浚篹num seat50;(free,used)semaphore S;(50)semaphore mutex;(1) 進(jìn)入登記控制: int Enter() int i; P(S); P(mutex); for(i=0;i<50;i+) if(seati=free) break; seati=used; V(

23、mutex); return i; 離開注銷登記控制: void Leave(int j) P(mutex); seatj=free; V(mutex); V(S); 每個讀者的活動:void Reader() int k; k=enter(); 閱讀; Leave(k); 21、 某公共汽車上司機、售票員、乘客的活動如下:售票員活動:Conductor () do 關(guān)車門; 售票; 開車門; while (1);司機活動:Driver () do 啟動車輛; 正常行車; 到站停車; while (1);乘客活動:Customer () 乘客上車; 乘坐; 乘客下車;;為安全起見,要求:(1)

24、 必須乘客全部上車,才能關(guān)閉車門;假設(shè)車門只允許一個乘客通過,且有自動判別第一個下車乘客和最后一個上車乘客的裝置,且遵守先下、后上原則;(2) 關(guān)閉車門,才能啟動汽車;(3) 車輛到站停穩(wěn),才能打開車門。初始時,車輛??吭谡军c上,車門是打開著。請用信號量與PV操作實現(xiàn)對司機、售票員和乘客之間的同步?!緟⒖即鸢浮?semaphore dc1,dc2;(0,0) semaphore cc1,cc2;(1,0) semaphore metux;(1);乘客活動:Customer() P(mutex);if(最后一個上車乘客?)V(cc2); 乘客上車; V(mutex); 乘坐; P(mutex);

25、 乘客下車; if(是第一個下車乘客?) P(cc1); V(mutex);售票員活動:Conductor()do P(cc2); 關(guān)車門; V(dc1) 售票; P(dc2); 開車門; V(cc1); while(1);司機活動:Driver()do P(dc1); 啟動車輛; 正常行車;到站停車;V(dc2);while(1);22、 在Linux操作系統(tǒng)中,sem_wait(sem_t *s) 和sem_post(sem_t *s)分別表示對信號量的什么操作?sem_wait(sem_t *s):P操作sem_post(sem_t *s):V操作23、 假設(shè)有兩個進(jìn)程,P1和P2,其中

26、P1有一個活動act1、P2有一個活動act2;要求act1執(zhí)行完成后才能執(zhí)行act2,用信號量“semaphore S;”實現(xiàn)對兩個活動進(jìn)行控制。請給出其實現(xiàn)的一般規(guī)則。24、 P1和P2為兩個同步進(jìn)程. 要求P2完成動作B后P1才能執(zhí)行動作A. 請根據(jù)要求填寫S的初值、P操作和V操作。semaphore S; (initial value_(1)_)25、 請完成下面生產(chǎn)者-消費者程序。itemtype Bn;/shared variables(n個空箱子) semaphore S1,S2,mutex; (初值: S1.value=_; S2.value=_; mutex.value=_)

27、 int in,out;/shared variablesvoid producer( ) while(1) produceitem(&item); _ P(mutex); Bin:= item; in:=(in+1) % k; _ V(S2); void consumer( ) while(1) P(s2); P(mutex); x:=Bout; out:=(out+1) % k; V(mutex); _ consume x; 26、 請完成如下R-W問題的改進(jìn)算法。semaphore r_w_w= ,mutex= ,s= ;int count=0;void Reader() doP

28、(S);P(mutex); count+; if( ) P(r_w_w);V(mutex)V(s);讀操作P(mutex);count-;If(count=0) V(r_w_w); while(1);void Writer() doP(s); ; 寫操作; P(r_w_w);V(s);while(1);參考P144題25)27、 什么叫管程(Monitor ,Hansen管程)? 一個管程由哪幾部分組成?管程是一種高級同步機制,一個管程定義一個數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行(在該數(shù)據(jù)結(jié)構(gòu)上)的一組操作,這組操作能同步進(jìn)程和改善管程中的數(shù)據(jù).。一個管程由四個部分組成,它們是管程名稱、局部與管程的共

29、享數(shù)據(jù)的說明、對數(shù)據(jù)進(jìn)行操作的一組過程和對該共享數(shù)據(jù)賦初值的語句。28、 請用管程寫出Scan和C-scan的磁頭調(diào)度算法。29、 請給出在Linux系統(tǒng)中采用共享內(nèi)存進(jìn)行進(jìn)程間通信的一般步驟。(實驗二)第五章 死鎖與饑餓1、 什么叫死鎖?在操作系統(tǒng)中,發(fā)生死鎖有哪些特征?在多道程序系統(tǒng)中,一組進(jìn)程中的每一個進(jìn)程均無限期的等待另一組進(jìn)程所占有的且不會釋放的資源,這種現(xiàn)象稱為死鎖參加死鎖的進(jìn)程的數(shù)目至少為2,參與死鎖的所有進(jìn)程均等待資源,參與死鎖的進(jìn)程至少有2個占有資源,參與死鎖的進(jìn)程是系統(tǒng)中當(dāng)前正在運行的進(jìn)程集合的一個子集。2、 有哪些類型的死鎖?競爭資源引起的死鎖、進(jìn)程通信引起的死鎖、其他原

30、因引起的死鎖3、 從資源分配過程的角度,說明死鎖與饑餓的區(qū)別?死鎖進(jìn)程處于等待狀態(tài),饑餓處于忙式等待;死鎖等待不會釋放的資源,饑餓分配不到資源;死鎖循環(huán)等待,饑餓沒有循環(huán)等待;4、 參與死鎖進(jìn)程的個數(shù)至少幾個?如果產(chǎn)生饑餓,發(fā)生饑餓的進(jìn)程至少幾個?至少2個;1個5、 請給出發(fā)生死鎖的必要條件(Coffman條件)并加以解析。資源獨占(mutual exclusion)不可搶占(non preemption)保持申請(hold-while-applying)循環(huán)等待(circular wait)6、 有三種死鎖的處理方式?死鎖預(yù)防-靜態(tài)的死鎖避免-動態(tài)的死鎖檢測與恢復(fù)7、 熟悉資源分配圖的繪制,

31、以及資源分配圖的約簡。8、 死鎖預(yù)防有哪兩種基本策略?預(yù)先分配策略、有序分配策略9、 請闡述預(yù)先分配法。它破壞發(fā)生死鎖什么條件?進(jìn)程在運行前一次性地向系統(tǒng)申請它所需要的全部資源;破壞了保持申請。10、 請闡述有序分配法。它破壞發(fā)生死鎖什么條件?事先將所有資源類完全排序;破壞了循環(huán)等待。11、 如圖所示,請給出采用有序分配法、用信號量和PV操作控制各個方向(W、E、S方向)車輛進(jìn)行臨界區(qū)。資源編號:F (D) =1; F (B) =2; F (A) =3; F(C) =4;Var S1, S2, S3, S4: semaphore; (1, 1, 1, 1)12、 死鎖避免中,什么叫做安全序列?

32、所謂系統(tǒng)是安全的,是指系統(tǒng)中的所有進(jìn)程能夠按照某一種次序分配資源,并且依次地運行完畢,這種進(jìn)程序列P1,P2,Pn就是安全序列。13、 銀行家算法:掌握p154例5-4、p170習(xí)題五第9題,及本章的作業(yè)。14、 某系統(tǒng)有資源R=A,B,C=10,5,7和進(jìn)程P=p0,p1,p2,p3,p4。下面是該系統(tǒng)某進(jìn)程提出資源請求預(yù)分配后的兩個狀態(tài),請分別用銀行家算法檢驗是否為安全狀態(tài)? Claim Allocation Need Available Work FinishA B C A B C A B C A B C A B C 7 5 3 0 1 0 7 4 3 3 3 23 2 2 2 0 0

33、1 2 29 0 2 3 0 2 6 0 02 2 2 2 1 1 0 1 14 3 3 0 0 2 4 3 1P0P1P2P3P4(狀態(tài)a) Claim Allocation Need Available Work FinishA B C A B C A B C A B C A B C 7 5 3 0 3 0 7 2 3 1 1 23 2 2 2 0 0 1 2 29 0 2 5 0 2 4 0 02 2 2 2 0 1 0 2 14 3 3 0 1 2 4 2 1 P0P1P2P3P4(狀態(tài)b)15、 在上述(13題)系統(tǒng)處于狀態(tài)a下,進(jìn)程P0提出Request(0)=3,2,0,請用銀行

34、家死鎖避免算法進(jìn)行檢測,是否可以分配?為什么?16、 在上述(13題)系統(tǒng)處于狀態(tài)a下,進(jìn)程P0提出Request(0)=3,3,0,請用銀行家死鎖避免算法進(jìn)行檢測,是否可以分配?為什么?17、 死鎖檢測算法:p156例5-6,習(xí)題五第10題。18、 有一系統(tǒng)擁有資源R=A,B,C=7,3,6,現(xiàn)有進(jìn)行P=p0,p1,p2,p3,p4。當(dāng)前的狀態(tài)如下所示。請用死鎖檢測算法檢測系統(tǒng)當(dāng)前是否發(fā)生死鎖,如果發(fā)生死鎖,有哪些進(jìn)程參與死鎖? Allocation Request Available Work Finish A B C A B C A B C A B C p0: 0 1 0 0 0 0 0

35、 1 0p1: 2 0 0 2 0 2 p2: 3 0 3 0 0 0 p3: 2 1 1 1 0 0p4: 0 0 2 0 0 219、 同類組合資源死鎖的必要條件:p165例5-8。20、 死鎖與饑餓有何相同點和不同點?相同點:二者都是由于競爭資源而引起的。 不同點:1) 從進(jìn)程狀態(tài)考慮,死鎖進(jìn)程都處于等待狀態(tài),忙等待(處于運行或就緒狀態(tài))的進(jìn)程并非處于等待狀態(tài),但卻可能被餓死;2) 死鎖進(jìn)程等待永遠(yuǎn)不會被釋放的資源,餓死進(jìn)程等待會被釋放但卻不會分配給自己的資源,表現(xiàn)為等待時限沒有上界(排隊等待或忙式等待);3) 死鎖一定發(fā)生了循環(huán)等待,而餓死則不然。這也表明通過資源分配圖可以檢

36、測死鎖存在與否,但卻不能檢測是否有進(jìn)程餓死;4) 死鎖一定涉及多個進(jìn)程,而饑餓或被餓死的進(jìn)程可能只有一個。5) 在饑餓的情形下,系統(tǒng)中有至少一個進(jìn)程能正常運行,只是饑餓進(jìn)程得不到執(zhí)行機會。而死鎖則可能會最終使整個系統(tǒng)陷入死鎖并崩潰。第六章 存儲管理1、 靜態(tài)等長分區(qū)是在什么時候劃分的?大小有什么要求?空閑內(nèi)存有哪些管理方式?劃分時間:在系統(tǒng)初始化時劃分的。大小要求:每個區(qū)域長2iB管理方式:字位映象圖、空閑頁面表、空閑頁面鏈2、 動態(tài)異長分區(qū)是什么時候劃分的?其空閑區(qū)域表有什么特點?劃分時間:申請時劃分大小要求:依程序、程序單位、對象大小特點:3、 掌握動態(tài)異長分區(qū)分配的四種算法:最先適應(yīng)算法

37、、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法。P1774、 動態(tài)異長分區(qū)去配是應(yīng)該考慮哪四種情況?Case 1: 前面區(qū)域空閑, 和前面區(qū)域合并;Case 2: 后面區(qū)域空閑, 和后面區(qū)域合并;Case 3: 前后均空閑, 和前后區(qū)域合并;Case 4: 前后區(qū)域均被進(jìn)程占用, 直接釋放PPT315、 在動態(tài)異長分區(qū)管理中,為什么要進(jìn)行“緊湊”操作?因為在動態(tài)異長分區(qū)存儲分配可能形成很小的空閑區(qū)域,稱為碎片,如果碎片很多,將會造成嚴(yán)重的存儲資源浪費,因此要進(jìn)行緊湊操作,移動所有的占有區(qū)域,以使所有的空閑區(qū)域連成一片。6、 在界地址管理方式中,覆蓋技術(shù)和交換技術(shù)要解決什么問題?它們有什么不同?

38、覆蓋和交換技術(shù)都是為了解決存儲管理中內(nèi)存太小問題。區(qū)別:覆蓋技術(shù)主要用于同一作業(yè)或進(jìn)程,在彼此無關(guān)的不同覆蓋段進(jìn)行;而交換主要在進(jìn)程或作業(yè)間進(jìn)行。交換是以進(jìn)程為基本單位的交換。覆蓋是以進(jìn)程的互不相關(guān)的局部為單位進(jìn)行的交換。7、 頁表有什么作用?頁表是什么時候創(chuàng)建的?應(yīng)該包括哪些內(nèi)容?作業(yè):用于記錄進(jìn)程的邏輯頁面與內(nèi)存頁框之間的對應(yīng)關(guān)系創(chuàng)建時間:包括:邏輯頁號、頁框號8、 操作系統(tǒng)采用分頁式存儲管理方式,每個進(jìn)程一個頁表還是整個系統(tǒng)共享一個頁表?一個進(jìn)程一個頁表9、 請分別給出頁式存儲管理、段式存儲管理、段頁式存儲管理其進(jìn)程的邏輯地址形式。它們的進(jìn)程地址空間分別是幾維的?頁式存儲管理:一維地址段

39、式存儲管理:段頁式存儲管理:二維地址10、 假設(shè)操作采用頁式存儲管理方式,某進(jìn)程的頁表如下:頁面號頁架號015122216332假設(shè)內(nèi)存物理地址和進(jìn)程邏輯地址均為16位的地址空間,每頁的大小為1KB。請把邏輯地址為0A22H、0D75H、1E56H映射成對應(yīng)的物理地址。11、 如果沒有快表,采用分別頁式存儲管理、段式存儲管理、段頁式存儲管理三種方式,其分別需要訪問幾次內(nèi)存?頁式存儲管理:要訪問兩次內(nèi)存。第一次用來查找頁表,將邏輯地址變換為物理地址;第二次完成真正的讀寫操作。段式存儲管理:要訪問兩次內(nèi)存。第一次用來查找段表,將邏輯地址變換為物理地址;第二次完成真正的讀寫操作。段頁式存儲管理:需要

40、訪問三次內(nèi)存。12、 操作系統(tǒng)采用分頁式存儲管理方式,要求_A_。A)每個進(jìn)程擁有一張頁表,且進(jìn)程的頁表駐留在內(nèi)存中;B)每個進(jìn)程擁有一張頁表,但只要執(zhí)行進(jìn)程的頁表駐留在內(nèi)存中,其他進(jìn)程的頁表不必駐留在內(nèi)存中;C)所有進(jìn)程共享一張頁表,以節(jié)約有限的內(nèi)存空間,但頁表必須駐留在內(nèi)存中;D)所有進(jìn)程共享一張頁表,只有頁表中當(dāng)前使用的頁面必須駐留在內(nèi)存中,以最大限度節(jié)約有限的內(nèi)存空間;13、 為何段式管理有段內(nèi)越界,而頁式管理無頁內(nèi)越界問題?頁式管理的劃分是由操作系統(tǒng)完成的,每個地址由系統(tǒng)自動劃分為頁號和頁內(nèi)地址兩部分,因此無頁內(nèi)越界問題。而段式管理的劃分是由編譯程序完成的,邏輯地址由段號和段內(nèi)偏移量

41、組成,因此,存在段內(nèi)越界問題。14、 為什么分段技術(shù)比分頁技術(shù)更容易實現(xiàn)程序或數(shù)據(jù)的共享和保護(hù)?1) 每一段在邏輯上是相對完整的一組信息,分段技術(shù)中共享信息是在段一級出現(xiàn)的。因此,任何共享的信息可以單獨作一個段;2) 而頁式信息的物理單位,在一個頁面中可能存在邏輯上互相獨立的兩組或更多組信息都各不相同的使用方式和存取權(quán)限。15、 在段頁式存儲管理系統(tǒng)中,每個進(jìn)程頁表的個數(shù)由什么決定的?一個進(jìn)程有幾個段就有幾個頁表16、 試比較段式存儲管理和頁式存儲管理的優(yōu)缺點。頁式存儲管理的優(yōu)缺點:1) 靜態(tài)等長存儲分配簡單,有效地解決了內(nèi)存碎片問題2) 共享和保護(hù)不夠方便段式存儲管理的優(yōu)缺點:1) 動態(tài)異長

42、存儲分配負(fù)責(zé),存在碎片問題2) 共享和保護(hù)方便3) 可以實現(xiàn)動態(tài)連接和動態(tài)擴展17、 設(shè)有一個段表如下:段首址段長901002196001327580195296230080分別給出邏輯地址(2,88)和(4,100)對應(yīng)的物理地址。18、 在內(nèi)存管理模式中,內(nèi)存利用率最高的是_模式;動態(tài)擴充實現(xiàn)得最好的是_模式;內(nèi)存利用率最高和共享容易的是_模式。A)分區(qū)管理 B)分頁管理C)分段管理 D)段頁式管理19、 熟悉如下頁面淘汰算法:最佳淘汰算法、FIFO淘汰算法、LRU淘汰算法、NUR淘汰算法。20、 什么是 Belady異常?采用什么頁面淘汰算法會產(chǎn)生Belady異?,F(xiàn)象?P202,采用先進(jìn)

43、先出算法21、 考慮如下一個頁面處理順序,當(dāng)內(nèi)存的頁面數(shù)為3時,分別計算各頁面淘汰算法的缺頁次數(shù)。設(shè)內(nèi)存初始時為空,每頁裝入都是請求式。1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6LRU算法,缺頁次數(shù)為_ OPT算法,缺頁次數(shù)為_22、 某虛存系統(tǒng)有3頁初始為空的頁架,若采用FIFO頁面淘汰算法,則下列的頁面需求提出時,會產(chǎn)生( )次缺頁中斷?設(shè)頁面走向為:4,3,2,1,4,3,5,4,3,2,1,5。 A)7 B)8 C)9 D)1023、 p225習(xí)題六第25題、26題。24、 p224習(xí)題六第17、18題。25、 什么叫做顛簸?顛簸是由什么引起的?如何

44、消除?顛簸:頁面在內(nèi)存和外存之間頻繁調(diào)度, 以致于系統(tǒng)用于頁面調(diào)度時間大于進(jìn)程運行時間.原因:(1) 分給進(jìn)程物理頁架過少; (2) 淘汰算法不合理。 (3)程序設(shè)計不合理。處理:(1) 增加分給進(jìn)程物理頁架數(shù);(2) 改進(jìn)淘汰算法。26、 P209例6-1。第七章 文件系統(tǒng)1、 什么是文件的邏輯組織?什么是文件的物理組織?文件的邏輯組織:指文件的外部組織形式,即用戶所看到的文件組織形式文件的物理組織:指文件的內(nèi)部組織形式,即文件在物理存儲設(shè)備上的組織形式2、 文件的邏輯組織形式主要有哪兩種?(按邏輯結(jié)構(gòu)分,文件有_流式_和_記錄式_兩類。)3、 在UNIX中,把輸入輸出設(shè)備看作是(D)。A.

45、普通文件 B.目錄文件 C.索引文件 D.特殊文件4、 請闡述順序結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)和Hash結(jié)構(gòu)文件的優(yōu)缺點?順序結(jié)構(gòu):優(yōu)點:速度快,節(jié)省空間缺點:長度變化困難鏈?zhǔn)浇Y(jié)構(gòu):優(yōu)點:節(jié)省空間,長度變化容易。缺點:隨機訪問速度慢。索引結(jié)構(gòu):優(yōu)點:速度快,長度變化容易。缺點:索引塊占空間(內(nèi)存、外存)。Hash結(jié)構(gòu):優(yōu)點:按關(guān)鍵字檢索速度非??臁H秉c:文件可循環(huán)使用,滿時保存失敗。5、 FAT32磁盤文件的物理結(jié)構(gòu)屬于哪一種類型?鏈?zhǔn)浇Y(jié)構(gòu)6、 文件的物理組織有哪些形式? 順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、索引結(jié)構(gòu)、散列結(jié)構(gòu)、倒排結(jié)構(gòu)7、 什么是文件目錄?什么是目錄文件?文件目錄:用于索引文件的目錄目錄文件:為

46、了實現(xiàn)對文件目錄的管理,通常將文件目錄作為文件保存于外存空間中8、 把文件目錄劃分成主部和次部有哪些優(yōu)點?主部包括哪些內(nèi)容?次部包括哪些內(nèi)容?優(yōu)點:提高查找速度、實現(xiàn)文件連接主部包括除文件名之外的所有信息和一個標(biāo)識該主部與多少個次部相對應(yīng)的連接計數(shù)次部包括一個文件名和一個標(biāo)識文件主部的文件號9、 在UNIX系統(tǒng)中,文件采用混合索引方式實現(xiàn),在FCB中共有13個索引地址,其中第09個地址為直接索引地址,第10個為一級間接索引地址,第11個為二級間接索引地址,第12個為三級間接索引地址。假設(shè)每個磁盤塊的地址為4字節(jié),每個磁盤快為512字節(jié)。請問:(1) 這樣的方式有什么好處?(2) 它能夠保存文件

47、最大為多少字節(jié)?10、 在UNIX中,什么是I-node(I節(jié)點)?它保存那些內(nèi)容?I結(jié)點是對文件進(jìn)行控制和管理的一種數(shù)據(jù)結(jié)構(gòu)I結(jié)點保存了文件的屬性和類型、存放文件內(nèi)容的物理塊地址、最近一次的存取時間、最近一次的修改時間、創(chuàng)建此文件的時間。11、 一個磁盤通常劃分成引導(dǎo)區(qū)、超級塊、i-節(jié)點區(qū)和數(shù)據(jù)區(qū)四部分。請問各個部分有哪些作用?引導(dǎo)區(qū):在系統(tǒng)啟動時負(fù)責(zé)在磁盤找到系統(tǒng),并將其裝入內(nèi)存.超級塊:保存了全局文件信息,如硬盤已用空間、數(shù)據(jù)塊可用空間、inode結(jié)點信息I結(jié)點區(qū):保存了一個文件系統(tǒng)中的全部Inode節(jié)點數(shù)據(jù)區(qū):保存文件的內(nèi)容12、 文件目錄中的文件號指的是什么?指I結(jié)點13、 請闡述U

48、nix文件硬鏈接的實質(zhì)?通過i節(jié)點來關(guān)聯(lián)文件14、 文件目錄中的文件號指的是什么?指I節(jié)點15、 超級塊有什么作用?它包括那些信息?它什么時候讀入內(nèi)容?存放文件系統(tǒng)本身的結(jié)構(gòu)信息16、 在UNIX系統(tǒng)中,空閑磁盤塊采用成組管理,如圖所示。請詳細(xì)描述空閑磁盤塊的分配和去配過程(考慮各種可能的情況)。17、 “.”和“.”表示什么?什么叫絕對路徑?什么叫相對路徑?.:表示上一級目錄.:表示當(dāng)前目錄絕對路徑:指從根目錄開始查找一直到文件所處在的位置所要經(jīng)過的所有目錄,目錄名之間用反斜杠()隔開;C:ABCDEF2相對路徑:包括從當(dāng)前目錄開始到文件所在的位置之間的所有目錄;DEF218、 在Linux

49、/Unix系統(tǒng)中,要使用目前不在系統(tǒng)中的盤(如U盤),必須把該盤mount在系統(tǒng)中的某個目錄下,并登記相應(yīng)的mount表,結(jié)構(gòu)如下:Struct mount int m_dev; /device mounted int *m_bufp;/pointer to super block int *m_inodep;/pointer to mounted on inode mountNMOUNT; 請詳細(xì)闡述mount過程系統(tǒng)完成操作。在mount表上分配一個表項在內(nèi)存分配一個區(qū)域把超級塊讀到內(nèi)存19、 請詳細(xì)闡述Linux/Unix系統(tǒng)中,進(jìn)程(1) 創(chuàng)建文件:creat(pathname,mod

50、e)(2) 打開文件:open(pathname,mode)的基本過程。創(chuàng)建文件:1) 分配一個FCB主部(i節(jié)點),并對其初始化2) 將文件名稱和文件號作為FCB次部,即將目錄項填入文件路徑名末級目錄中3) 以寫方式打開4) 返回文件描述符打開文件:1) 根據(jù)文件路徑名查目錄找到FCB主部2) 檢查訪問合法性3) 在文件表中分配一個表項,指向該內(nèi)存i節(jié)點,初始化4) 在用戶打開文件表中取一空表項,指向系統(tǒng)打開文件表中對應(yīng)表項5) 返回文件描述符第八章 設(shè)備與I/O管理1、 按I/O基本單位分,設(shè)備可以劃分成哪兩類設(shè)備?塊型設(shè)備和字符型設(shè)備2、 有哪四種數(shù)據(jù)傳輸方式?請分別闡述四種數(shù)據(jù)傳輸方式的基本原理。程序查詢

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論