操作系統精髓與設計原理第五版中文答案_第1頁
操作系統精髓與設計原理第五版中文答案_第2頁
操作系統精髓與設計原理第五版中文答案_第3頁
操作系統精髓與設計原理第五版中文答案_第4頁
操作系統精髓與設計原理第五版中文答案_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 2.1 情況(a)和情況(b)具有相同的答案。 假設處理器的操作不能重疊,但I/O操作可以。 1job:時間周期=NT 處理器利用率=50%; 2jobs:時間周期=NT 處理器利用率=100%; 4jobs:時間周期=(2N-1)NT 處理器利用率=100% 2.2 I/O限制程序只用相對較少的處理時間,因此,受到短期調度算法的偏愛。然而,如果一個處理器限制程序在一段很長的時間內被處理器時間拒絕,那同樣的這個短期調度算法則會允許處理機去處理過去一段時間一直沒有使用處理機的程序,所以,并不是永遠不受理處理器限制程序所需的處理器時間。 2.3 關于分時系統,我們所關注的是周轉時間。 首選的是時

2、間片,因為它在一個很短的時間給 所有的程序一個訪問權限去使用處理器。在批 處理系統,我們所關注的是吞吐量和更少量的上 下文轉換,對于進程來說獲得了更多的處理時 間。因此,最小化上下文轉換的處理是有優勢 的。 2.4 應用程序運用系統調用去調用操作系統所 提供的功能。關鍵的是,系統調用導致轉換到 進入內核模式的系統程序。 操作系統第三章習題解答 3.1 系統和用戶進程的創建和刪除:在系統中進程對于信息共享,加速計算,模塊性 和便利性都能并發執行。并發的執行需要進程的創建和刪除機制。進程所需要的資源在進程被創建時獲得或者在其運行的時候分配。當進程結束時,操作系統需要收回任何可重用資源。 進程的掛起

3、和恢復:在進程調度中,當進程在等待某些資源時,操作系統需要把進程狀態改變成等待或者就緒狀態。當進程所要求的資源可用時,操作系統需要把它的狀態變為運行狀態恢復它的執行。 進程同步機制:協調進程分享數據。 并發訪問使用共享數據可能導致數據不一致性,操作系統不得不為其提供一種進程同步機制用來確保協作進程有序的實行,從而保證數據的一致性。 進程通信機制 :在操作系統下執行的進程要么是獨立的進程要么是協作的進程。 協作進程必須使用某些方法來實現進程間的通信。 死鎖處理機制:在一個多道程序設計環境里,一些進程可能因為有限數量的資源而產生競爭。 如果一個死鎖發生,全部等待的進程都不會從等待狀態改變成運行狀態

4、,那么資源被浪費,工作不會被完成。 3.4 對處于就緒/掛起狀態的所有進程通過一 個固定的優先級層次來劃分,如分成一到兩 個優先級,只有當就緒/掛起狀態的進程優先 級高于所有就緒狀態進程的優先級時,才把 處理機分配給它。3.6 a)采用4種模式的優點在于:系統能夠提高對存儲器的訪問使用的靈活性,同時對內存儲器的運行起到很好的保護作用。缺點:復雜度和處理開銷。例如,處理器運行在不同的訪問模式需要分離可訪問的堆棧。b)原則上,模式越多,靈活性適應性越大,但系統越復雜,舉出一 種有4種以上模式的情況較難。 3.7 a) 當j<i時,一個在Di中運行的進程被阻止訪問Dj中的對象。因此,如果Dj中

5、包含的信息比Di優先權更高或者比Di更安全,這個限制是適當的。然而,這個安全政策可以用下面的方法更簡單的獲得。一個在Dj中運行的進程可以從Dj中讀取數據,并且可以把數據復制到Di中,隨后,在Di中運行的進程便可讀取這些信息。 b)一個近似的解決這個問題的方法就是大家都知道的可信系統。在以后的章節會詳細解釋。 3.8 a)一個應用程序可能正處理從另一個進程收到的數據并且把結果儲存在磁盤上。如果有等待取自其它進程的數據,應用程序可能進入下一個進程取出數據并且處理它。 如果一個先前的磁盤寫操作已經完成并且有處理的數據寫出,應用程序會將其寫入下一個磁盤。需要考慮的一點就是,進程等待輸入進程的額外數據和

