




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第四章 線程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)存。45一個采用多用戶線程的多線程方案在多進(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和Solaris,對進(jìn)程和線程都是一視同仁?;旧?,這種使用notation的系統(tǒng),一個進(jìn)
4、程的數(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),在程序的第c行和第p行分別會輸出什么? 答:c行會輸出5,p行會輸出0.4.8考慮一個多處理器系統(tǒng)和用多線程對多線程模式編寫的多線程程序
5、。讓程序中的用戶線程數(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ù)量與處理器相同時,那么有可能所有處理器將同時使用。然而,當(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í)行的
6、內(nèi)核線程。因此,增加多處理器系統(tǒng)的利用率。第五章 CPU調(diào)度5.1為什么對調(diào)度來說,區(qū)分I/0限制的程序和CPU限制的程序是重要的? 答:I/0限制的程序有在運(yùn)行I/O操作前只運(yùn)行很少數(shù)量的計算機(jī)操作的性質(zhì)。這種程序一般來說不會使用很多的CPU。另一方面,CPU限制的程序利用整個的時間片,且不做任何阻礙I/O操作的工作。因此,通過給I/O限制的程序優(yōu)先權(quán)和允許在CPU限制的程序之前運(yùn)行,可以很好的利用計算機(jī)資源。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)常
7、性的上下文切換減少到最低時,CPU利用率增加。通過減少使用上下文切換程序來降低經(jīng)常性的上下文切換。但這樣可能會導(dǎo)致進(jìn)程響應(yīng)時間的增加。 b.平均周轉(zhuǎn)時間和最大等待時間:通過最先執(zhí)行最短任務(wù)可以使平均周轉(zhuǎn)時間最短。然而,這種調(diào)度策略可能會使長時間運(yùn)行的任務(wù)永遠(yuǎn)得不到調(diào)度且會增加他們的等待時間。 c.I/O設(shè)備利用率和CPU利用率:CPU利用率的最大化可以通過長時間運(yùn)行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=0和t
8、=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)程占用的CPU區(qū)間長度以毫秒來計算:進(jìn)程 區(qū)間時間 優(yōu)先級P1 10 3P2 1 1P3 2 3P4 1 4P5 5 2假設(shè)在時刻0以進(jìn)程P1,P2,P3,P4,P5的順序到達(dá)。a.畫出4個Gantt圖分別演示用FCFS、SJF、非搶占優(yōu)先級(數(shù)字小代表優(yōu)先級高)和RR(時間片1)算法
9、調(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)時間FCFSRRSJF非搶占優(yōu)先級P110191916P211211P3137418P4144219P5191496c.等待時間FCFSRRSJF非搶占優(yōu)先級P10996P210100P3115216P4133118P514942d.SJF5.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考慮R
10、R調(diào)度算法的一個變種,在這個算法里,就緒隊列里的項是指向PCB的指針。a.如果把兩個指針指向就緒隊列中的同一個進(jìn)程,會有什么效果?b.這個方案的主要優(yōu)點(diǎn)和缺點(diǎn)是什么?c.如何修改基本的RR調(diào)度算法,從而不用兩個指針達(dá)到同樣的效果?答.a.實際上,這個過程將會增加它的優(yōu)先權(quán),因為通過經(jīng)常得到時間它能夠優(yōu)先得以運(yùn)行。 b.優(yōu)點(diǎn)是越重要的工作可以得到更多的時間。也就是說,優(yōu)先級越高越先運(yùn)行。然而,結(jié)果將由短任務(wù)來承擔(dān)。 c.分配一個更長的時間給優(yōu)先級越高的程序。換句話說,可能有兩個或多個時間片在RR調(diào)度中。5.7考慮一個運(yùn)行十個I/O限制任務(wù)和一個CPU限制任務(wù)的系統(tǒng)。假設(shè),I/O限制任務(wù)一次分配給
11、一個I/O操作1毫秒的CPU計算,但每個I/O操作的完成需要 10毫秒。同時,假設(shè)間接的上下文切換要0.1毫秒,所有的進(jìn)程都是長進(jìn)程。對一個RR調(diào)度來說,以下情況時CPU的利用率是多少: a.時間片是1毫秒 b.時間片是10毫秒答:a.時間片是1毫秒:不論是哪個進(jìn)程被調(diào)度,這個調(diào)度都會為每一次的上下文切換花費(fèi)一個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ù),而
12、CPU限制任務(wù)的執(zhí)行10毫秒在承擔(dān)一個上下文切換之前) 。因此,CPU的利用率是20、21.1*100=94%。5.8考慮一個實施多層次的隊列調(diào)度系統(tǒng)。什么策略能夠使一個計算機(jī)用戶使用由用戶進(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)以速率改變;當(dāng)它運(yùn)行時,優(yōu)先權(quán)以速率改變。所有的進(jìn)程在進(jìn)入就緒隊列
13、時被給定優(yōu)先權(quán)為0。參數(shù)和可以設(shè)定給許多不同的調(diào)度算法。a.>>0時所得的是什么算法?b.<<0時所得的是什么算法?答:a.FCFS b.LIFO5.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.11用Window XP的調(diào)度算法,下列什么是數(shù)字優(yōu)先的線程。 a.相對
14、優(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.14512考慮在Solaris操作系統(tǒng)中的為分時線程的調(diào)度算法:a:一個優(yōu)先權(quán)是10的線程的時間片是多少?優(yōu)先權(quán)是55的呢?b:假設(shè)優(yōu)先權(quán)是35的一個線程用它所有的時間片在沒有任何阻止的情況下,這調(diào)度算法將會分配給這個線程什么樣新的優(yōu)先權(quán)?c:假設(shè)一個優(yōu)先權(quán)是35的線程在時間片結(jié)束前阻止I/O操作。這
15、調(diào)度算法將會分配給這個線程什么樣新的優(yōu)先權(quán)?答:a:160和40 b:35 C:545.13傳統(tǒng)UNIX調(diào)度在優(yōu)先數(shù)和優(yōu)先級間成反比關(guān)系:數(shù)字越高,優(yōu)先權(quán)越低。The scheduler recalculates process priorities once per second using the following function:該調(diào)度進(jìn)程利用下面的方程重新計算進(jìn)程的優(yōu)先權(quán)一次一秒:Priority = (Recent CPU usage / 2) + Base where base = 60 and recent CPU usage refers to a value indica
16、ting how often a process has used the CPU since priorities were last recalculated. 優(yōu)先權(quán)= (最近CPU使用率/ 2 ) +基本數(shù)這里的基本數(shù)這里= 60,最近的 CPU使用率是指一個表明優(yōu)先權(quán)從上一次重新計算后開始進(jìn)程被CPU使用的情況。Assume that recent CPU usage for process P 1 is 40, process P 2 is 18, and process P 3 is 假設(shè)最近進(jìn)程p1的CPU使用率是40個,p2是18 ,p3是10。當(dāng)優(yōu)先權(quán)重新計算后這三個進(jìn)程的
17、新的優(yōu)先權(quán)是什么?What will be the new priorities for these three processes when priorities are recalcuBased on this information, does the traditional UNIX scheduler raise or lower the relative priority of a CPU-bound process?在此信息的基礎(chǔ)上,傳統(tǒng)UNIX的調(diào)度會不會提高或降低CPU限制的進(jìn)程的相對優(yōu)先權(quán)? Answer: The priorities assigned to the processes are 80, 69, and 65 respectively. 答 : 分配給這些進(jìn)程的優(yōu)先權(quán)分別是80,69和65.The scheduler lowers the relative priority of CPU-bound processes.這這調(diào)度降低了CPU限制的進(jìn)程的相對優(yōu)先權(quán)。第六章 管程6.1第一個著名的正確解決了兩個進(jìn)程的臨界區(qū)問題的軟件方法是Dekker設(shè)計的。兩個進(jìn)程P0和P1共享以下變量: boolean flag2; /*initially false*/ int turn;進(jìn)程Pi(i=0或1)和另一個進(jìn)程Pj(j=0或1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆貴州省遵義市高中名校高考化學(xué)押題試卷含解析
- 快速康復(fù)下的麻醉管理
- 2025年市政園林養(yǎng)護(hù)裝備項目合作計劃書
- 遼寧省撫順市重點(diǎn)中學(xué)2025屆高考化學(xué)三模試卷含解析
- 中考數(shù)學(xué)高頻考點(diǎn)專項練習(xí):專題14 考點(diǎn)31 菱形 (2)及答案
- 山東省昌樂縣第一中學(xué)2025屆高三一診考試化學(xué)試卷含解析
- 子宮破裂的治療及護(hù)理
- 安全生產(chǎn)管理課件
- 2025屆安徽省泗縣雙語中學(xué)高三3月份第一次模擬考試化學(xué)試卷含解析
- 2025屆陜西省漢中市部分學(xué)校高三第二次聯(lián)考化學(xué)試卷含解析
- 【9物一?!堪不蘸戏尸幒^(qū)2025年中考物理一模試卷
- 雙休日超車好時機(jī)!課件-2024-2025學(xué)年高中下學(xué)期學(xué)習(xí)哲思主題班會
- 唐山市化工行業(yè)安全檢查手冊(2025版)
- 2025屆河南省豫西北教研聯(lián)盟(洛平許濟(jì))高三下學(xué)期3月二模生物學(xué)試卷(含答案)
- 中考科創(chuàng)班試題及答案
- 2025年江蘇省職業(yè)院校技能大賽中職組(網(wǎng)絡(luò)建設(shè)與運(yùn)維)考試題庫(含答案)
- 學(xué)校師德師風(fēng)建設(shè)經(jīng)驗分享-校長匯報:從“尊重被看見”出發(fā)打造“四有好老師”團(tuán)隊
- TY/T 1111-2024路跑賽事活動指南
- 辦公室文員招聘啟事范文模板
- 2024初級會計職稱考試題庫(附參考答案)
- 基建工程安全管理
評論
0/150
提交評論