第二章操作系統(tǒng)奇數(shù)_第1頁
第二章操作系統(tǒng)奇數(shù)_第2頁
第二章操作系統(tǒng)奇數(shù)_第3頁
第二章操作系統(tǒng)奇數(shù)_第4頁
第二章操作系統(tǒng)奇數(shù)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 1、什么是PSW?其主要作用是什么?   答案:PSW是指程序狀態(tài)字。PSW的作用是用來指示處理器狀態(tài),控制指令的執(zhí)行順序,并且保留和指示與運行程序有關(guān)的各種信息,主要作用是實現(xiàn)程序狀態(tài)的保護(hù)和恢復(fù)。每個正在執(zhí)行的程序都有一個與其當(dāng)前狀態(tài)相關(guān)的相關(guān)的PSW,而每個處理器都設(shè)置一個硬件PSW寄存器,一個程序占用處理器執(zhí)行時,其PSW將占用硬件的PSW寄存器。3、為什么現(xiàn)代計算機要設(shè)置兩種或多種CPU狀態(tài)?   答案:為了確定處理器當(dāng)前是操作系統(tǒng)還是應(yīng)用程序在其上運行,在不同的程序時根據(jù)執(zhí)行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置成不

2、同的狀態(tài)。5、為什么要把機器指令分成特權(quán)指令和非特權(quán)指令?答案:這是因為應(yīng)用程序在執(zhí)行有關(guān)資源管理的機器指令時易于導(dǎo)致系統(tǒng)混亂,造成系統(tǒng)或用戶信息被破壞,因此,再多到程序設(shè)計環(huán)境中,從資源管理和多道程序執(zhí)行的角度出發(fā),必須把指令系統(tǒng)中的指令分為兩種:特權(quán)指令和非特權(quán)指令。7、從中斷事件的性質(zhì)來說,可以把它們分成哪些類型?答案:可以分為兩類:強迫性中斷和自愿性中斷,其中強迫性中斷又分為:1、機器故障中斷,2、程序性中斷3、外部中斷4、輸入輸出中斷9、從中斷事件的實現(xiàn)來說,可以把它們分成哪些類型?答案:分為硬中斷和軟中斷,其中硬中斷包括外中斷和內(nèi)中斷,軟中斷是信號和軟件中斷。11、概述程序性中斷的

3、處理方式?答案:程序性中斷常出現(xiàn)幾種錯誤,如果是語法錯誤,程序?qū)⒃诰幾g時報錯,如果邏輯錯誤,可有測試發(fā)現(xiàn)錯誤并報錯,如果運行中產(chǎn)生異常,操作系統(tǒng)會立即執(zhí)行這種中斷并處理。13、何謂中斷的優(yōu)先級?為什么要對中斷事件進(jìn)行分級?答案:中斷裝置所預(yù)設(shè)的響應(yīng)順序稱為中斷的優(yōu)先級。因為中斷是隨時發(fā)生的,所以在不發(fā)生中斷丟失的情況下把緊迫程度相當(dāng)?shù)闹袛嘣礆w為一類,緊迫程度差別大的中斷源歸為不同級別,級別高的中斷有優(yōu)先獲得響應(yīng)的權(quán)利,如果系統(tǒng)正在執(zhí)行某種優(yōu)先級的中斷服務(wù)程序,那么只有更高優(yōu)先權(quán)的中斷請求才能中斷此服務(wù)程序。15、概述系統(tǒng)調(diào)用的執(zhí)行過程?答案:系統(tǒng)調(diào)用把應(yīng)用程序的請求傳送至內(nèi)核,調(diào)用相應(yīng)的內(nèi)核函

4、數(shù)完成所需的處理。將結(jié)果返回相應(yīng)的程序。17、試述時鐘中斷在操作系統(tǒng)中的重要性及其主要作用?答案:時鐘是操作系統(tǒng)進(jìn)行調(diào)度工作的重要工具,如維護(hù)系統(tǒng)的絕對時間和日期、讓分時進(jìn)程按時間片輪轉(zhuǎn)、讓實時進(jìn)程定時發(fā)送或接收控制信號、系統(tǒng)定是喚醒或阻塞進(jìn)程、對用戶進(jìn)程記賬、測量系統(tǒng)性能等,利用定時器能夠確保操作系統(tǒng)在必要時獲得控制權(quán),陷入死循環(huán)的進(jìn)程最終會因時間片耗盡而終止被迫讓出處理器。19、操作系統(tǒng)如何處理多重中斷事件?答案:對于多重中斷,可能是同一優(yōu)先級的不同中斷,也可能是不同優(yōu)先級的中斷。如果是前者,通常由同一個中斷處理程序按自左至右的順序逐個處理并清除,對于后者可分為串行處理,嵌套處理,即時處理

5、。21,按中斷事件的來源和實現(xiàn)手段可將中斷劃分為硬中斷和軟中斷兩類。硬中斷可劃分為外中斷和內(nèi)中斷;軟中斷可劃分為信號和軟件中斷。硬中斷與軟中斷的類比:11. “中斷”(硬中斷)用于外部設(shè)備對CPU的中斷(中斷正在運行的任何程序),轉(zhuǎn)向中斷處理程序執(zhí)行。12. “異?!保ㄓ仓袛啵┮蛑噶顖?zhí)行不正常而中斷CPU(中斷正在執(zhí)行的這條指令的程序),轉(zhuǎn)向異常處理程序執(zhí)行。13. “軟件中斷”(軟中斷)用于硬中斷服務(wù)程序?qū)?nèi)核的中斷,在上半部分中發(fā)出軟件中斷(即標(biāo)記下半部分),使得中斷下半部分在適當(dāng)時刻獲得處理。14. “信號”(軟中斷)用于內(nèi)核或進(jìn)程對某個進(jìn)程的中斷,向進(jìn)程通知某個特別事件發(fā)生或迫使進(jìn)程執(zhí)