6、磁盤的可用性。 b)有幾種處理的方式。 或者一種特定類型的隊列來處理,或者進程可能被放進兩個單獨的隊列。 無論哪種情況,操作系統必須處理細節,提醒進程注意雙方事件一個接一個的發生。 3.9 這技術基于一個假設中斷進程A響應中斷后將會繼續進行。 但是, 通常, 一個中斷將引起基本監督程序搶占進程A有利于另一個進程B。有必要在描敘進程A相關進程中斷的位置復制進程A的執行狀態,機器最好第一時間把它們儲存在那里,以方便后續操作的進行。 3.10 因為存在進程不能被搶占的情況 (例如正在內核模式里執行的進程),因此操作系統不能快速回復實時需求。 操作系統第四章習題解答 4.1 是的。因為更多的狀態信息必

7、須保留下來用于一個程序到另一個程序的轉換。 4.2 因為,關于用戶級線程,一個進程的線程結構對于操作系統來講是不可視的,它僅僅是基于進程調度的一個基本單位。 進程和線程的區別在于: 簡而言之,一個程序至少有一個進程,一個進程至少有一個線程. 線程的劃分尺度小于進程,使得多線程程序的并發性高。 另外,進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。 線程在執行過程中與進程還是有區別的。 每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。 從邏輯角度來看,多線程的意義在

8、于一個應用程序中,有多個執行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。 (續) 進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位. 線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源. 一個線程可以創建和撤銷另一個線程;同一個進程中的多個線程之間可以并發執行. 4

9、.4 這里的這個問題是機器花費了它工作中大量時間去等待I/O的完成。在一個多線程程序中,一個內核級線程使系統調用阻塞,而其它內核級線程可以繼續運行,而對于一個單獨的處理器,一個進程只有使所有調用阻塞,才能使其它線程繼續。 4.5 不會。當一個進程退出,它將帶走關于它 的所有東西,內核級線程、進程結構、存儲空 間,也包括線程。 4.6 盡可能多的關于地址空間的信息能夠和其它地址空間進行交換,從而保存到主存儲器中。 4.7 a)如果采取保守策略,那么最多有20/4=5個作業同時執行。因為分配給各自進程的設備中有一個設備在大多數時間里都是空閑的,在同一時間,最多有5個設備空閑,最好的情況,沒有設備空

10、閑,全部都在工作狀態。 b)為了提高設備的利用率,最初每個作業分配3個磁帶設備,第4個則要按需求分配。根據這個策略,至多有20/3=6個作業能被同時激活,最小空閑設備數是0,最大空閑設備數是2。 4.8 每一個調用都可能改變一個線程的優先級或者一個可運行的、具有更高優先級的線程也可以調用調度程序,而且它依次搶占低優先級的活躍線程。因此,可運行的、高優先級線程不具備題目所述。 5.2 5.3 a.(1).上限是100。因為最多只有100次加1操作。這種情況發生在兩個進程順序執行時。(2).下限是2,發生的情形可以描述如下: 說明:tally+實際上分三步執行,先執行Aßtally,再執

11、行INC A,最后執行tallyßA。此處A為寄存器,其值將在進程切換時保護起來。 5.6 a.用文字描述這個算法: 分步: 對于第i個進程: 為了得到服務首先要取得順序號:即對numberi進行寫操作,此時應屏蔽所有其它進程對number數組的讀操作。當對numberi的寫操作完成時才允許其它進程對其的讀操作。 查看是否有其他進程正在操作,若有則做空操作;與其它進程的順序號比較,若小于則可得到服務,否則等待。 進入臨界區 服務完畢將numberi置0。 總述: 當一個進程希望進入其臨界區,它將得到一張票,票的號碼將是所有等待進入臨界區或已在臨界區的進程所得到票的號碼中最大者加1。擁

