操作系统第三章课后答案
第三章
第三章處理機調度與死鎖
1.高級調度與低級調度的主要任務是什么?為什么要引入中級調度?
答:高級調度的主要任務是根據某種算法,把外存上處于后備隊列中的那些作業調入內存。
低級調度是保存處理機的現場信息,按某種算法先取進程,再把處理器分配給進程。
引入中級調度的主要目的是為了提高內存利用率和系統吞吐量。使那些暫時不能運行的進程不再占用內存資源,將它們調至外存等待,把進程狀態改為就緒駐外存狀態或掛起狀態。
2.何謂作業、作業步和作業流?
答:作業包含通常的程序和數據,還配有作業說明書。系統根據該說明書對程序的運行進行控制。批處理系統中是以作業為基本單位從外存調入內存。
作業步是指每個作業運行期間都必須經過若干個相對獨立相互關聯的順序加工的步驟。
作業流是指若干個作業進入系統后依次存放在外存上形成的輸入作業流;在操作系統的控制下,逐個作業進程處理,于是形成了處理作業流。
3.在什么情況下需要使用作業控制塊JCB?其中包含了哪些內容?
答:每當作業進入系統時,系統便為每個作業建立一個作業控制塊JCB,根據作業類型將它插入到相應的后備隊列中。
JCB 包含的內容通常有:1) 作業標識2)用戶名稱3)用戶賬戶4)作業類型(CPU繁忙型、I/O芳名型、批量型、終端型)5)作業狀態6)調度信息(優先級、作業已運行)7)資源要求8)進入系統時間9) 開始處理時間10)作業完成時間11) 作業退出時間12) 資源使用情況等
4.在作業調度中應如何確定接納多少個作業和接納哪些作業?
答:作業調度每次接納進入內存的作業數,取決于多道程序度。應將哪些作業從外存調入內存,取決于采用的調度算法。最簡單的是先來服務調度算法,較常用的是短作業優先調度算法和基于作業優先級的調度算法。
5.試說明低級調度的主要功能。
答:(1)保存處理機的現場信息(2)按某種算法選取進程(3)把處理機分配給進程。
6.在搶占調度方式中,搶占的原則是什么?
答:搶占的原則有:時間片原則、優先權原則、短作業優先權原則等。
7.在選擇調度方式和調度算法時,應遵循的準則是什么?
答:
(1)面向用戶的準則:周轉時間短、響應時間快、截止時間的保證、優先權準則。
(2)面向系統的準則:系統吞吐量高、處理機利用率好、各類資源的平衡利用。
8.在批處理系統、分時系統和實時系統中,各采用哪幾種進程(作業)調度算法?
答:批處理系統的調度算法:短作業優先、優先權、高響應比優先、多級反饋隊列調度算法。
分時系統的調度算法:時間片輪轉法。
實時系統的調度算法:最早截止時間優先即EDF、最低松弛度優先即LLF算法。
9.何謂靜態和動態優先級?確定靜態優先級的依據是什么?
答:靜態優先級是指在創建進程時確定且在進程的整個運行期間保持不變的優先級。
動態優先級是指在創建進程時賦予的優先權,可以隨進程推進或隨其等待時間增加而改變的優先級,可以獲得更好的調度性能。
確定進程優先級的依據:進程類型、進程對資源的需求和用戶要求。
10.試比較FCFS和SPF兩種進程調度算法。
答:相同點:兩種調度算法都可以用于作業調度和進程調度。
不同點:FCFS調度算法每次都從后備隊列中選擇一個或多個最先進入該隊列的作業,將它們調入內存、分配資源、創建進程、插入到就緒隊列。該算法有利于長作業/進程,不利于短作業/進程。SPF算法每次調度都從后備隊列中選擇一個或若干個估計運行時間最短的作業,調入內存中運行。該算法有利于短作業/進程,不利于長作業/進程。
11.在時間片輪轉法中,應如何確定時間片的大小?
答:時間片應略大于一次典型的交互需要的時間。一般應考慮三個因素:系統對相應時間的
要求、就緒隊列中進程的數目和系統的處理能力。
12.通過一個例子來說明通常的優先級調度算法不能適用于實時系統?
答:實時系統的調度算法很多,主要是基于任務的開始截止時間和任務緊急/松弛程度的任務優先級調度算法,通常的優先級調度算法不能滿足實時系統的調度實時性要求而不適用。
13.為什么說多級反饋隊列調度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業用戶提交的作業大多屬于較小的交互型作業,系統只要使這些作業在第一隊列規定的時間片內完成,終端作業用戶就會感到滿足。
(2)短批處理作業用戶,開始時像終端型作業一樣,如果在第一隊列中執行一個時間片段即可完成,便可獲得與終端作業一樣的響應時間。對于稍長作業,通常只需在第二和第三隊列各執行一時間片即可完成,其周轉時間仍然較短。
(3)長批處理作業,它將依次在第1,2,…,n個隊列中運行,然后再按輪轉方式運行,用戶不必擔心其作業長期得不到處理。所以,多級反饋隊列調度算法能滿足多用戶需求。
14.為什么在實時系統中,要求系統(尤其是CPU)具有較強的處理能力?
答:實時系統中通常有著多個實時任務。若處理機的處理能力不夠強,有可能因為處理機忙不過來而使某些實時任務得不到及時處理,導致發生難以預料的后果。
15.按照調度方式可將實時調度算法分為哪幾種?
答:可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉和優先調度算法;搶占式調度算法又分為基于時鐘中斷的搶占式優先權和立即搶占式優先權調度算法。
16.什么是最早截止時間優先調度算法?舉例說明。
答:根據任務的開始截止時間確定的任務優先級調度算法。截止時間越早則優先級越高。該算法要求在系統中保持一個實時任務就緒隊列,該隊列按各任務截止時間的先后排序。
舉例:非搶占式調度方式用于非周期實時任務。圖3-9是將該算法用于非搶占調度方式之例。該例中具有四個非周期任務,它們先后到達。系統首先調度任務1執行,在任務1執行期間,任務2、3又先后到達。由于任務3的開始截止時間早于任務2,故系統在任務1后將調度任務3執行。在此期間又到達作業4,其開始截止時間仍是早于任務2的,故在任務3執行完后,系統又調度任務4執行,最后才調度任務2執行。
圖3-9 EDF算法用于非搶占調度的調度方式
17.什么是最低松弛度優先調度算法?舉例說明之。
答:該算法是根據任務緊急(或松弛)的程度,來確定任務的優先級。任務的緊急程度愈高,
為該任務所賦予的優先級就愈高,以使之優先執行。例如,一個任務在200 ms 時必須完
成,而它本身所需的運行時間就有100 ms,因此,調度程序必須在100 ms 之前調度執行,
該任務的緊急程度(松弛程度)為100 ms。又如,另一任務在400 ms 時必須完成,它本身
需要運行 150 ms,則其松弛程度為 250 ms。
18.何謂死鎖?產生死鎖的原因和必要條件是什么?
答:死鎖是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀
態時,若無外力作用,它們都將無法再向前推進。
產生死鎖的原因為競爭資源和進程間推進順序非法。其必要條件是:互斥條件、請求和
保持條件、不剝奪條件、環路等待條件。
19.在解決死鎖問題的幾個方法中,哪種方法最易于實現?哪種方法使資源利用率最高?
答:解決死鎖的四種方法即預防、避免、檢測和解除死鎖中,預防死鎖最容易實現;
避免死鎖使資源的利用率最高。
20.請詳細說明可通過哪些途徑預防死鎖。
答:(1)擯棄“請求和保持”條件,就是如果系統有足夠資源,便一次性把進程需要的所
有資源分配給它;
(2)擯棄“不剝奪”條件,就是已經擁有資源的進程,當它提出新資源請求而不能立即
滿足時,必須釋放它已保持的所有資源,待以后需要時再重新申請;
(3)擯棄“環路等待”條件,就是將所有資源按類型排序標號,所有進程對資源的請求
必須嚴格按序號遞增的次序提出。
21.在銀行家算法的例子中,如果P0發出請求向量由Request(0,2,0)改為Request(0,1,0),
問系統可否將資源分配給它?(此答案有點問題,需重新考慮)
答:(1)可以。銀行家算法各種資源數量分別為10、5、7,在T0時刻的資源分配如圖所示:
(2)具體分析如下:
① Requst0(0,1,0)<=Need0(7,4,3);
②Requst0(0,1,0)<=Available(2,3,0);
系統先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成
的資源變化情況如下圖所示:
(3)P0請求資源:P0發出請求向量Requst0(0,1,0),系統按銀行家算法進行檢查:
① Requst0(0,1,0)<=Need0(7,4,3);
②Requst0(0,1,0)<=Available(2,3,0);
③ 系統暫時先假定可為P0分配資源,并修改______________有關數據,如下圖所示
綜上所述系統可以將資源分配給它。
22.銀行家算法中出現以下資源分配,試問(1)該狀態是否安全?(2)若進程P2提出
Request(1,2,2,2)后,系統能否將資源分配給它?
試問: (1)該狀態是否安全?
(2)若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它?(參考答案有錯)
答: (1)安全,因為存在安全序列{P0,P3,P4,P1,P2}
(2)系統能分配資源,分析如下。
① Request(1,2,2,2) <=Need2(2,3,5,6);
② Request(1,2,2,2) <=Available2(1,3,5,4)改成Available2(1,6,2,2);
③系統先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,
由此形成的資源變化情況如下圖所示:
④ 再利用安全性算法檢查此時系統是否安全。如下圖
由此進行的安全性檢查得知,可以找到一個安全序列{P2,P0,P1,P3,P4}。
總結
以上是生活随笔為你收集整理的操作系统第三章课后答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opendrive道路标准基础知识
- 下一篇: OpenDRIVE地图图形化