6、行信號處理程序。5. 每個處理器都有一個中斷請求級別設(shè)置,其值隨著內(nèi)核代碼的執(zhí)行而改變,運行于核心態(tài)的線程可以提高或降低正在運行處理器的優(yōu)先級,從而屏蔽低級中斷。Dispatch/DPC和APC中斷是內(nèi)核和設(shè)備驅(qū)動程序所產(chǎn)生的軟件中斷,優(yōu)先級為2和1,他們啟動線程調(diào)度、延遲過程調(diào)用和異步過程調(diào)用的執(zhí)行;普通線程運行于0級,允許發(fā)生所有級別的中斷。當(dāng)發(fā)生中斷的時,陷阱調(diào)度程序講提高處理器優(yōu)先級別至中斷源所具有的優(yōu)先級別上,保證服務(wù)于此中斷的處理器不被同級別或低級的中斷搶先,被屏蔽的中斷將被另一處理器響應(yīng),或被阻攔直至優(yōu)先級降低到相對應(yīng)的優(yōu)先級以下時才能被處理。由于改變處理器的優(yōu)先級別非常重要,故

7、處理器的優(yōu)先級只能在核心態(tài)改變。從而win2003動態(tài)實現(xiàn)了中斷屏蔽功能。3. APC:Asynchronous Procedure Call,異步過程調(diào)用,用于中斷一個特定程序和執(zhí)行,為應(yīng)用程序和系統(tǒng)代碼提供一種在特殊線程描述表中執(zhí)行代碼的方法。等待執(zhí)行的APC在內(nèi)核管理的APC隊列中,是特定于線程而言的。27. Linux中,處理快中斷僅保存那些被常規(guī)C函數(shù)修改的寄存器,會屏蔽其他中斷??熘袛嗵幚硗戤吅?,通常會恢復(fù)現(xiàn)場,返回被中斷的進(jìn)程繼續(xù)執(zhí)行,屬于非搶占式調(diào)度。 而處理慢中斷之前需保存所有寄存器的內(nèi)容,通常不屏蔽其他中斷信號,慢中斷處理完畢后,通常不返回被中斷的進(jìn)程,而是轉(zhuǎn)向調(diào)度程序重新

8、進(jìn)行調(diào)度,調(diào)度結(jié)果未必是被中斷的進(jìn)程繼續(xù)執(zhí)行,屬于搶占式調(diào)度。而且慢中斷的工作比較多。28. Linux中斷下半部分處理的原理:提供靜態(tài)創(chuàng)建的下半部分處理的數(shù)據(jù)結(jié)構(gòu),建立一個函數(shù)指針數(shù)組,采用數(shù)組索引的方式訪問,最多有32個不同的下半部分處理函數(shù)。31討論Linux的bottom half、task queue、tasklet、work queue和softirq機制。Bottom half,提供靜態(tài)創(chuàng)建的下半部分處理的數(shù)據(jù)結(jié)構(gòu),建立一個函數(shù)指針數(shù)組,采用數(shù)組索引的方式訪問,最多有32個不同的下半部分處理函數(shù)。HB機制存在兩方面的局限性:(1)下半部分處理函數(shù)的數(shù)量限制為32個,且每個HB上只

9、能掛接一個函數(shù),隨著系統(tǒng)設(shè)備的增多,HB的應(yīng)用范圍越來越廣,這個數(shù)目還不夠用。(2)每個HB在全局范圍內(nèi)同步,即使屬于不同的處理器,也不允許任何兩個HB同時執(zhí)行,這種機制使用方便但不夠靈活,安全簡單但尚存在性能瓶頸。所以在開發(fā)V2.5內(nèi)核版本時,HB接口最終被拋棄。Task queue,進(jìn)一步的改進(jìn)方法是引入任務(wù)隊列(task queue)機制,實現(xiàn)對各種任務(wù)的延遲執(zhí)行。為此,內(nèi)核定義一組隊列,每個隊列包含一個由等待調(diào)用的函數(shù)組成的鏈表,不同隊列中的函數(shù)在某個時刻會被觸發(fā)執(zhí)行。顯然,任務(wù)隊列不一定非要與中斷處理有關(guān),但是可以用它來代替HB,當(dāng)驅(qū)動程序或內(nèi)核相關(guān)部分要將任務(wù)排隊進(jìn)行延遲處理時,可

10、將任務(wù)添加到相應(yīng)的任務(wù)隊列中,然后,采用適當(dāng)?shù)姆绞酵ㄖ獌?nèi)核執(zhí)行任務(wù)隊列函數(shù)。典型的下半部分處理均有相關(guān)聯(lián)的任務(wù)隊列,任務(wù)隊列在Linux中的應(yīng)用范圍相當(dāng)廣泛,還在其他場合被使用。任務(wù)隊列與下半部分相比較,任務(wù)隊列可以動態(tài)的定義和管理,而下半部分卻由內(nèi)核靜態(tài)定義,且處理函數(shù)不能超過32種。由于任務(wù)隊列的靈活性較差,無法代替整個HB接口,也不能勝任像網(wǎng)絡(luò)等性能要求較高的子系統(tǒng),此系統(tǒng)已從V2.5版本中除去Tasklet,(小任務(wù))也是一種下半部分機制,能夠更好地支持對稱式多處理器,它基于軟中斷來實現(xiàn),但比軟中斷的借口要簡單,鎖保護(hù)的要求低。因為HB是全局串行處理,不適應(yīng)多處理器對稱系統(tǒng),引入tas