12、有最小票號的進程將率先進入臨界區。如果有多個進程得到的票具有相同的號碼,則進程號更小的進程將更占優勢。當一個進程離開其臨界區,它將重置其中票號為0。 b.解釋此算法如何避免死鎖 死鎖時的情形:每個人都拿到了順序號,但都拿不到面包。 在本算法中即使順序號相同,但數組下標是不同的。所以進程總可推進不會發生死鎖。 c.解釋此算法如何加強互斥; (1)對臨界資源面包是按照順序號互斥的使用 (2)對number數組的操作通過寫操作前置true保證其它進程此時不能對其讀,從而保證讀寫互斥。 5.9 錯誤情形:假設有2個進程都調用Wait且s的初值為0。在第一個進程執行完SignalB(mutex)且尚未執

13、行WaitB(delay)時,第二個進程開始調用Wait,也停在同一點(即SignalB(mutex)和WaitB(delay)之間)。這時,s的值為-2,而mutex是打開的。假如有另外2個進程在這時相繼調用了Signal,那么他們每個都會做SignalB(delay)操作,但程序中后一個SignalB將沒有意義。 解決: void Wait(semaphore s) WaitB(mutex); s-; if(s<0) SignalB(mutex); WaitB(delay); SignalB(mutex);void Signal(semaphore s) WaitB(mutex);

14、s+; if(s<=0) SignalB(delay); else SignalB(mutex);5.11改正后的程序: var car_available:semaphore(:=n) passenger_wait:semaphore(:=0) passenger i: wandering for a random time; signal(passenger_wait); wait(car_available); car j: wait(passenger_wait); take passenger wandering signal(car_available) parbegin p

15、assenger1;passenger2;passengerm; car1;car2;carn; parend5.14 考慮圖5.17。如果按照以下的順序改變程序中的相應處程序的意思會改變嗎? a. wait(e); wait(s) b. signal(s);signal(n) c. wait(n);wait(s) d. signal(s);signal(e) a.互換wait(e)和wait(s): 結果: 對于生產者進程來說,若wait(s)成功,則說明可以使用緩沖池。若wait(e)不成功說明沒有空緩沖區可用,此時生產者進程等待。 對于消費者進程來說,若wait(n)成功,則說明緩沖池不

16、空。若wait(s) 成功說明可以使用緩沖池,但此時由于生產者進程已將緩沖池占有,此時消費者進程等待。結果發生死鎖。 b.意思不變 c.同a d.意思不變5.16 這一問題給出了相應三種進程的信號量的使用。圣誕老人(Santa Claus)在北極他的店里睡覺僅能被(1)、(2)喚醒。 (1)所有九個馴鹿都結束它們的假期從南太平洋回來 (2)僅當制造玩具的小孩子有困難時將其喊醒為了讓圣誕老人多睡會兒覺,僅當三個小孩子有問題時將其喚醒。當三個小孩子有問題在解決時,其他小孩子想訪問圣誕老人時必須等其他人回來。 如果圣誕老人醒來發現有三個小孩子在他的店門外等候,同時最后一條馴鹿已經從熱帶回來,圣誕老人

17、已經決定讓這些小精靈等到圣誕節之后,因為他的雪橇已經準備好了,這一點比較重要(假定馴鹿不想離開熱帶,因此他們會停留到最后一刻)。最后一只馴鹿到達時圣誕老人必須出發,以前到達的馴鹿在拉雪橇前在一個溫暖的小屋里等待。使用信號量解決這一問題。 分析: 三類進程:Santa Claus, reindeer, kids Santa Claus: sleep in North Pole waken by reindeer(9頭) Kids(3個) Reindeer:Vacation in tropics Return North Pole Christmas activity Kids: Making t

18、oys having difficulties ,need help Semaphore:wakesanta=0;喚醒圣誕老人的信號量 returnreindeer=1; 返回的馴鹿的計數器互斥信號量 needhelp=1;需要幫助的Elves的計數器互斥信號量 int :reindeercount=0, Kidscount=0; Santa Claus: while (true) wait(wakesanta);/等待被喚醒 if(reindeercount=9) christmas activity; send_reindeer(); wait(returnreindeer);/獲得尋路返

19、/回互斥信號量 reindeercount=0; signal(returnreindeer);/釋放馴鹿/返回互斥信號量 if(elvescount>=3) help_Kids(); wait(needhelp);/等待需要幫助信號量 Kidscount=0; signal(needhelp);/釋放需要幫助信號/量 Reindeer i while truevacation on tropics; return to North Pole; wait(returnreindeer);/獲得馴鹿返回互斥信號量 reindeercount+; if(reindeercount=9) si

