(操作系统题目题型总结)第二章:处理器管理
費(fèi)翔林操作系統(tǒng)課后題
(1)思考題
1:什么是PSW?它有何作用 ★★★
【答案】
操作系統(tǒng)將程序運(yùn)行時(shí)的一組動(dòng)態(tài)信息匯集在一起,稱為程序狀態(tài)字PSW,并放在處理器的一組特殊寄存器里,以方便系統(tǒng)的控制和管理
- PSW用來指示運(yùn)行程序狀態(tài)、控制指令執(zhí)行順序,并且保留和指示與運(yùn)行程序有關(guān)的各種信息,主要作用是實(shí)現(xiàn)程序狀態(tài)的保護(hù)和恢復(fù)
2:為什么要把機(jī)器指令分為特權(quán)指令和非特權(quán)指令
【答案】
操作系統(tǒng)是系統(tǒng)資源的管理者和控制者,所以操作系統(tǒng)程序具有較高特權(quán),而應(yīng)用程序權(quán)限較低,前者可以使用全部機(jī)器指令,如果讓應(yīng)用程序也能執(zhí)行全部整理,那么在運(yùn)行時(shí)極易造成系統(tǒng)混亂,造成系統(tǒng)或用戶信息被破壞,所以要分為特權(quán)指令和非特權(quán)指令
3:硬件如何發(fā)現(xiàn)中斷事件?發(fā)現(xiàn)中斷事件后應(yīng)該做什么工作
由外部設(shè)備、時(shí)鐘部件或其他機(jī)器發(fā)出的,發(fā)現(xiàn)中斷源并產(chǎn)生中斷的硬件稱為中斷裝置,這些硬件包括中斷邏輯線路和中斷寄存器。需要做4件事情
- 發(fā)現(xiàn)中斷源
- 保護(hù)現(xiàn)場(chǎng)
- 轉(zhuǎn)向中斷服務(wù)程序
- 恢復(fù)現(xiàn)場(chǎng)
4:試分別從中斷事件的性質(zhì)、來源和實(shí)現(xiàn)角度對(duì)其進(jìn)行分類★★★
可以將中斷分為外中斷和內(nèi)中斷
- 外中斷:又稱為中斷,是指來自處理器之外的中斷信號(hào),包括時(shí)鐘中斷,鍵盤等。外中斷又可以分為可屏蔽和不可屏蔽中斷
- 內(nèi)中斷:又稱為異常,是指來自處理器內(nèi)部的中斷信號(hào)。具體可分為訪管中斷、硬件故障中斷、程序性異常
5:概述程序性中斷的處理方式
【答案】
應(yīng)用程序錯(cuò)誤有以下幾類:
- 語(yǔ)法錯(cuò)誤:可由編譯程序發(fā)現(xiàn)并報(bào)錯(cuò)
- 邏輯錯(cuò)誤:可由測(cè)試程序發(fā)現(xiàn)并報(bào)錯(cuò)
- 程序運(yùn)行時(shí)異常(例如浮點(diǎn)異常):不同用戶往往有不同的處理要求,借助于信號(hào)機(jī)制,操作系統(tǒng)可以將捕獲的中斷事件原封不動(dòng)地轉(zhuǎn)交給應(yīng)用程序自行處理
6:何為中斷優(yōu)先級(jí)?為什么要對(duì)中斷事件進(jìn)行分級(jí)?
- 中斷是隨機(jī)發(fā)生的,在計(jì)算機(jī)執(zhí)行的每一瞬間都可能有多個(gè)中斷同時(shí)出現(xiàn),這時(shí)中斷裝置如何響應(yīng)這些中斷便成了一個(gè)問題。因此,可以按照緊迫程度把中斷源進(jìn)行分級(jí),級(jí)別高中斷自然擁有優(yōu)先響應(yīng)的權(quán)利。所以中斷裝置所預(yù)設(shè)的響應(yīng)順序就稱為中斷優(yōu)先級(jí)
- 因?yàn)閮?yōu)先級(jí)是按照中斷請(qǐng)求的輕重緩急程度而定的,如果嚴(yán)重的事件得不到及時(shí)響應(yīng)將會(huì)導(dǎo)致嚴(yán)重后果
7:為什么中斷事件的處理可以嵌套,但是不能遞歸
【答案】
因?yàn)樵谟?jì)算機(jī)系統(tǒng)運(yùn)行過程中可能同時(shí)出現(xiàn)多個(gè)中斷,或者前一個(gè)中斷尚未處理完接著又發(fā)生新的中斷,于是CPUU暫停正在運(yùn)行的中斷處理程序,轉(zhuǎn)而執(zhí)行新的中斷處理程序,這就是中斷嵌套
8:試述中斷在操作系統(tǒng)中的重要性及主要作用★★★
【答案】
在計(jì)算機(jī)運(yùn)行過程中,可能會(huì)有很多隨機(jī)事件發(fā)生,如硬件故障、網(wǎng)絡(luò)通信、人機(jī)交互等,因此必須對(duì)這些事件及時(shí)處理。所以中斷正是在這種需求下提出的,使用中斷可以暫停當(dāng)前正在運(yùn)行的程序,轉(zhuǎn)去處理緊急事件,處理完畢還可以回到原來的位置繼續(xù)執(zhí)行。中斷大大提高了計(jì)算機(jī)的靈活性,可靠性和并行性
9:試述時(shí)鐘中斷在操作系統(tǒng)中的重要性及其主要作用
【答案】
時(shí)鐘中斷是一種硬中斷,由時(shí)間硬件(系統(tǒng)定時(shí)器,一種可編程硬件)產(chǎn)生,CPU處理后交由時(shí)間中斷處理程序來完成更新系統(tǒng)時(shí)間、執(zhí)行周期性任務(wù)等。利用時(shí)鐘中斷可以確保操作系統(tǒng)在必要時(shí)獲得控制權(quán),陷入死循環(huán)的進(jìn)程最終會(huì)因?yàn)闀r(shí)間片耗盡而被迫讓出處理機(jī)
10:試述中斷屏蔽的作用★★★
【答案】
中斷屏蔽是指禁止CPU響應(yīng)中斷或禁止中斷產(chǎn)生,前者指硬件產(chǎn)生中斷請(qǐng)求后,CPU暫時(shí)不予響應(yīng)的狀態(tài),等到直到中斷開放后,被屏蔽的中斷才能被相應(yīng)并獲得處理;后者指可引起中斷的事件產(chǎn)生時(shí),硬件不允許提出中斷請(qǐng)求而不通知處理器
作用如下
- 延遲或禁止某些中斷的響應(yīng),系統(tǒng)程序執(zhí)行過程中不希望產(chǎn)生干擾事件,以免共享數(shù)據(jù)結(jié)構(gòu)收到破壞
- 協(xié)調(diào)中斷響應(yīng)與中斷處理的關(guān)系,確保高優(yōu)先級(jí)中斷可以打斷低優(yōu)先級(jí)中斷,反之則不能
- 防止同級(jí)中斷相互干擾,在處理某優(yōu)先級(jí)中斷事件時(shí),必須屏蔽該級(jí)中斷,以免造成混亂
11:操作系統(tǒng)如何處理多重中斷事件
【答案】
對(duì)于多重中斷,可能是同一優(yōu)先級(jí)的不同中斷,也可能是不同優(yōu)先級(jí)的中斷,對(duì)于前者,通常由同一個(gè)中斷處理程序按自左至右的順序逐個(gè)處理并清除之;對(duì)于后者,可以分不同情況處理
- 串行處理:在運(yùn)行一個(gè)中斷處理程序時(shí),禁止再次發(fā)生中斷,可以通過屏蔽終端實(shí)現(xiàn)
- 嵌套處理:這是系統(tǒng)應(yīng)負(fù)責(zé)保護(hù)被中斷的中斷處理程序現(xiàn)場(chǎng),然后轉(zhuǎn)向處理新中斷事件的中斷處理程序,以便在結(jié)束時(shí)可以返回原來的中斷處理程序繼續(xù)運(yùn)行
- 即時(shí)處理:在運(yùn)行中斷處理程序時(shí),如果出現(xiàn)程序性中斷事件,在一般情況下,表明此時(shí)中斷處理程序有異常,應(yīng)對(duì)其立即響應(yīng)并做處理
12:什么進(jìn)程?計(jì)算機(jī)操作系統(tǒng)為何要引入進(jìn)程★★★
【答案】
- 在多道程序系統(tǒng)出現(xiàn)后,為了刻畫系統(tǒng)內(nèi)部動(dòng)態(tài)狀況,描述運(yùn)行程序活動(dòng)規(guī)律,為此引入了進(jìn)程的概念
- 從原理上看,進(jìn)程是支持程序執(zhí)行的一種系統(tǒng)機(jī)制,他對(duì)處理器上運(yùn)行程序的活動(dòng)規(guī)律進(jìn)行抽象;從實(shí)現(xiàn)角度看,進(jìn)程則是一種數(shù)據(jù)結(jié)構(gòu),用來準(zhǔn)確刻畫運(yùn)行程序的狀態(tài)和系統(tǒng)動(dòng)態(tài)變化狀況
- 引入的主要目的:刻畫程序的并發(fā)性和解決資源的共享性
13:進(jìn)程有哪些屬性★★★
【答案】
- 動(dòng)態(tài)性:進(jìn)程是程序在數(shù)據(jù)集合上的一次執(zhí)行過程,而程序則是一組有序指令序列
- 共享性:同一程序同時(shí)運(yùn)行于不同數(shù)據(jù)集合上時(shí)構(gòu)成不同進(jìn)程
- 獨(dú)立性:每個(gè)進(jìn)程是操作系統(tǒng)的一個(gè)獨(dú)立實(shí)體,有自己的虛存空間,程序計(jì)數(shù)器和內(nèi)部狀態(tài)
- 制約性:進(jìn)程因?yàn)楣蚕碣Y源或協(xié)同工作會(huì)產(chǎn)生相互制約關(guān)系,造成進(jìn)程運(yùn)行的異步性
- 并發(fā)性:多個(gè)進(jìn)程的執(zhí)行再時(shí)間上可以重疊,在單處理系統(tǒng)中可并發(fā)執(zhí)行
14 :進(jìn)程最基本的狀態(tài)有哪些?★★★
【答案】
- 運(yùn)行態(tài):進(jìn)程占有處理器
- 就緒態(tài):進(jìn)程具備運(yùn)行條件,正等待系統(tǒng)分配處理器
- 阻塞態(tài):進(jìn)程不具備運(yùn)行條件,正在等待某個(gè)事件完成
15:五態(tài)模型的進(jìn)程中,新建態(tài)和終止態(tài)的主要作用是什么
【答案】
- 新建態(tài)對(duì)應(yīng)于進(jìn)程被創(chuàng)建時(shí)的狀態(tài),尚未進(jìn)入就緒隊(duì)列。此狀態(tài)內(nèi)可以為進(jìn)程分配所需要的資源和建立必要的管理信息
- 終止態(tài)是指進(jìn)程完成任務(wù)到達(dá)正常結(jié)束點(diǎn),或出現(xiàn)無(wú)法克服的錯(cuò)誤而異常終止,或被操作系統(tǒng)及有終止權(quán)的進(jìn)程所終止時(shí)所處的狀態(tài),處于終止態(tài)的進(jìn)程不再被調(diào)度執(zhí)行,下一步將會(huì)被系統(tǒng)撤銷
16:試說明引發(fā)創(chuàng)建一個(gè)進(jìn)程的事件★★★
17:什么是進(jìn)程的掛起狀態(tài)
【答案】
掛起進(jìn)程等同于不在內(nèi)存的進(jìn)程,因此掛起進(jìn)程將不參與低級(jí)調(diào)度直到它們被對(duì)換進(jìn)內(nèi)存,有如下特征
- 該進(jìn)程不能立即被執(zhí)行
- 該進(jìn)程可能會(huì)等待事件,但所等待的事件是獨(dú)立于掛起條件的,事件結(jié)束并不能導(dǎo)致進(jìn)程具備執(zhí)行條件
- 該進(jìn)程進(jìn)入掛起狀態(tài)是由于操作系統(tǒng)、父進(jìn)程或進(jìn)程自身阻止它的運(yùn)行
- 結(jié)束進(jìn)程掛起狀態(tài)的命令只能通過操作系統(tǒng)或父進(jìn)程發(fā)出
18:試述組成進(jìn)程的基本要素,并說明其作用★★★
【答案】
- 進(jìn)程控制塊(PCB):每個(gè)進(jìn)程捆綁一個(gè),用來存儲(chǔ)進(jìn)程的標(biāo)志信息,現(xiàn)場(chǎng)信息和控制信息
- 進(jìn)程程序塊:是被進(jìn)程執(zhí)行的程序,規(guī)定進(jìn)程一次運(yùn)行所應(yīng)該完成的功能
- 進(jìn)程核心塊:每個(gè)進(jìn)程捆綁一個(gè),進(jìn)程在核心態(tài)工作時(shí)使用,用來保存中斷/異常現(xiàn)場(chǎng),局部變量等
- 進(jìn)程數(shù)據(jù)塊:是進(jìn)程的私有地址空間,存放各種私有數(shù)據(jù)
19:何謂PCB,它包含哪些基本信息★★★
【答案】
每個(gè)進(jìn)程有且僅有一個(gè)進(jìn)程控制塊(PCB),它是進(jìn)程存在的唯一標(biāo)識(shí),是操作系統(tǒng)用來記錄和刻畫進(jìn)程狀態(tài)及環(huán)境信息的數(shù)據(jù)結(jié)構(gòu),是進(jìn)程動(dòng)態(tài)特征的話匯集,也是操作系統(tǒng)掌握進(jìn)程的唯一資料結(jié)構(gòu)和管理進(jìn)程的主要依據(jù)。主要包含
- 標(biāo)識(shí)信息:用于唯一表示一個(gè)進(jìn)程
- 現(xiàn)場(chǎng)信息:保留進(jìn)程在運(yùn)行時(shí)存放在處理器現(xiàn)場(chǎng)中的各種信息
- 控制信息:用于管理和調(diào)度進(jìn)程
20:何謂進(jìn)程隊(duì)列
【答案】
- 進(jìn)程隊(duì)列:并發(fā)系統(tǒng)中往往同時(shí)存在很多進(jìn)程,其狀態(tài)千差萬(wàn)別。因此為了便于對(duì)進(jìn)程進(jìn)行管理和調(diào)度,常常將進(jìn)程的PCB通過某種方法組織起來。一般來說,把處于統(tǒng)一狀態(tài)的所有進(jìn)程的PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱之進(jìn)程隊(duì)列
21:請(qǐng)列舉組織進(jìn)程隊(duì)列的各種方法
- 鏈接方式:對(duì)于同一狀態(tài)進(jìn)程的PCB,通過PCB中的鏈接指針將其鏈接成隊(duì)列
- 索引方式:利用索引表記錄不同狀態(tài)進(jìn)程的PCB地址或在PCB中的編號(hào),系統(tǒng)會(huì)建立若干索引表
22:試述內(nèi)核創(chuàng)建進(jìn)程所要做的主要工作★★★
【答案】
- 在進(jìn)程列表中增加一項(xiàng),從PCB池中申請(qǐng)一個(gè)空閑PCB,為新進(jìn)程分配一個(gè)進(jìn)程標(biāo)識(shí)符
- 為新進(jìn)程的進(jìn)程映像分配地址空間,以便容納進(jìn)程實(shí)體,由進(jìn)程管理程序確定加載進(jìn)地址空間中的程序
- 為新進(jìn)程分配各種資源
- 初始化PCB,如進(jìn)程標(biāo)識(shí)符、處理器初始狀態(tài)、進(jìn)程優(yōu)先級(jí)等
- 把新進(jìn)程的狀態(tài)設(shè)置為就緒態(tài),并將其移入就緒隊(duì)列
- 通知操作系統(tǒng)某些模塊
23:什么是進(jìn)程上下文
【答案】
進(jìn)程上下文一般在進(jìn)程切換中提到,也就是當(dāng)進(jìn)程要切換時(shí)關(guān)于當(dāng)前進(jìn)程的寄存器內(nèi)容以及內(nèi)存頁(yè)表的詳細(xì)信息等等內(nèi)容,一句話概括也就是關(guān)于描述進(jìn)程的信息
24:什么是進(jìn)程切換?簡(jiǎn)述進(jìn)程切換的主要步驟★★★
【答案】
【答案】
從用戶態(tài)到內(nèi)核態(tài)或從內(nèi)核態(tài)到用戶態(tài)的轉(zhuǎn)換是處理器的狀態(tài)轉(zhuǎn)換,此時(shí)仍在同一個(gè)進(jìn)程中運(yùn)行,進(jìn)程仍然在自己的上下文中執(zhí)行,僅處理器狀態(tài)發(fā)生了變化。處理器狀態(tài)轉(zhuǎn)換不同于進(jìn)程上下文切換,在大多數(shù)情況下,狀態(tài)轉(zhuǎn)換不一定引起上下文切換。處理器上執(zhí)行進(jìn)程在任何時(shí)刻必定處于以下4個(gè)活動(dòng)范圍之內(nèi)
- 用戶空間中,處于進(jìn)程上下文,應(yīng)用進(jìn)程在用戶態(tài)下運(yùn)行,使用用戶棧
- 內(nèi)核空間中,處于進(jìn)程上下文,內(nèi)核代表參加在內(nèi)核態(tài)下運(yùn)行,使用核心態(tài)
- 內(nèi)核空間中,處于中斷上下文,與任何進(jìn)程無(wú)關(guān),中斷服務(wù)例程在內(nèi)核態(tài)下處理特定中斷
- 內(nèi)核空間中,內(nèi)核線程運(yùn)行于內(nèi)核態(tài)
25:試述引起撤銷一個(gè)進(jìn)程的主要事件,系統(tǒng)撤銷進(jìn)程時(shí)所作的主要工作有哪些
【答案】
引起進(jìn)程撤銷的事件有
- 進(jìn)程運(yùn)行結(jié)束
- 進(jìn)程執(zhí)行非法指令
- 進(jìn)程在用戶態(tài)執(zhí)行特權(quán)指令
- 進(jìn)程運(yùn)行時(shí)間超過所分配的最大時(shí)間配額
- 進(jìn)程等待時(shí)間超過所設(shè)定的最長(zhǎng)等待時(shí)間
- 越界錯(cuò)誤
- 對(duì)共享內(nèi)存區(qū)的非法使用
- 出現(xiàn)程序性故障
- I/O操作故障
- 操作員干預(yù)等
所做工作
- 根據(jù)撤銷進(jìn)程的標(biāo)識(shí)號(hào)從相應(yīng)隊(duì)列中查找并移除它
- 將此進(jìn)程所擁有的的資源歸還給父進(jìn)程或操作系統(tǒng)
- 若此進(jìn)程擁有子進(jìn)程,先撤銷其所有子進(jìn)程以防止他們脫離控制
- 回收PCB并將其歸還至PCB池
- 轉(zhuǎn)向進(jìn)程調(diào)度程序工作
26:列舉進(jìn)程被阻塞和喚醒的主要事件
【答案】
阻塞步驟
- 停止進(jìn)程運(yùn)行,將現(xiàn)場(chǎng)信息保存到PCB
- 修改進(jìn)程PCB的有關(guān)內(nèi)容,例如進(jìn)程狀態(tài)由運(yùn)行態(tài)改為阻塞態(tài)等,并把狀態(tài)已修改的進(jìn)程移入相應(yīng)事件的等待隊(duì)列
- 轉(zhuǎn)向進(jìn)程調(diào)度程序,調(diào)度其他進(jìn)程運(yùn)行
喚醒步驟
- 從相應(yīng)等待隊(duì)列中移出進(jìn)程
- 修改進(jìn)程PCB的有關(guān)內(nèi)容,例如將狀態(tài)改為就緒態(tài)等,并將進(jìn)程移入就緒隊(duì)列
- 若被喚醒的進(jìn)程比當(dāng)前運(yùn)行進(jìn)程的優(yōu)先級(jí)更高,則重新設(shè)置調(diào)度標(biāo)志
27:為什么要引入線程★★★
【答案】
- 引入進(jìn)程是為了使多個(gè)程序更好的并發(fā)執(zhí)行,以便改善資源利用率和提高系統(tǒng)效率
- 引入線程是為了減少程序并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使得并發(fā)粒度更細(xì),并發(fā)性更好
28:試述多線程環(huán)境中進(jìn)程和線程的定義★★★
- 進(jìn)程:操作系統(tǒng)中除處理器以外的資源分配和保護(hù)的基本單位,它有一個(gè)獨(dú)立的虛擬地址空間,用來容納進(jìn)程映像,并以進(jìn)程為單位對(duì)各種資源,如文件,I/O設(shè)備等資源實(shí)施保護(hù)
- 線程: 是進(jìn)程中能夠并發(fā)執(zhí)行的實(shí)體,是進(jìn)程的組成部分,也是處理器調(diào)度和分配的基本單位,線程可以共享進(jìn)程的內(nèi)存空間和資源
于是,進(jìn)程可以分為兩個(gè)部分:資源集合和線程集合。進(jìn)程要支持線程運(yùn)行,為線程提供虛擬地址空間和各種資源,進(jìn)程封裝管理信息,包括對(duì)指令代碼,全局?jǐn)?shù)據(jù)、打開的文件和信號(hào)量等共享部分的管理;線程封裝執(zhí)行信息,包括狀態(tài)信息,寄存器,執(zhí)行棧和局部變量等。由于線程具有傳統(tǒng)進(jìn)程的諸多特征,所以線程也叫做輕量級(jí)進(jìn)程(LWP)
29:什么是線程控制塊,它有哪些主要內(nèi)容★★★
【答案】
線程控制塊(Thread Control Block,TCB)是與進(jìn)程的控制塊(PCB)相似的子控制塊,只是TCB中所保存的線程狀態(tài)比PCB中保存少而已
30:試從調(diào)度性、并發(fā)性、 擁有資源和系統(tǒng)開銷4個(gè)方面對(duì)進(jìn)程和線程進(jìn)行比較★★★
【答案】
-
調(diào)度性: 線程在OS中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的基本單位
-
并發(fā)性: 進(jìn)程可以并發(fā)執(zhí)行,一個(gè)進(jìn)程的多個(gè)線程也可以并發(fā)執(zhí)行
-
擁有資源: 進(jìn)程始終是擁有資源的基本單位,線程只擁有運(yùn)行時(shí)必不可少的資源,本身基本不擁有資源,但可以訪問隸屬進(jìn)程的資源
-
系統(tǒng)開銷: 操作系統(tǒng)在創(chuàng)建、撤銷和切換進(jìn)程時(shí)付出的開銷遠(yuǎn)大于線程
31:什么是內(nèi)核級(jí)線程、用戶級(jí)線程和混合式線程,比較他們★★
【答案】
-
內(nèi)核級(jí)線程:線程管理工作由內(nèi)核完成,并提供線程API來使用線程。內(nèi)核需要為進(jìn)程及進(jìn)程中的單個(gè)線程維護(hù)現(xiàn)場(chǎng)信息,所以應(yīng)在內(nèi)核空間中建立和維護(hù)進(jìn)程控制塊及線程控制塊,內(nèi)核調(diào)度在線程的基礎(chǔ)上進(jìn)行
-
用戶級(jí)線程:是指線程的管理工作由應(yīng)用程序來做,在用戶空間內(nèi)實(shí)現(xiàn),內(nèi)核不知道線程的存在。應(yīng)用程序需要通過線程庫(kù)進(jìn)行程序設(shè)計(jì),再與線程庫(kù)連接后運(yùn)行來實(shí)現(xiàn)多線程
-
混合式線程:即支持用戶級(jí)線程,又支持內(nèi)核級(jí)線程
32:掛起狀態(tài)與線程有什么關(guān)系
【答案】
由于線程不是自愿擁有單位,掛起狀態(tài)對(duì)于線程是沒有意義的。如果進(jìn)程在掛起后被對(duì)換出內(nèi)存,那么它的所有線程就會(huì)因共享地址空間而被全部對(duì)換出去
33:試述并發(fā)多線程程序設(shè)計(jì)的主要優(yōu)點(diǎn)及其應(yīng)用★★★
【答案】
34:列舉線程的組織方式應(yīng)用場(chǎng)合★
【答案】
組織方式
- 調(diào)度員-工作者模式:一個(gè)線程擔(dān)任調(diào)度員,接受和處理工作請(qǐng)求,其他線程但仍工作者
- 組模式:進(jìn)程中的各個(gè)線程都可以取得并處理工作請(qǐng)求
- 流水線模式
應(yīng)用:
- 前臺(tái)和后臺(tái)工作
- Server-Client應(yīng)用模式
- 任務(wù)異步處理
- 用戶界面設(shè)計(jì)
35:何謂訪管指令?它是特權(quán)指令嗎
【答案】
訪管指令是一條可以在用戶態(tài)下執(zhí)行的指令,用戶程序中凡是要調(diào)用操作系統(tǒng)功能時(shí)就安排一條訪管指令。當(dāng)處理器執(zhí)行到訪管指令時(shí)就產(chǎn)生一個(gè)中斷事件(自愿中斷),暫停用戶程序的執(zhí)行,而讓操作系統(tǒng)來為用戶服務(wù)
36:處理器調(diào)度分為哪幾種類型★★★
【答案】
37:試述衡量一個(gè)處理器調(diào)度算法優(yōu)劣的主要標(biāo)準(zhǔn)
【答案】
38:作業(yè)和進(jìn)程的關(guān)系
【答案】
作業(yè)是任務(wù)實(shí)體,進(jìn)程是完成任務(wù)的執(zhí)行實(shí)體;沒有作業(yè)任務(wù),進(jìn)程無(wú)事可做,沒有進(jìn)程,作業(yè)無(wú)法完成。作業(yè)的概念更多用于批處理系統(tǒng)中,進(jìn)程更多用于多道程序設(shè)計(jì)系統(tǒng)中
39:試述作業(yè)調(diào)度和低級(jí)調(diào)度之間的關(guān)系
【答案】
作業(yè)調(diào)度是指按照某種算法從后背作業(yè)隊(duì)列中選擇部分作業(yè)進(jìn)入內(nèi)存運(yùn)行,當(dāng)作業(yè)運(yùn)行結(jié)束時(shí)完成善后工作,主要完成以下任務(wù)
- 選擇作業(yè):
- 分配資源
- 創(chuàng)建進(jìn)程:每當(dāng)選中作業(yè)將其裝入內(nèi)存時(shí),系統(tǒng)就為此作業(yè)創(chuàng)建進(jìn)程,生成PCB及各種進(jìn)程實(shí)體,這些進(jìn)程將在低級(jí)調(diào)度控制下占有處理器運(yùn)行
40:試述中級(jí)調(diào)度的主要作用
【答案】
中級(jí)調(diào)度就是要決定處于掛起狀態(tài)的進(jìn)程重新調(diào)入內(nèi)存。 因?yàn)樵谝胩摂M存儲(chǔ)技術(shù)后,可以將暫時(shí)不能運(yùn)行的進(jìn)程調(diào)至外存等待,等它重新具備了運(yùn)行條件且內(nèi)存又有空閑時(shí),再重新調(diào)入內(nèi)存,這樣做可以提高內(nèi)存利用率和系統(tǒng)吞吐量
41:簡(jiǎn)述各調(diào)度算法的思想
【答案】
- 先來先服務(wù)算法思想(FCFS):先來后到,每次從就緒隊(duì)列選擇最優(yōu)先進(jìn)入隊(duì)列的進(jìn)程,然后一直運(yùn)行,直到進(jìn)程退出或被阻塞,才會(huì)繼續(xù)在隊(duì)列中選擇下一個(gè)第一個(gè)進(jìn)程繼續(xù)運(yùn)行,屬于非搶占
- 最短作業(yè)優(yōu)先調(diào)度算法思想(SJF):最短(要求服務(wù)時(shí)間最短)的作業(yè)/進(jìn)程優(yōu)先得到服務(wù),既可以用于作業(yè)調(diào)度,也可以用于進(jìn)程調(diào)度
- 最短剩余時(shí)間優(yōu)先算法思想(SRTN是SJF的搶占式版本):
- 高響應(yīng)比優(yōu)先調(diào)度算法思想(HRRN):該算法綜合考慮作業(yè)/進(jìn)程的等待時(shí)間和要求服務(wù)的時(shí)間。在每次調(diào)度時(shí)先計(jì)算各個(gè)作業(yè)/進(jìn)程的響應(yīng)比,選擇響應(yīng)比最高的作業(yè)/進(jìn)程為其進(jìn)行服務(wù),屬于非搶占
- 時(shí)間片輪轉(zhuǎn)調(diào)度算法思想(RR):
- 優(yōu)先級(jí)調(diào)度算法思想(HPF):
- 多級(jí)反饋隊(duì)列調(diào)度算法思想(MFQ)
1.進(jìn)程創(chuàng)建及其對(duì)應(yīng)事件
2.進(jìn)程終止及其對(duì)應(yīng)事件
3.進(jìn)程切換及其對(duì)應(yīng)事件
(2)應(yīng)用題
【答案】
(1)
FCFS
SJF
非搶占HPF
(2)
FCFS
- 周轉(zhuǎn)時(shí)間分別為:job1=10,job2=11,job3=13,job4=14,job5=19
- 平均周轉(zhuǎn)時(shí)間為:(10+11+13+14+19)/5=13.4
- 帶權(quán)周轉(zhuǎn)時(shí)間分別為:job1=10/10=1,job2=11/1=11,job3=13/2,job4=14/1,job5=19/5
- 平均帶權(quán)周轉(zhuǎn)時(shí)間:(1+11+6.5+14+19/5)/5=1.82
SJF
- 周轉(zhuǎn)時(shí)間分別為:job1=19,job2=1,job3=4,job4=2,job5=9
- 平均周轉(zhuǎn)時(shí)間為:(19+1+4+2+9)/5=7
- 帶權(quán)周轉(zhuǎn)時(shí)間分別為:job1=19/10,job2=1/1=1,job3=4/2,job4=2/1,job5=9/5
- 平均帶權(quán)周轉(zhuǎn)時(shí)間:(19/10+1+4/2+2+9/5)/5=0.43
非搶占HPF
- 周轉(zhuǎn)時(shí)間分別為:job1=16,job2=1,job3=18,job4=19,job5=6
- 平均周轉(zhuǎn)時(shí)間為:12
- 平均帶權(quán)周轉(zhuǎn)時(shí)間:(16/10+1+9+19+1.2)/5=6.36
【答案】
- 周轉(zhuǎn)時(shí)間分別為:job1=60,job2=120,job3=50,job4=50
- 平均周轉(zhuǎn)時(shí)間為:70
- 平均帶權(quán)周轉(zhuǎn)時(shí)間:(1+120/50+50/30+50/10)/5=2.52
【答案】
(1)先來先服務(wù)
(2)最高響應(yīng)比優(yōu)先算法
當(dāng)Job1在12:00結(jié)束時(shí),job3和job2的響應(yīng)比為
- job3=95+2525=4.8\frac{95+25}{25}=4.82595+25?=4.8
- job2=110+6060=2.8\frac{110+60}{60}=2.860110+60?=2.8
所以在12:00時(shí)選擇job3調(diào)度
所以高響應(yīng)比優(yōu)先算法要由于先來先服務(wù)算法
(1)分別給出6個(gè)颙的執(zhí)行時(shí)間序列,也即開始執(zhí)行時(shí)間,作業(yè)完成時(shí)間,作業(yè)周轉(zhuǎn)時(shí)間
(2)計(jì)算平均作業(yè)周轉(zhuǎn)時(shí)間
【答案】
總結(jié)
以上是生活随笔為你收集整理的(操作系统题目题型总结)第二章:处理器管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统挂载操作mount详解
- 下一篇: CSS筛选器