11、klet之后,不同的tasklet可同時運行于不同的CPU上。當(dāng)然由系統(tǒng)保證相同的tasklet不會同時在不同的CPU上運行。在這種情形下,tasklet就無需是可重入的。Work queue,工作隊列,與其他機制的工作原理都不同,它把一個任務(wù)延遲,并將其交給內(nèi)核線程去完成,且此任務(wù)總是在進(jìn)程上下文中執(zhí)行。這樣,通過工作隊列執(zhí)行的代碼能夠占盡進(jìn)程上下文的優(yōu)勢,最重要的是,工作隊列允許重新調(diào)度和阻塞。如果延遲執(zhí)行的任務(wù)需要阻塞、需要獲取信號量或需要獲得大量的主存空間,那么可以選擇工作隊列,否則就使用tasklet或softirq。Softriq,迄今,Linux沿用最早的HB思想,但在此機制上實

12、現(xiàn)了龐大和復(fù)雜的軟中斷子系統(tǒng)softriq,它既是一種軟中斷機制,又是一個框架,包括tasklet及為網(wǎng)絡(luò)操作專門設(shè)計的軟中斷。Tasklet允許動態(tài)注冊,但softriq在編譯時靜態(tài)定義。33.進(jìn)程有哪些主要屬性,試解釋之。(1)結(jié)構(gòu)性進(jìn)程包含數(shù)據(jù)集合和運行于其上的程序,它至少有程序塊、數(shù)據(jù)塊和進(jìn)程控制塊等要素組成。(2)共享性同一程序同時運行于不同的數(shù)據(jù)集合上時,將構(gòu)成不同的進(jìn)程,即多個進(jìn)程可以執(zhí)行相同的程序,所以進(jìn)程和程序不是一一對應(yīng)的。共享性還表現(xiàn)在進(jìn)程之間可以共享某些公用變量,通過引用公用變量就能夠交換信號,從而進(jìn)程的運行環(huán)境不再是封閉的。(3)動態(tài)性進(jìn)程是程序在數(shù)據(jù)集合上的一次執(zhí)行

13、過程,是動態(tài)的概念,同時,進(jìn)程有生命周期,由創(chuàng)建而產(chǎn)生、由調(diào)度而執(zhí)行、由事件而等待、由撤銷而消亡;而程序是一組有序指令所組成的序列,是靜態(tài)的概念,所以程序作為一種系統(tǒng)資源是永久存在的。(4)獨立性進(jìn)程是系統(tǒng)中資源分配、保護(hù)和調(diào)度的基本單位,說明它具有獨立性,凡是未建立進(jìn)程的程序,都不能作為獨立單位參與調(diào)度和運行。此外每個進(jìn)程都可以有各自獨立的、不可預(yù)知的速度在處理器上推進(jìn),即按照異步方式執(zhí)行,這也表現(xiàn)出進(jìn)程的獨立性。(5)制約性并發(fā)進(jìn)程之間存在著制約關(guān)系,造成進(jìn)程執(zhí)行速度的不可預(yù)測性,必須對進(jìn)程的并發(fā)執(zhí)行次序、相對執(zhí)行速度加以協(xié)調(diào)。(6)并發(fā)性進(jìn)程的執(zhí)行可以在時間上有所重疊,在單處理器系統(tǒng)中可

14、并發(fā)執(zhí)行,在多處理器系統(tǒng)中可并發(fā)執(zhí)行。對于單處理器系統(tǒng)而言,m個進(jìn)程輪流占用處理器并發(fā)地執(zhí)行。35.五態(tài)模型的進(jìn)程中,新建態(tài)和終止態(tài)的主要作用是什么?新建態(tài)的引用對于進(jìn)程管理非常有用,新建態(tài)對應(yīng)于進(jìn)程被處理時的狀態(tài),進(jìn)程尚未進(jìn)入就緒隊列,創(chuàng)建進(jìn)程要通過兩個步驟:首先,為新進(jìn)程分配所需資源,建立必要的管理信息;然后,設(shè)置此進(jìn)程為就緒態(tài),等待被調(diào)度執(zhí)行。終止態(tài)是指進(jìn)程完成任務(wù),到達(dá)正常結(jié)束點,或因出現(xiàn)無法到達(dá)的錯誤而異常終止,或被操作系統(tǒng)及又終止權(quán)的進(jìn)程所終止時所處的狀態(tài)。處于終止?fàn)顟B(tài)的進(jìn)程不再被調(diào)度執(zhí)行,下一步將被系統(tǒng)撤銷,最終從系統(tǒng)中消失。類似的,進(jìn)程終止也要通過兩個步驟實現(xiàn):首先,等待操作系

15、統(tǒng)或相關(guān)進(jìn)程進(jìn)行善后處理,然后,回收被占用的資源并由系統(tǒng)刪除進(jìn)程。37.多數(shù)時間片輪轉(zhuǎn)調(diào)度使用使用固定大小的時間片,請給出:(1)選擇小時間片的理由。(2)選擇大時間片的理由。時間片長短的確定遵循這樣的原則:既要保證系統(tǒng)中各個用戶進(jìn)程及時地得到響應(yīng),又不要由于時間片太短而增加調(diào)度的開銷,降低系統(tǒng)的效率。(1) 選擇小時間片的理由是:使輪轉(zhuǎn)的總時間減少,是用戶進(jìn)程盡快得到應(yīng)答。(2) 選擇大時間片的理由是:減少進(jìn)程調(diào)度次數(shù),提高系統(tǒng)效率。39什么情況下會產(chǎn)生掛起等待態(tài)和掛起就緒態(tài)?試舉例說明。掛起就緒態(tài)表明進(jìn)程具備運行條件,但目前在輔助存儲器中,只有當(dāng)進(jìn)程被換到主存時才能調(diào)度執(zhí)行;掛起等待態(tài)則表

