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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

7、處理器的優(yōu)先級(jí)只能在核心態(tài)改變。從而win2003動(dòng)態(tài)實(shí)現(xiàn)了中斷屏蔽功能。3. APC:Asynchronous Procedure Call,異步過(guò)程調(diào)用,用于中斷一個(gè)特定程序和執(zhí)行,為應(yīng)用程序和系統(tǒng)代碼提供一種在特殊線程描述表中執(zhí)行代碼的方法。等待執(zhí)行的APC在內(nèi)核管理的APC隊(duì)列中,是特定于線程而言的。27. Linux中,處理快中斷僅保存那些被常規(guī)C函數(shù)修改的寄存器,會(huì)屏蔽其他中斷??熘袛嗵幚硗戤吅?,通常會(huì)恢復(fù)現(xiàn)場(chǎng),返回被中斷的進(jìn)程繼續(xù)執(zhí)行,屬于非搶占式調(diào)度。 而處理慢中斷之前需保存所有寄存器的內(nèi)容,通常不屏蔽其他中斷信號(hào),慢中斷處理完畢后,通常不返回被中斷的進(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),建立一個(gè)函數(shù)指針數(shù)組,采用數(shù)組索引的方式訪問(wèn),最多有32個(gè)不同的下半部分處理函數(shù)。31討論Linux的bottom half、task queue、tasklet、work queue和softirq機(jī)制。Bottom half,提供靜態(tài)創(chuàng)建的下半部分處理的數(shù)據(jù)結(jié)構(gòu),建立一個(gè)函數(shù)指針數(shù)組,采用數(shù)組索引的方式訪問(wèn),最多有32個(gè)不同的下半部分處理函數(shù)。HB機(jī)制存在兩方面的局限性:(1)下半部分處理函數(shù)的數(shù)量限制為32個(gè),且每個(gè)HB上只

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27、J3則:平均作業(yè)周轉(zhuǎn)時(shí)間T1=1/3a+(a+b)+(a+b+c)=1/3(3a+2b+c)若不采用SJF算法進(jìn)行作業(yè)調(diào)度,假設(shè)作業(yè)調(diào)度順序?yàn)镴2,J1,J3則:平均作業(yè)周轉(zhuǎn)時(shí)間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)時(shí)間。二、應(yīng)用題7.1)采用先來(lái)先服務(wù)的調(diào)度算法調(diào)度算法為:job1 job2 job3 job4 job5平均周轉(zhuǎn)時(shí)間為:(10+11+13+14+19)/ 5 = 13.5平均帶權(quán)周轉(zhuǎn)時(shí)間為:(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) 采用時(shí)間片輪轉(zhuǎn)算法我們?cè)O(shè)時(shí)間片為1,調(diào)度的順序?yàn)椋簀ob1 job2 job3 job4 job5, job1 job3 job5, job1 job5, job1 job5, job1 job5, jib1, job1, job1, job1, job1。平均周轉(zhuǎn)時(shí)間為:(19+2+7+4+14) / 5 = 9.2平均帶權(quán)周轉(zhuǎn)時(shí)間為:(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)時(shí)間為:(18+1+8+19+6) / 5=10.4平均帶權(quán)周轉(zhuǎn)時(shí)間為:(18/10+1/1+8/2+19/1+6/5) / 5=5.6 job2 job5 job1 job3 JOBS TIMES4) 時(shí)間最短法調(diào)度算法為:job2 job4 job3 job5 job1 平均周轉(zhuǎn)時(shí)間為:(19+1+4+2+9) / 5 =5平均帶權(quán)周轉(zhuǎn)時(shí)間為:(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個(gè)批處理作業(yè)AE均已到達(dá)計(jì)算中心,其運(yùn)行時(shí)間分別是2min、4min、6min、8min和10min;各自的優(yōu)先級(jí)分別規(guī)定為1、2、3、4和5,其中5是最高級(jí)。對(duì)于時(shí)間片輪轉(zhuǎn)算法、優(yōu)先數(shù)法、短作業(yè)優(yōu)先算法、先來(lái)先服務(wù)調(diào)度算法(按照作業(yè)到達(dá)次序C、D、B、E、A),在忽略進(jìn)程切換時(shí)間的前提下,計(jì)算出平均作業(yè)周轉(zhuǎn)時(shí)間。(對(duì)于時(shí)間片輪轉(zhuǎn)算法,每個(gè)作業(yè)獲得相同

31、的2min長(zhǎng)的時(shí)間片;對(duì)于其他算法采用單道運(yùn)行方式,直到結(jié)束。)解:(1)FCFS調(diào)度算法執(zhí)行次序 執(zhí)行時(shí)間 等待時(shí)間 周轉(zhuǎn)時(shí)間 帶權(quán)周轉(zhuǎn)時(shí)間 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)時(shí)間 T=(6+14+18+28+30)/5=19.2作業(yè)平均帶權(quán)周轉(zhuǎn)時(shí)間 W=(1+1.75+4.5+2.8+15)/5=5.016. 優(yōu)先級(jí)調(diào)度算法 執(zhí)行次序 執(zhí)行時(shí)間 等待時(shí)間 周轉(zhuǎn)時(shí)間 帶權(quán)周轉(zhuǎn)時(shí)間 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)時(shí)間 T=(10+18+24+28+30)/5=22作業(yè)平均帶權(quán)周轉(zhuǎn)時(shí)間 W=(1+2.25+4+7+15)/5=5.85 (3)時(shí)間片輪轉(zhuǎn)法執(zhí)行次序 執(zhí)行時(shí)間 等待時(shí)間 周轉(zhuǎn)時(shí)間 帶權(quán)周轉(zhuǎn)時(shí)間 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)時(shí)間 T=(2+12+20+26+30)/5=18作業(yè)平均帶權(quán)周轉(zhuǎn)時(shí)間 W=(1+3+3.33+3.25+3)/5=2.71按次序ABCDEBCDECCDEDEE輪轉(zhuǎn)執(zhí)行。(4) SJF調(diào)度算法執(zhí)行次序 執(zhí)行時(shí)間 等待時(shí)間 周轉(zhuǎn)時(shí)

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

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

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

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

37、結(jié)束9:49。21.有一個(gè)具有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)先級(jí)越高。作業(yè)到達(dá)時(shí)間估計(jì)運(yùn)行時(shí)間/min優(yōu)先數(shù)A10:00405B10:20303C10:30604D10:50206E11:00204F11:10104平均周轉(zhuǎn)時(shí)間=(160+30+80+130+80+50)/6=530/6=265/3=89答:作業(yè)開(kāi)始時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間A10:0012:40160B10:2010:5030C10:3011:5080D10:5013:00130E12:0012:

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

39、:2011:1050Job310:20254011:1011:4585Job410:30152010:3011:0030Job510:35103011:1011:305525.有一個(gè)具有兩道作業(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)先級(jí)越高。作業(yè)名 到達(dá)時(shí)間估計(jì)運(yùn)行時(shí)間/min優(yōu)先數(shù)A10:00405B10:20303C10:30504D10:50206(1)列出所有作業(yè)進(jìn)入主存的時(shí)間及結(jié)束時(shí)間。(2)計(jì)算作業(yè)的平均周轉(zhuǎn)時(shí)間。答:(1)作業(yè)進(jìn)入主存時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間A10:00

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論