20、gnal(wakesanta)/釋放喚醒圣誕老人信號量 else wait_in_hut(); signal(returnreindeer)/釋放馴鹿返回互斥信號量 Kids i:making toys; wait(needhelp);/獲得需要幫助信號量 Kidscount+; if elvescount=3 signal(wakesanta);/釋放喚醒圣誕/老人信號量 else signal(needhelp);/釋放需要幫助互/斥信號量 6.1互斥:在每一時刻,只能有一輛車占用十字路口的一個象限;占有且等待:沒有車倒退;每輛車一直在等待,直到它前面的十字路口的象限可以使用;非搶占:沒有

21、車輛能夠強迫另一輛車給自己讓路;循環等待:每輛車一直等待另外的車輛占用的十字路口的象限。6.21.Q獲得B,然后獲得A,然后釋放B和A;當P恢復執行的時候,它可以獲得全部資源。2.Q獲得B,然后獲得A;P執行并阻塞在對A的請求上;Q釋放B和A,當P恢復執行時,它可以獲得全部資源。3.Q獲得B,P獲得并釋放A,然后Q獲得A并釋放B和A,當P恢復執行時,它可以獲得B。4.P獲得A,Q獲得B,P釋放A,Q獲得A并釋放B,P獲得B并且釋放B。5.P獲得并釋放A,P獲得B;Q執行并阻塞在對B的請求上;P釋放B,當Q恢復執行時,它可以獲得全部資源。6.P獲得A并且釋放A,P獲得B并且釋放B,當Q恢復執行時

22、,他可以獲得全部資源。6.3.如果Q在P請求A之前獲得B和A,那么Q能夠使用并稍后釋放這兩個資源,允許P繼續執行。 如果P在Q請求A之前獲得A,那么Q至多執行到請求A之前,然后被阻塞。盡管這樣,一旦P釋放A,Q就能夠繼續執行。一旦Q釋放B,P也能繼續執行。6.5 (1) w=2 1 0 0 (2) 進程P3的請求等于W,標記P3,W2 1 0 00 1 2 02 2 2 0 (3)進程P2的請求小于W,標記P2,W2 2 2 02 0 0 14 2 2 1 (4)進程P1的請求小于W,標記P1,W 4 2 2 1 0 0 1 04 2 3 1 (5)所有的進程都標記了,所以系統不存在死鎖6.1

23、0 a.第四個進程到達,最大需求是60,初始要求是25 b.第四個進程到達,最大需求是60,初始需求是356.13a.三個進程共享四個資源單元最壞情況是,3個進程各只得到1個資源單元。這時系統尚存有1個資源單元,因而將不會死鎖。b.定義:claimi=進程i總共需要的資源數目; allocationi=進程i已經分配的資源數目; deficiti=進程i仍然需要的資源數目。根據題意,我們有下式成立: 在一個死鎖的情況下,所有的資源都是被占有的,所以有下式成立: 并且,此時,每個進程都在等待資源。從以上兩個式子我們可以得出:也就是說至少有一個進程j,它已經獲得了所有所需要的資源(deficitj

24、=0),將完成其工作并釋放所有的資源,剩下的進程將依次完成工作,因此死鎖不會發生。6.14安全狀態,需要的最小資源數目是3。依次用P1-P4來表示四個進程。從矩陣可以看出,四個進程還需要的資源數目為(2,1,6,5),當有一個可用資源時,P2可以執行完成,并釋放占用資源,可用資源數目為2,允許P1執行完成,可用資源數目為3,此時,P3需要6個資源,P4需要5個資源,既最小情況還需要2個額外資源,P4執行完成,釋放資源后,P3再執行完成。6.17 如果至少有一個左撇子或右撇子,則當所有哲學家都準備拿起第一根筷子時,必定會有兩個哲學家競爭一根筷子而其中一個得不到處于等待,這樣必定有一個哲學家可以獲