16、明進(jìn)程正在等待某一事件發(fā)生且進(jìn)程在輔助存儲器中。掛起進(jìn)程等同于不在主存的進(jìn)程,因此,掛起進(jìn)程不會參與低級調(diào)度直到它們被對換進(jìn)主存。掛起進(jìn)程具有以下特征:此進(jìn)程不能立即執(zhí)行;此進(jìn)程可能會等待某事件發(fā)生,所等待的事件獨立于掛起事件,時間結(jié)束并不能導(dǎo)致進(jìn)程具備可執(zhí)行條件;此進(jìn)程進(jìn)入掛起狀態(tài)是由于操作系統(tǒng)、父進(jìn)程或進(jìn)程自身阻止其運行;進(jìn)程掛起狀態(tài)的結(jié)束命令只能通過操作系統(tǒng)或父進(jìn)程發(fā)出。41 每個進(jìn)程有且僅有一個進(jìn)程控制塊,或成進(jìn)程描述符,它是進(jìn)城存在的唯一標(biāo)識,是操作系統(tǒng)用來記錄和刻畫進(jìn)程狀態(tài)及有關(guān)信息的數(shù)據(jù)結(jié)構(gòu),是進(jìn)程動態(tài)特征的一種匯集,也是操作系統(tǒng)掌握進(jìn)程的唯一資料結(jié)構(gòu)和管理進(jìn)程的主要依據(jù)。進(jìn)程控

17、制塊包括進(jìn)程執(zhí)行時的情況以及進(jìn)程讓出處理器之后所處的狀態(tài)、斷點等信息,一般來說包括三類信息,標(biāo)識信息、現(xiàn)場信息和控制信息。43 線性方式、鏈接方式、索引方式45 進(jìn)程上下文實際上是進(jìn)程執(zhí)行活動全過程的靜態(tài)描述。我們把已執(zhí)行過的進(jìn)程指令和數(shù)據(jù)在相關(guān)寄存器與堆棧中的內(nèi)容稱為上文,把正在執(zhí)行的指令和數(shù)據(jù)在寄存器和堆棧中的內(nèi)容稱為正文,把待執(zhí)行的指令和數(shù)據(jù)在寄存器與堆棧中的內(nèi)容稱為下文。具體的說,進(jìn)程上下文包括計算機系統(tǒng)中與執(zhí)行該進(jìn)程有關(guān)的各種寄存器(例如通用寄存器,程序計數(shù)器PC,程序狀態(tài)字寄存器PS等)的值,程序段在經(jīng)過編譯過后形成的機器指令代碼集,數(shù)據(jù)集及各種堆棧值PCB結(jié)構(gòu)。47 當(dāng)發(fā)生中斷或

18、系統(tǒng)調(diào)用時,暫停正在運行的進(jìn)程,把處理器狀態(tài)從用戶態(tài)切換到核心態(tài),執(zhí)行操作系統(tǒng)服務(wù)程序,這就是一次模式切換。 模式切換不同于進(jìn)程切換,它不一定會引起進(jìn)程狀態(tài)的轉(zhuǎn)換,在大多數(shù)情況下,也不一定引起進(jìn)程切換,在完成系統(tǒng)調(diào)用服務(wù)或中斷處理之后,可通過逆向模式切換來恢復(fù)被中斷進(jìn)程的運行。49 進(jìn)程運行結(jié)束:進(jìn)程執(zhí)行非法指令:進(jìn)程在用戶態(tài)執(zhí)行特權(quán)指令:進(jìn)程的運行時間超過所分配的最大時間配額:進(jìn)程的等待時間超過所設(shè)定的最長等待時間:進(jìn)程所申請的主存空間超過系統(tǒng)所能提供的最大容量:越界錯誤:對共享主存區(qū)的非法使用:算數(shù)錯誤:I/O操作故障:操作員或操作系統(tǒng)干預(yù):父進(jìn)程撤銷其子進(jìn)程:父進(jìn)程撤銷,其所有子進(jìn)程被撤

19、銷:操作系統(tǒng)終止,等等。 61列舉與線程狀態(tài)變化有關(guān)的線程操作線程的狀態(tài)有運行,就緒和等待三態(tài)。他的狀態(tài)轉(zhuǎn)換與進(jìn)程類似。當(dāng)該進(jìn)程被操作系統(tǒng)選中后,獲得CPU,此時線程就會由就緒態(tài)轉(zhuǎn)變?yōu)檫\行態(tài);當(dāng)處于運行狀態(tài)的線程在執(zhí)行過程中要求系統(tǒng)服務(wù)或有另一個處于就緒態(tài)的線程,此時線程就會由運行態(tài)轉(zhuǎn)變?yōu)榈却龖B(tài);當(dāng)被等待事件完成,此時線程就會由等待態(tài)轉(zhuǎn)變?yōu)榫途w態(tài)。63試述并發(fā)多線程程序設(shè)計的主要優(yōu)點及其應(yīng)用多線程程序設(shè)計的主要優(yōu)點是提高系統(tǒng)性能,具體體現(xiàn)在:快速線程切換,節(jié)省主存空間,減少管理開銷,通信易于實現(xiàn),并發(fā)程度提高。多線程技術(shù)應(yīng)用包括:前臺和后臺工作,客戶服務(wù)器應(yīng)用模式,任務(wù)異步處理,用戶界面設(shè)計等

