




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章 線程 4.1 舉兩個多線程程序設(shè)計的例子來說明多線程不比單線程方案提高性能 答: 1 )任何形式的順序程序?qū)€程來說都不是一個好的形式。例如一個計算個人報酬 的程序。 2 )另外一個例子是一個“空殼”程序,如C-shell 和 korn shell 。這種程序必須密 切檢測其本身的工作空間。如打開的文件、環(huán)境變量和當(dāng)前工作目錄。 4.2 描述一下線程庫采取行動進(jìn)行用戶級線程上下文切換的過程 答:用戶線程之間的上下文切換和內(nèi)核線程之間的相互轉(zhuǎn)換是非常相似的。 但它依賴于 線程庫和怎樣把用戶線程指給內(nèi)核程序。一般來說,用戶線程之間的上下文切換涉 及到用一個用戶程序的輕量級進(jìn)程( LWP )
2、和用另外一個線程來代替。這種行為通 常涉及到寄存器的節(jié)約和釋放。 4.3 在哪些情況下使用多內(nèi)核線程的多線程方案比單處理器系統(tǒng)的單個線程方案提供更好的 性能。 答:當(dāng)一個內(nèi)核線程的頁面發(fā)生錯誤時, 另外的內(nèi)核線程會用一種有效的方法被轉(zhuǎn)換成 使用交錯時間。另一方面,當(dāng)頁面發(fā)生錯誤時,一個單一線程進(jìn)程將不能夠發(fā)揮有 效性能。因此,在一個程序可能有頻繁的頁面錯誤或不得不等待其他系統(tǒng)的事件的 情況下,多線程方案會有比單處理器系統(tǒng)更好的性能。 4.4 以下程序中的哪些組成部分在多線程程序中是被線程共享的? a. 寄存值 b. 堆內(nèi)存 c. 全局變量 d. 棧內(nèi)存 答:一個線程程序的線程共享堆內(nèi)存和全局變
3、量, 但每個線程都有屬于自己的一組寄存 值和棧內(nèi)存。 4 5 一個采用多用戶線程的多線程方案在多進(jìn)程系統(tǒng)中能夠取得比在單處理器系統(tǒng)中更好 的性能嗎? 答:一個包括多用戶線程的多線程系統(tǒng)無法在多處理系統(tǒng)上同時使用不同的處理器。 操作系統(tǒng)只能看到一個單一的進(jìn)程且不會調(diào)度在不同處理器上的不同進(jìn)程的線程。 因此,多處理器系統(tǒng)執(zhí)行多個用戶線程是沒有性能優(yōu)勢的。 4.6 就如 4.5.2 章節(jié)描述的那樣, Linux 沒有區(qū)分進(jìn)程和線程的能力。且 Linux 線程都是用 相同的方法: 允許一個任務(wù)與一組傳遞給 clone() 系統(tǒng)調(diào)用的標(biāo)志的進(jìn)程或線程。 但 許多操作系統(tǒng),例如 windows XP 和
4、Solaris ,對進(jìn)程和線程都是一視同仁?;?上,這種使用 notation 的系統(tǒng),一個進(jìn)程的數(shù)據(jù)結(jié)構(gòu)包括一個指向?qū)儆谶M(jìn)程的不 同線程的指針。區(qū)別建模過程和在內(nèi)核中線程的兩種方法。 答:一方面,進(jìn)程和線程被視為相似實體的系統(tǒng)中,有些系統(tǒng)代碼可以簡化。例如, 一個調(diào)度器可以在平等的基礎(chǔ)上考慮不同的進(jìn)程和線程,且不需要特殊的代碼,在 調(diào)度中審查有關(guān)線程的進(jìn)程。另一方面,這種統(tǒng)一會使進(jìn)程資源限制更加困難。相 反,一些額外的復(fù)雜性被需要,用來確定哪個線程與哪個進(jìn)程一致和執(zhí)行重復(fù)的計 數(shù)任務(wù)。 4.7 由 4.11 給出的程序使用了 Pthread 的應(yīng)用程序編程接口 ( API ),在程序的第
5、c 行和第 p 行分別會輸出什么? 答: c 行會輸出 5 ,p 行會輸出 0. 4.8 考慮一個多處理器系統(tǒng)和用多線程對多線程模式編寫的多線程程序。 讓程序中的用戶線 程數(shù)量多于系統(tǒng)中的處理器的數(shù)量,討論下列情況下的性能意義: a. 由程序分配的內(nèi)核線程的數(shù)量比處理器少 b. 由程序分配的內(nèi)核線程的數(shù)量與處理器相同 c. 由程序分配的內(nèi)核線程的數(shù)量大于處理器數(shù)量但少于用戶線程的數(shù)量 答:當(dāng)內(nèi)核線程的數(shù)量少于處理器時, 一些處理器將仍然處于空閑狀態(tài)。 因為, 調(diào)度圖中 只有內(nèi)核線程的處理器,而不是用戶線程的處理器。當(dāng)程序分配的內(nèi)核線程的數(shù)量 與處理器相同時,那么有可能所有處理器將同時使用。然而
6、,當(dāng)一個內(nèi)核塊內(nèi)的內(nèi) 核(因頁面錯誤或同時援引系統(tǒng)調(diào)用)相應(yīng)的處理器將閑置。當(dāng)由程序分配的內(nèi)核 線程的數(shù)量大于處理器數(shù)量時,封鎖一個內(nèi)核線程并調(diào)出,換入另一個準(zhǔn)備執(zhí)行的 內(nèi)核線程。因此,增加多處理器系統(tǒng)的利用率。 第五章 CPU 調(diào)度 5.1 為什么對調(diào)度來說,區(qū)分 I/0 限制的程序和 CPU 限制的程序是重要的? 答: I/0 限制的程序有在運行 I/O 操作前只運行很少數(shù)量的計算機操作的性質(zhì)。這種程 序一般來說不會使用很多的 CPU 。另一方面, CPU 限制的程序利用整個的時間片, 且不做任何阻礙 I/O 操作的工作。 因此,通過給 I/O 限制的程序優(yōu)先權(quán)和允許在 CPU 限制的程序
7、之前運行,可以很好的利用計算機資源。 5.2 討論以下各對調(diào)度標(biāo)準(zhǔn)在某種背景下會有的沖突 a. CPU 利用率和響應(yīng)時間 b. 平均周轉(zhuǎn)時間和最大等待時間 c. I/O 設(shè)備利用率和 CPU 利用率 答:a.CPU利用率和響應(yīng)時間:當(dāng)經(jīng)常性的上下文切換減少到最低時,CPU利用率增加。 通過減少使用上下文切換程序來降低經(jīng)常性的上下文切換。但這樣可能會導(dǎo)致進(jìn)程 響應(yīng)時間的增加。 b. 平均周轉(zhuǎn)時間和最大等待時間:通過最先執(zhí)行最短任務(wù)可以使平均周轉(zhuǎn)時間最短。 然而,這種調(diào)度策略可能會使長時間運行的任務(wù)永遠(yuǎn)得不到調(diào)度且會增加他們的等 待時間。 c. l/O設(shè)備利用率和 CPU利用率:CPU利用率的最大
8、化可以通過長時間運行CPU 限制的任務(wù)和同時不實行上下文切換。I/O設(shè)備利用率的最大化可以通過盡可能調(diào) 度已經(jīng)準(zhǔn)備好的I/O限制的任務(wù)。因此,導(dǎo)致上下文切換。 5.3考慮指數(shù)平均公式來預(yù)測下一次CPU區(qū)間的長度,使用以下參數(shù)值會有什么影響? a. a=O 和 t=100 毫秒 b. a=0.99 和 t=10 毫秒 答:當(dāng)a=0和t=100毫秒時,公式總是會預(yù)測下一次的 CPU區(qū)間為100毫秒。當(dāng)a=0.99 和t=10毫秒時,進(jìn)程最近的行為是給予更高的重量和過去的就能成相比。因此, 調(diào)度算法幾乎是無記憶的, 且簡單預(yù)測未來區(qū)間的長度為下一次的CPU執(zhí)行的時間 片。 5.4考慮下列進(jìn)程集,進(jìn)程
9、占用的CPU區(qū)間長度以毫秒來計算: 進(jìn)程 區(qū)間時間 優(yōu)先級 P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 假設(shè)在時刻0以進(jìn)程P1,P2,P3, P4, P5的順序到達(dá)。 a. 畫出4個Gantt圖分別演示用FCFS、SJF、非搶占優(yōu)先級(數(shù)字小代表優(yōu)先級高)和RR (時間片=1 )算法調(diào)度時進(jìn)程的執(zhí)行過程。 b. 在a里每個進(jìn)程在每種調(diào)度算法下的周轉(zhuǎn)時間是多少? c. 在a里每個進(jìn)程在每種調(diào)度算法下的等待時間是多少? d. 在a里哪一種調(diào)度算法的平均等待時間對所有進(jìn)程而言最小? 答:a.甘特圖略 b.周轉(zhuǎn)時間 FCFS RR SJF 非搶占優(yōu)先級 P1 10 19 1
10、9 16 P2 11 2 1 1 P3 13 7 4 18 P4 14 4 2 19 P5 19 14 9 6 c.等待時間 FCFS RR SJF 非搶占優(yōu)先級 P1 0 9 9 6 P2 10 1 0 0 P3 11 5 2 16 P4 13 3 1 18 P5 14 9 4 2 d.SJF 5.5下面哪些算法會引起饑餓 a. 先來先服務(wù) b. 最短工作優(yōu)先調(diào)度 c. 輪換法調(diào)度 d. 優(yōu)先級調(diào)度 答:最短工作優(yōu)先調(diào)度和優(yōu)先級調(diào)度算法會引起饑餓 5.6 考慮 RR 調(diào)度算法的一個變種,在這個算法里,就緒隊列里的項是指向PCB 的指針。 a. 如果把兩個指針指向就緒隊列中的同一個進(jìn)程,會有什
11、么效果? b. 這個方案的主要優(yōu)點和缺點是什么? c. 如何修改基本的 RR調(diào)度算法,從而不用兩個指針達(dá)到同樣的效果? 答a實際上,這個過程將會增加它的優(yōu)先權(quán),因為通過經(jīng)常得到時間它能夠優(yōu)先得以運 行。 b. 優(yōu)點是越重要的工作可以得到更多的時間。也就是說,優(yōu)先級越高越先運行。然 而,結(jié)果將由短任務(wù)來承擔(dān)。 c. 分配一個更長的時間給優(yōu)先級越高的程序。換句話說,可能有兩個或多個時間片在 RR 調(diào)度中。 5.7 考慮一個運行十個 I/O 限制任務(wù)和一個 CPU 限制任務(wù)的系統(tǒng)。 假設(shè), I/O 限制任務(wù)一次 分配給一個 I/O 操作 1 毫秒的 CPU 計算,但每個 I/O 操作的完成需要 10
12、 毫秒。同時,假 設(shè)間接的上下文切換要 0.1毫秒,所有的進(jìn)程都是長進(jìn)程。對一個 RR調(diào)度來說,以下情況 時 CPU 的利用率是多少: a. 時間片是1毫秒 b. 時間片是10毫秒 答:a.時間片是1毫秒:不論是哪個進(jìn)程被調(diào)度,這個調(diào)度都會為每一次的上下文切換花費 一個 0.1 毫秒的上下文切換。 CPU 的利用率是 1/1.1*100=92% b. 時間片是 10 毫秒:這 I/O 限制任務(wù)會在使用完 1 毫秒時間片后進(jìn)行一次上下文切換。這 個時間片要求在所有的進(jìn)程間都走一遍,因此, 10*1.1+10.1( 因為每個 I / O 限定任務(wù)執(zhí)行 為 1 毫秒,然后承擔(dān)上下文切換的任務(wù),而 C
13、PU 限制任務(wù)的執(zhí)行 10 毫秒在承擔(dān)一個上下 文切換之前 ) 。因此, CPU 的利用率是 20 、21.1*100=94% 。 5.8 考慮一個實施多層次的隊列調(diào)度系統(tǒng)。 什么策略能夠使一個計算機用戶使用由用戶進(jìn)程 分配的最大的 CPU 時間片。 答:這個程序可以使分配給它的沒有被完全利用的 CPU 時間最大化。它可以使用分配給 它的時間片中的絕大部分,但在時間片結(jié)束前放棄CPU ,因此提高了與進(jìn)程有關(guān)的優(yōu)先級。 1. 5.9 考慮下面的基于動態(tài)改變優(yōu)先級的可搶占式優(yōu)先權(quán)調(diào)度算法。大的優(yōu)先權(quán)數(shù)代表高 優(yōu)先權(quán)。當(dāng)一個進(jìn)程在等待CPU時(在就緒隊列中,但未執(zhí)行),優(yōu)先權(quán)以a速率改變; 當(dāng)它運行
14、時,優(yōu)先權(quán)以速率 B改變。所有的進(jìn)程在進(jìn)入就緒隊列時被給定優(yōu)先權(quán)為0。參數(shù) a和B可以設(shè)定給許多不同的調(diào)度算法。 a. 3 a0時所得的是什么算法? b. a 30時所得的是什么算法? 答: a.FCFS b.LIFO 5.10 解釋下面調(diào)度算法對短進(jìn)程編程度上的區(qū)別: a.FCFS b.RR c .多級反饋隊列 答 :a.FCFS 區(qū)別短任務(wù)是因為任何在長任務(wù)后到達(dá)的短任務(wù)都將會有很長的等待時間。 b.RR 對所有的任務(wù)都是能夠相同的(給它們相同的 CPU 時間區(qū)間),所以,短任 務(wù)可以很快的離開系統(tǒng),只要它們可以先完成。 c. 多級反饋隊列和 RR 調(diào)度算法相似它們不會先選擇短任務(wù)。 5.
15、11 用 Window XP 的調(diào)度算法,下列什么是數(shù)字優(yōu)先的線程。 a.相對優(yōu)先級的值為 REALTIME_PRIORITY_CLASS 的屬于實體優(yōu)先類型的線程 b. 相對優(yōu)先級的值為 NORMAL_PRIORITY_CLASS 的屬于 NORMAL 類型的線程 c.相對優(yōu)先級的值為 HIGH_PRIORITY_CLASS 的屬于 ABOVE_NORMAL 類型的線程 答: a.26 b.8 c.14 5. 12 考慮在 Solaris 操作系統(tǒng)中的為分時線程的調(diào)度算法: a:一個優(yōu)先權(quán)是10的線程的時間片是多少?優(yōu)先權(quán)是 55的呢? b: 假設(shè)優(yōu)先權(quán)是 35 的一個線程用它所有的時間片在
16、沒有任何阻止的情況下,這調(diào)度算 法將會分配給這個線程什么樣新的優(yōu)先權(quán)? c:假設(shè)一個優(yōu)先權(quán)是 35的線程在時間片結(jié)束前阻止 I/O操作。這調(diào)度算法將會分配給 這個線程什么樣新的優(yōu)先權(quán)? 答: a:160 和 40 b:35 C:54 5.13 傳統(tǒng) UNIX 調(diào)度在優(yōu)先數(shù)和優(yōu)先級間成反比關(guān)系:數(shù)字越高,優(yōu)先權(quán)越低。該調(diào)度進(jìn) 程利用下面的方程重新計算進(jìn)程的優(yōu)先權(quán)一次一秒 : 優(yōu)先權(quán) = (最近 CPU 使用率 / 2 ) +基本數(shù) 這里的基本數(shù) = 60, 最近的 CPU 使用率是指一個表明優(yōu)先權(quán)從上一次重新計算后開始進(jìn)程 被 CPU 使用的情況。 假設(shè)最近進(jìn)程 p1 的 CPU 使用率是 40
17、 個, p2 是 18 ,p3 是 10。當(dāng)優(yōu)先權(quán)重新計算后這 三個進(jìn)程的新的優(yōu)先權(quán)是什么?在此信息的基礎(chǔ)上,傳統(tǒng) UNIX 的調(diào)度會不會提高或降低 CPU 限制的進(jìn)程的相對優(yōu)先權(quán)? 答 : 分配給這些進(jìn)程的優(yōu)先權(quán)分別是 80,69 和65.這調(diào)度降低了 CPU 限制的進(jìn)程的相 對優(yōu)先權(quán)。 第六章 管程 6.1第一個著名的正確解決了兩個進(jìn)程的臨界區(qū)問題的軟件方法是Dekker設(shè)計的。兩個進(jìn) 程P0和P1共享以下變量: boolean flag2; /*i ni tially false*/ int turn; 進(jìn)程Pi(i=0 或1)和另一個進(jìn)程 Pj(j=0或1)的結(jié)構(gòu)見圖7.27。 證明這個算法滿足臨界
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版(2024)七年級英語下冊Unit 8 學(xué)情調(diào)研測試卷(含答案)
- 第12課《四季循環(huán)》教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)五年級下冊蘇教版
- 酒店電纜基礎(chǔ)施工方案
- 2025年新高考地理全真模擬試卷5(含答案解析)
- 2025年中考物理二輪復(fù)習(xí):選擇題 實驗題 能力提升練習(xí)題(含答案解析)
- 廁所建造合同范本
- 公園管護(hù)合同范例
- 班級氛圍營造的實踐方法計劃
- 品牌在市場競爭中的演變與適應(yīng)計劃
- 企業(yè)借貸抵押合同范例
- 建筑工程施工安全管理網(wǎng)絡(luò)圖
- 電子商務(wù)法律法規(guī)高職PPT完整全套教學(xué)課件
- HydroPro操作手冊說明書
- 7S目視化管理標(biāo)準(zhǔn)
- keba教程科控編程手冊
- 附件4:項目成本管控要素集成庫20200713
- 設(shè)備維修作業(yè)安全操作規(guī)程匯總
- 海南碼頭防波堤工程施工組織設(shè)計圖文并茂
- 《企業(yè)內(nèi)部審計現(xiàn)狀及完善建議-以公牛集團(tuán)為例【開題報告+正文】》14000字
- 小學(xué)“新時代好少年”推薦表
- GB 7101-2022食品安全國家標(biāo)準(zhǔn)飲料
評論
0/150
提交評論