25、得兩根筷子,而不至于發生死鎖。 同樣也不會發生饑餓7.1重定位 支持模塊化程序設計保護 進程隔離;保護和訪問控制共享 保護和訪問控制邏輯組織 支持模塊化程序設計 物理組織 長期存儲;自動分配和管理7.2分區數目等于主存的字節數除以每個分區的字節數:每8位二進制數表示 個分區中的一個分區。 7.3定義s和h分別為內存中段的數量和空洞的數量。假定在動態分區的內存中,存儲段的創建和釋放以相同的概率發生,那么對于任一分區,它后面緊挨著的那個部分是一個分區或者是一個空洞的概率各為0.5。所以,對于有s個段的內存中,空洞的平均數量為s/2,既空洞的數量是段數量的一半。7.5最佳適配算法在每次分割之后切割下

26、來的剩余部分總是最小的,這樣會在存儲器中留下很多難以利用的小空閑區。最壞適配算法當有進程調入的時候每次都分配最大的空閑存儲塊,這樣塊中剩余的空閑空間就足夠大從而可以滿足另外的請求。缺點是第一次分配的時候就把最大的空閑區分配了,當有大的空間分配請求時極易分配失敗。7.6a.第一個塊分配到第二個空閑塊,起始地址為80M,第二個塊分配到第一個空閑塊,起始地址為20M,第三個塊分配到第二個空閑塊起始地址為120M。b.第一個塊分配到第四個空閑塊,起始地址為230M,第二個塊分配到第一個空閑塊,起始地址為20M,第三個塊分配到第三個空閑塊,起始地址為160M。c.從上一次放置的位置開始掃描(注意只往后看

27、),所以三個塊的起始地址分別為80M,120M和160M。d.每次都找最大的空閑塊。三個塊的起始地址為80M,230M和360M。7.7a.b.7.87.9 其中,mod表示求余運算。7.10a. 我們完全可以采用斐波那契(Fibonacci)數列作為塊的劃分準則,從而建立起與普遍采用的對分伙伴系統(binary buddy system)不同的伙伴系統。b. 與對分伙伴系統相比,按照斐波那契數列建立起來的伙伴系統能夠提供更多不同的塊容量;也就是說,整個內存空間劃分得更細致了,塊的容量更具有多樣性。因此,在為進程分配存儲空間時,可以找到最佳適配的存儲塊,因而可以使內部碎片的尺寸得以減小,這是這

28、種伙伴系統具有的顯著優點。7.12a.邏輯地址空間為: 邏輯地址空間包含的位數為26位。b.一個幀的大小和頁的大小相同都是 。c.存儲器地址空間/幀大小= ,所以指定幀需要22位。d.邏輯地址空間有 個頁,所以含有 個頁表項。e.加上一個有效/無效位,制定一個幀的位數為22,所以總共為23位。 7.14a.從段表可以看出,段表中的四個字段依次為段0,1,2,3。 物理地址=660+198=858b.物理地址=222+156=378c.由于段內偏移(530)>段的長度(442),所以發生段錯誤。d.物理地址=996+444=1440e.物理地址=660+222=8828.1 a 步驟: 從

29、虛地址求取頁號和頁內偏移(利用公式:虛地址=頁號*頁長+頁內偏移) 利用頁表由頁號求取對應的塊號 求物理地址(利用公式:物理地址=塊號*塊長+塊內偏移,注意到塊長=頁長,塊內偏移=頁內偏移) b. (i) 1052 = 1024 + 28 虛擬頁號為1,得到幀號為7。 物理地址=7*1024+28=7196 (ii) 2221 = 2 * 1024 + 173 虛擬頁號為2,頁錯誤。 (iii) 5499 = 5 *1024 + 379虛擬頁號為5,得到幀號為0。 物理地址=0*1024+379=3798.2a.存儲器地址空間/頁大小= ,所以在虛擬存儲器中指定頁需要22位。 每一頁包含 個頁

30、表項。每個頁表占據了8位,因此22位需要用到三級頁表。b.兩級的頁表包含 個頁表項,一級頁表包含 個頁表項(8+8+6=22)。c.我們這里有三級,三級所占位數為6,8,8,則頁的個數為: 若三級所占位數為:8,6,8,則頁的個數為: 若三級所占位數為:8,8,6,則頁的個數為:8.4 a. 3號頁幀的內容將被置換,因為它最早被加載。 b. 1號頁幀的內容將被置換,因為它的上次訪問時間離當前最久。 c. 0號頁幀的內容將被置換,因為其中R位和M位的值為(0, 1)。 d. 3號頁幀的內容將被置換,因為由將來的訪問序列可知,頁面3的訪問順序最靠后。8.6 a. 命中率=16/33 b. 命中率=