20、。65試述Linux的進(jìn)程和線程Linux認(rèn)為線程就是共享地址空間及其他資源的進(jìn)程,有一套在用戶模式下運行的線程庫pthread;同時Linux支持內(nèi)核線程,這類線程周期性地被喚醒和調(diào)用,可以被調(diào)度或搶占,主要用于實現(xiàn)系統(tǒng)后臺操作。Linux系統(tǒng)啟動時,最先產(chǎn)生idle進(jìn)程,此進(jìn)程會創(chuàng)建一個內(nèi)核線程來執(zhí)行初始化工作,結(jié)果是處理器的運行模式由核心態(tài)切換至用戶態(tài)。內(nèi)核線程演變成用戶進(jìn)程init,一切用戶進(jìn)程都是他的后代進(jìn)程。創(chuàng)建每個進(jìn)程時,要為其創(chuàng)建新的進(jìn)程描述符結(jié)構(gòu)體。67試述Windows 2003中的進(jìn)程和線程概念Windows 2003中進(jìn)程是資源的容器,容納所分配到的各種資源。線程是可以

21、唄被內(nèi)核調(diào)度的執(zhí)行實體,他可以被中斷,使CPU轉(zhuǎn)向另一個線程執(zhí)行。77 解釋: (1) 作業(yè)周轉(zhuǎn)時間; (2) 作業(yè)帶權(quán)周轉(zhuǎn)時間; (3) 響應(yīng)時間; (4) 吞吐率.答:(1) 作業(yè)周轉(zhuǎn)時間:批處理用戶從向系統(tǒng)提交作業(yè)開始,到作業(yè)完成為止的時間間隔稱為作業(yè)周轉(zhuǎn)時間.包括:作業(yè)在后備隊伍中等待的時間、相應(yīng)的進(jìn)程進(jìn)入主存之后在就緒隊列中等待的時間、進(jìn)程在CPU上執(zhí)行的時間和等待事件發(fā)生的時間。(2) 作業(yè)帶權(quán)周轉(zhuǎn)時間:如果作業(yè)i的周轉(zhuǎn)時間為t,所需運行時間為T,則稱w=t/T為此作業(yè)的帶權(quán)周轉(zhuǎn)時間。(3) 響應(yīng)時間:從交互式進(jìn)程提交一個請求至得到響應(yīng)之間的時間間隔稱為響應(yīng)時間。包括:所輸入的請求

22、命令傳送到CPU的時間、CPU處理這一請求命令的時間和處理所形成的響應(yīng)回送到終端顯示器的時間。(4) 吞吐率:單位時間內(nèi)CPU處理作業(yè)的個數(shù)。79 什么是JCB?列舉其主要內(nèi)容和作用。答:JCB:Job Control Block 作業(yè)控制塊;為了有效地管理作業(yè),必須像進(jìn)程管理那樣為進(jìn)入系統(tǒng)的每個作業(yè)建立一個作業(yè)控制塊,所有JCB組成作業(yè)表。JCB是在批處理進(jìn)入系統(tǒng)時由SPOOing和作業(yè)管理模塊建立的,它是批處理作業(yè)存在于系統(tǒng)的標(biāo)志,作業(yè)撤離時其JCB也被撤銷。81 試述作業(yè)、作業(yè)步、作業(yè)流的概念。答:作業(yè)是用戶提交給操作系統(tǒng)計算的一個獨立任務(wù);作業(yè)步是作業(yè)必須經(jīng)過若干相對獨立且相互關(guān)聯(lián)的順

23、序加工步驟才能得到結(jié)果,每個加工步驟稱為作業(yè)步;作業(yè)流是若干批處理作業(yè)進(jìn)入系統(tǒng)并依次存放在磁盤上,在系統(tǒng)的控制下逐個取出執(zhí)行便形成的。83 在時間片輪轉(zhuǎn)低級調(diào)度算法中,根據(jù)哪些因素確定時間片的長短?答:確定時間片長度的因素有進(jìn)程數(shù)目、切換開銷、系統(tǒng)效率和響應(yīng)時間。93.試述linux2.4和linux2.6處理器調(diào)度算法 Linux2.4調(diào)度算法計算每個就緒隊列的進(jìn)程優(yōu)先級,對優(yōu)先級最高的進(jìn)程運行。Linux2.6調(diào)度算法采用O(1)調(diào)度程序,調(diào)度程序選擇優(yōu)先級活躍數(shù)組中第一個被設(shè)置的位,優(yōu)先級高的進(jìn)入就緒進(jìn)程隊列,然后,選擇此優(yōu)先級鏈表中的表頭進(jìn)程。內(nèi)核實現(xiàn)基于動態(tài)優(yōu)先級的調(diào)度算法,優(yōu)先級高

24、的先運行,低的后運行,相同的按輪轉(zhuǎn)運行。 95.證明:在非搶占式調(diào)度算法中,最短作業(yè)優(yōu)先算法具有最小的平均等待時間。反證:若不是最短作業(yè)優(yōu)先算法必有相鄰兩作業(yè)a、b,a的時間大于b的時間,交換a、b,則a的等待時間增加b,b的等待時間減少a,b小與a,與題設(shè)矛盾,故最短作業(yè)優(yōu)先算法具有最小的平均等待時間。97.在多級反饋隊列中,對不同的隊列分配大小不同的時間片值,其意義何在?較高優(yōu)先級分配較小的時間片值,較低優(yōu)先級分配較大的時間片值,可減少調(diào)度次數(shù)。能使優(yōu)先級高的得到響應(yīng),使短作業(yè)快速完成。而且綜合了FCFS和短作業(yè)調(diào)度算法的優(yōu)點??朔巳秉c。(5) 在操作系統(tǒng)中強調(diào)將機制與策略分離,請?zhí)岢鲆?/p>

25、種調(diào)度機制,允許父進(jìn)程控制其子進(jìn)程的調(diào)度策略。1.下列指令中哪些只能在核心態(tài)運行?(1)讀時鐘日期;(2)訪管指令;(3)設(shè)時鐘日期;(4)加載PSW; (5)置特殊寄存器:(6)改變存儲器映象圖;(7)啟動I/O指令。答:題中(1),(2)為非特權(quán)指令,(3),(4),(5),(6),(7)為特權(quán)指令。因為核心態(tài)可以執(zhí)行所有指令,而用戶態(tài)只能執(zhí)行非特權(quán)指令,所以只能在核心態(tài)運行的指令為(3),(4),(5),(6),(7)。3.并發(fā)進(jìn)程之間有什么樣的相互制約關(guān)系?下列日常生活中的活動是屬哪種制約關(guān)系:(1)踢足球;(2)吃自助餐;(3)圖書館借書;(4)電視機生產(chǎn)流水線工序。答:并發(fā)進(jìn)程之間

26、存在互斥和同步的相互制約關(guān)系。其中進(jìn)程互斥是指若干進(jìn)程因相互爭奪獨占型資源而產(chǎn)生的競爭制約關(guān)系;進(jìn)程同步是指為完成共同任務(wù)的并發(fā)進(jìn)程基于某個條件來協(xié)調(diào)其活動,因為需要在某些位置上排定執(zhí)行的先后次而等待、傳遞信號或消息所產(chǎn)生的協(xié)作制約關(guān)系。題中進(jìn)程(1),(2),(3)為互斥制約關(guān)系;進(jìn)程(1)和(4),(2)和(4),(3)和(4)為同步制約關(guān)系。5.若后備作業(yè)隊列中等待運行的同時有三個作業(yè)J1 、J2、J3 ,已知它們各自的運行時間為a 、b 、c,且滿足a < b c,試證明采用短作業(yè)優(yōu)先算法調(diào)度能獲得最小平均作業(yè)周轉(zhuǎn)時間。答:采樣SJF算法進(jìn)行作業(yè)調(diào)度,作業(yè)的調(diào)度順序為J1,J2,

27、J3則:平均作業(yè)周轉(zhuǎn)時間T1=1/3a+(a+b)+(a+b+c)=1/3(3a+2b+c)若不采用SJF算法進(jìn)行作業(yè)調(diào)度,假設(shè)作業(yè)調(diào)度順序為J2,J1,J3則:平均作業(yè)周轉(zhuǎn)時間T2=1/3b+(a+b)+(b+a+c)=1/3(3b+2a+c)T1-T2=1/3(a-b)<0所以采用最短作業(yè)優(yōu)先算法調(diào)度能獲得最小平均作業(yè)周轉(zhuǎn)時間。二、應(yīng)用題7.1)采用先來先服務(wù)的調(diào)度算法調(diào)度算法為:job1 job2 job3 job4 job5平均周轉(zhuǎn)時間為:(10+11+13+14+19)/ 5 = 13.5平均帶權(quán)周轉(zhuǎn)時間為:(10/10+11/1+13/2+14/1+19/5)/5=7.26

28、10s 11s 13s 14s 19 JOBS Job1 1 Job2 2 Job33 Job4 4 5 job5 TIMES 2) 采用時間片輪轉(zhuǎn)算法我們設(shè)時間片為1,調(diào)度的順序為:job1 job2 job3 job4 job5, job1 job3 job5, job1 job5, job1 job5, job1 job5, jib1, job1, job1, job1, job1。平均周轉(zhuǎn)時間為:(19+2+7+4+14) / 5 = 9.2平均帶權(quán)周轉(zhuǎn)時間為:(19/10+2/1+7/2+4/1+14/5) / 5 =2.85 1s JOBS 1 job1 2 job2 3 job3

29、 4 job4 5 job5 TIMES 3) 采用優(yōu)先權(quán)調(diào)度算法:調(diào)度算法為:job2 job5 job3 job1 job4平均周轉(zhuǎn)時間為:(18+1+8+19+6) / 5=10.4平均帶權(quán)周轉(zhuǎn)時間為:(18/10+1/1+8/2+19/1+6/5) / 5=5.6 job2 job5 job1 job3 JOBS TIMES4) 時間最短法調(diào)度算法為:job2 job4 job3 job5 job1 平均周轉(zhuǎn)時間為:(19+1+4+2+9) / 5 =5平均帶權(quán)周轉(zhuǎn)時間為:(19/10+1/1+4/2+2/1+9/5) / 5=1.74 job2job4 job3 job5 job1

30、JOBS TIMES 9.(6) 當(dāng)Q=的利用率為()2.當(dāng)Q>TCPU的利用率為=()3.當(dāng)S<Q<TCPU的利用率為=Q/(Q+S)4. 當(dāng)Q=SCPU的利用率為=50%5. 當(dāng)6. Q接近0CPU的利用率為=015. 有5個批處理作業(yè)AE均已到達(dá)計算中心,其運行時間分別是2min、4min、6min、8min和10min;各自的優(yōu)先級分別規(guī)定為1、2、3、4和5,其中5是最高級。對于時間片輪轉(zhuǎn)算法、優(yōu)先數(shù)法、短作業(yè)優(yōu)先算法、先來先服務(wù)調(diào)度算法(按照作業(yè)到達(dá)次序C、D、B、E、A),在忽略進(jìn)程切換時間的前提下,計算出平均作業(yè)周轉(zhuǎn)時間。(對于時間片輪轉(zhuǎn)算法,每個作業(yè)獲得相同

31、的2min長的時間片;對于其他算法采用單道運行方式,直到結(jié)束。)解:(1)FCFS調(diào)度算法執(zhí)行次序 執(zhí)行時間 等待時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 C 6 0 6 1 D 8 6 14 1.75 B 4 14 18 4.5 E 10 18 28 2.8 A 2 28 30 15作業(yè)平均周轉(zhuǎn)時間 T=(6+14+18+28+30)/5=19.2作業(yè)平均帶權(quán)周轉(zhuǎn)時間 W=(1+1.75+4.5+2.8+15)/5=5.016. 優(yōu)先級調(diào)度算法 執(zhí)行次序 執(zhí)行時間 等待時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 E 10 0 10 1 C 8 10 18 2.25 D 6 18 24 4.5 B 4 24 28 7