31、16/33c. 對于這個特定的訪問序列,采用上述兩種替換策略得到的命中率相等。一般來說,采用LRU替換策略的命中率會高于采用FIFO替換策略的情況,而對于這個特定的訪問序列來說,一個頁面被載入之后,很少發生在接下來的5次連續訪問中再次被訪問的情形,因此缺頁發生的時刻與LRU的情況相當接近,從而使得對應的命中率接近于LRU。8.8存儲器地址從4000開始: 4000(R1) ONEEstablish index register for i 4001(R1) nEstablish n in R2 4002compare R1, R2Test i > n 4003branch greater

32、 4009 4004(R3) B(R1)Access Bi using index register R1 4005(R3) (R3) + C(R1)Add Ci using index register R1 4006A(R1) (R3)Store sum in Ai using index register R1 4007(R1) (R1) + ONEIncrement i 4008branch 4002 6000-6999storage for A 7000-7999storage for B 8000-8999storage for C 9000storage for ONE 9001

33、storage for n8.10 假設需要i級,則可以表示的地址空間大小 = 要求表示64位地址空間,則要求10i+12>=64,所以i至少取6 8.11 a. 400ns b. 15%*420+85%*220=250 8.12 a. 缺頁下限=n b. 缺頁上限=p 8.17 a. 每段的最大尺寸=8*2K=16K b. 該任務的邏輯地址空間最大=4*16K=64K c. 邏輯地址格式是:2位表示段號,3位表示頁號,其他11位表示頁內偏移。最后的11位轉換為十六進制為2BC 8.18 a. 邏輯地址格式是:前5位表示頁號,后11位表示頁內偏移。 b. 頁表長度:25=32個條目;頁表

34、寬度:20-11=9位。 c. 頁表寬度由9位變為8位。9.1 每個方塊表示一個執行單元,方塊中的數字表示當前執行的進程。FCFSAAABBBBBCCDDDDDEEEEERR, q = 1ABABCABCBDBDEDEDEDEERR, q = 4AAABBBBCCBDDDDEEEEDESPNAAACCBBBBBDDDDDEEEEESRTAAACCBBBBBDDDDDEEEEEHRRNAAABBBBBCCDDDDDEEEEEFeedback, q = 1ABACBCABBDBDEDEDEDEEFeedback, q = 2iABAACBBCBBDDEDDEEDEEFCFSAAABBBBBCCDD

35、DDDEEEEERR, q = 1ABABCABCBDBDEDEDEDEERR, q = 4AAABBBBCCBDDDDEEEEDESPNAAACCBBBBBDDDDDEEEEESRTAAACCBBBBBDDDDDEEEEEHRRNAAABBBBBCCDDDDDEEEEEFeedback, q = 1ABACBCABBDBDEDEDEDEEFeedback, q = 2iABAACBBCBBDDEDDEEDEE9.7 首先,調度器計算在時間t+r1+r2+r3時刻的響應比,此時,三個作業都已經完成。這個時候第三個作業具有最小的響應比(圖中可以看出),所以,調度器決定最后執行第三個作業;繼續查看

36、在時間t+r1+r2時,第一和第二個作業都已完成,此時,第一個任務的響應比要小些,所以,在時間t的時候第二個作業被選擇執行,既執行順序為r2,r1,r3。這個算法在每完成一個作業之后重新查看作業的響應比,跟高響應比優先算法是有區別的,如果是后者那么在時間t的時候就會選擇第一個作業。9.14 在多級反饋隊列調度器的調度下,I/O-bound的進程比CPU-bound的進程更有利,也就是說,調度器更傾向于選擇I/O-bound的進程進行分派。原因在于I/O-bound的進程會比較長時間地阻塞;在阻塞過程中,CPU-bound的進程得到多次分派執行,因而會很快進入低優先級的反饋隊列中。這樣,I/O-bound的進

溫馨提示

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

評論

0/150

提交評論