32、A 2 28 30 15作業(yè)平均周轉(zhuǎn)時間 T=(10+18+24+28+30)/5=22作業(yè)平均帶權(quán)周轉(zhuǎn)時間 W=(1+2.25+4+7+15)/5=5.85 (3)時間片輪轉(zhuǎn)法執(zhí)行次序 執(zhí)行時間 等待時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 A 2 0 2 1 B 4 8 12 3 C 6 14 20 3.33 D 8 18 26 3.25 E 10 20 30 3作業(yè)平均周轉(zhuǎn)時間 T=(2+12+20+26+30)/5=18作業(yè)平均帶權(quán)周轉(zhuǎn)時間 W=(1+3+3.33+3.25+3)/5=2.71按次序ABCDEBCDECCDEDEE輪轉(zhuǎn)執(zhí)行。(4) SJF調(diào)度算法執(zhí)行次序 執(zhí)行時間 等待時間 周轉(zhuǎn)時

33、間 帶權(quán)周轉(zhuǎn)時間 A 2 0 2 1 B 4 2 6 1.5 C 6 6 12 2 D 8 12 20 2.5 E 10 20 30 3作業(yè)平均周轉(zhuǎn)時間 T=(2+6+12+20+30)/5=14作業(yè)平均帶權(quán)周轉(zhuǎn)時間 W=(1+1.5+2+2.5+3)/5=2(1) 假定一個處理器正在執(zhí)行兩道作業(yè),其中一道作業(yè)以計算為主,另一道作業(yè)以I/O操作為主,將怎樣賦予其占有處理器的優(yōu)先級?為什么?答:計算機處理器調(diào)度算法會考慮以下幾個因素:作業(yè)響應(yīng)時間要求:讓CPU盡量和外圍設(shè)備并行工作;限制一個計算機進(jìn)程時間霸占處理器,所以I/O為主作業(yè)優(yōu)先級高.(2)假定一個處理器正在執(zhí)行3道作業(yè),第一道作業(yè)以計

34、算為主,第二道作業(yè)以I/O操作為主,第三道作業(yè)為計算與I/O操作均勻。應(yīng)該如何賦予其占有處理器的優(yōu)先級,使得系統(tǒng)效率較高.答: 計算機處理器調(diào)度算法會考慮以下幾個因素:作業(yè)響應(yīng)時間要求:讓CPU盡量和外圍設(shè)備并行工作;限制一個計算機進(jìn)程時間霸占處理器,所以I/O為主作業(yè)優(yōu)先級最高,I/O均勻的作業(yè)其次,以及計算為主作業(yè)的優(yōu)先級最低.第十五題:單道批處理系統(tǒng)中,下列三個作業(yè)采用先來先服務(wù)調(diào)度算法和最高響應(yīng)比優(yōu)先算法進(jìn)行調(diào)度,哪一種算法性能較好?請完成下表: 作業(yè) 提交時間 運行時間 開始時間 完成時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 12310 : 0010 : 1010 : 252 : 001 : 0

35、00 : 25    平均作業(yè)周轉(zhuǎn)時間=平均作業(yè)帶權(quán)周轉(zhuǎn)時間W =解:FIFO作業(yè) 提交時間 運行時間 開始時間 完成時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 12310 : 0010 : 1010 : 252 : 001 : 000 : 251012120112131702.831313:251806.8平均作業(yè)周轉(zhuǎn)時間=156平均作業(yè)帶權(quán)周轉(zhuǎn)時間W =3.68HRRF作業(yè) 提交時間 運行時間 開始時間 完成時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 12310 : 0010 : 1010 : 252 : 001 : 000 : 251012120113:25131953.25

36、1213:251204.8平均作業(yè)周轉(zhuǎn)時間=145平均作業(yè)帶權(quán)周轉(zhuǎn)時間W =3.02第17題 如果在限制為兩道的多道程序系統(tǒng)中。有4道作業(yè)進(jìn)入程序,其進(jìn)去時間,估計運行時間如下表,系統(tǒng)用SJF和SRTF調(diào)度填充下表格:解:SIF:SRTF:第19題: 在單刀處理器多道分時系統(tǒng)中,有3道作業(yè)依次提交,其提交時間,運行時間分別為下表:如果已知下列情況:(1) 沒到作業(yè)的I/O等待時間占各自總運行時間一半。(2) 分時運行兩道作業(yè),CPU將有20%的時間空閑。(3) 除了CPU,系統(tǒng)有走狗的資源供作業(yè)使用。試計算各個作業(yè)結(jié)束時間。解:所以,JOB1 結(jié)束8:54 。 JOB2結(jié)束9:15。 JOB3

37、結(jié)束9:49。21.有一個具有3道作業(yè)的多道批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先調(diào)度算法,進(jìn)程調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法。在下表所示的作業(yè)序列中,作業(yè)優(yōu)先數(shù)即為進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)越小則優(yōu)先級越高。作業(yè)到達(dá)時間估計運行時間/min優(yōu)先數(shù)A10:00405B10:20303C10:30604D10:50206E11:00204F11:10104平均周轉(zhuǎn)時間=(160+30+80+130+80+50)/6=530/6=265/3=89答:作業(yè)開始時間結(jié)束時間周轉(zhuǎn)時間A10:0012:40160B10:2010:5030C10:3011:5080D10:5013:00130E12:0012:

38、2080F11:5012:0050平均周轉(zhuǎn)時間=(160+30+80+130+80+50)/6=530/6=265/3=8923:有5個作業(yè)依次進(jìn)入系統(tǒng),其提交時間,運行時間,作業(yè)長度分別列于下表。設(shè)主存容量為100KB,采用可變分區(qū)主存管理,且作業(yè)在主存儲器中不能移動。作業(yè)調(diào)度采用先來先服務(wù)算法,作業(yè)所對應(yīng)的進(jìn)程調(diào)度采用主存中的就緒進(jìn)程平分CPU的時間的方式,不計作業(yè)對換及其他系統(tǒng)開銷。試求個作業(yè)(進(jìn)程)的開始執(zhí)行時間,完成時間,周轉(zhuǎn)時間。作業(yè)提交時間運行時間作業(yè)長度/KB開始執(zhí)行時間完成時間作業(yè)周轉(zhuǎn)時間/minJob110:00251510:0010:3030Job210:20306010

39、:2011:1050Job310:20254011:1011:4585Job410:30152010:3011:0030Job510:35103011:1011:305525.有一個具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先調(diào)度算法,進(jìn)程調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法。在下表所示的作業(yè)序列中,作業(yè)優(yōu)先數(shù)即為進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)越小則優(yōu)先級越高。作業(yè)名 到達(dá)時間估計運行時間/min優(yōu)先數(shù)A10:00405B10:20303C10:30504D10:50206(1)列出所有作業(yè)進(jìn)入主存的時間及結(jié)束時間。(2)計算作業(yè)的平均周轉(zhuǎn)時間。答:(1)作業(yè)進(jìn)入主存時間結(jié)束時間周轉(zhuǎn)時間A10:00

40、11:1070B10:2010:5030C11:1012:0090D10:5012:2090(2)平均周轉(zhuǎn)時間 (90+90+70+30)/4=70 (min)27.某多道程序系統(tǒng)供用戶使用的主存空間為100KB,磁帶機2臺,打印機1臺。采用可變分區(qū)主存管理,采用靜態(tài)方式分配外部設(shè)備,忽略用戶作業(yè)I/O操作時間?,F(xiàn)有作業(yè)序列如下:作業(yè)號進(jìn)入輸入井時間運行時間/min主存需求量/KB磁帶機需求/臺打印機需求/臺18:0025151128:2010300138:2020601048:3020201058:35151011作業(yè)調(diào)度采用FCFS策略,優(yōu)先分配主存低地址區(qū)且不準(zhǔn)移動已在主存中的作業(yè),主存

41、中的各作業(yè)平分CPU時間?,F(xiàn)求:(1)作業(yè)調(diào)度的先后次序;(2)全部作業(yè)運行結(jié)束的時間;(3)作業(yè)平均周轉(zhuǎn)時間;(4)最大作業(yè)周轉(zhuǎn)時間。答:作業(yè)開始時間結(jié)束時間周轉(zhuǎn)時間18:008:303029:009:155538:209:004048:309:104059:159:3055平均周轉(zhuǎn)時間/min(30+55+40+40+55)/5=44(1)作業(yè)調(diào)度的次序:1, 3, 4, 2, 5;(2)全部作業(yè)運行結(jié)束的時間:9:30;(3)作業(yè)平均周轉(zhuǎn)時間:44min;(4)最大作業(yè)周轉(zhuǎn)時間為作業(yè)2和作業(yè)5:55min。27:某多道程序設(shè)計系統(tǒng)供用戶使用的主存為100KB,磁帶機2臺,打印機1 臺。采

42、用可變分區(qū)內(nèi)存管理,采用靜態(tài)方式分配外圍設(shè)備,忽略用戶作業(yè)I/O時間?,F(xiàn)有作業(yè)序列如下:作業(yè)號進(jìn)入輸入井時間運行時間/min主存需求量/KB磁帶機需求/臺打印機需求/臺18:0025151128:2010300138:2020601048:3020201058:35151011作業(yè)調(diào)度采用FCFS策略,優(yōu)先分配主存低地址區(qū)且不準(zhǔn)移動已在主存中的作業(yè),主存中的各作業(yè)平分CPU時間?,F(xiàn)求:(1) (1)作業(yè)調(diào)度的先后次序;(2) (2)全部作業(yè)運行結(jié)束的時間;(3) (3)作業(yè)平均周轉(zhuǎn)時間;(4) (4)最大作業(yè)周轉(zhuǎn)時間。答:作業(yè)開始時間結(jié)束時間周轉(zhuǎn)時間18:008:303029:009:155538:209:004048:309:104059:159:3055平均周轉(zhuǎn)時間/min(30+55+40+40+55)/5=448:00 8:20 8:30 9:00 10 15 9:30 時間/min12 3時間片輪轉(zhuǎn) 4 獨占CPU 5作業(yè)號(1) 作業(yè)調(diào)度選擇的作業(yè)次序為:作業(yè)1 、作業(yè)3 、作業(yè)4 、作業(yè)2 和作業(yè)5 . (2) 全部作業(yè)運行結(jié)束的時間9 : 30 。 (3) 周轉(zhuǎn)時間:作業(yè)1 為30 分鐘、作業(yè)2 為55 分鐘、作業(yè)3 為

溫馨提示

  • 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

提交評論