核心級(jí)線程及線程調(diào)_第1頁(yè)
核心級(jí)線程及線程調(diào)_第2頁(yè)
核心級(jí)線程及線程調(diào)_第3頁(yè)
核心級(jí)線程及線程調(diào)_第4頁(yè)
核心級(jí)線程及線程調(diào)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十九講核心級(jí)線程,線程調(diào)度目的與要求:掌握核心級(jí)線程實(shí)現(xiàn)原理,及典型的線程調(diào)度方法.重點(diǎn)與難點(diǎn):線程核心實(shí)現(xiàn)方法和混合實(shí)現(xiàn)方法.組調(diào)度方法,多級(jí)調(diào)度原則.作業(yè):4,6線程實(shí)現(xiàn)二.核心級(jí)線程

由操作系統(tǒng)內(nèi)核提供線程創(chuàng)建,結(jié)束,同步等系統(tǒng)調(diào)用。當(dāng)進(jìn)程被創(chuàng)建時(shí),內(nèi)核同時(shí)為進(jìn)程創(chuàng)建第一個(gè)核心級(jí)線程,運(yùn)行用戶主程序;以后可調(diào)用創(chuàng)建線程系統(tǒng)調(diào)用,創(chuàng)建新的線程。

內(nèi)核調(diào)度以線程為單位。核心級(jí)線程既運(yùn)行用戶程序,在自陷/中斷進(jìn)管時(shí)又運(yùn)行核心程序。LL進(jìn)程1進(jìn)程2線程調(diào)度CPULLLCPU…創(chuàng)建核心級(jí)線程系統(tǒng)調(diào)用處理過程:接收新線程執(zhí)行函數(shù)地址,初始變量值,用戶棧地址,私有區(qū)地址;在核心空間中分配TCB,核心棧;初始化上述表格及運(yùn)行現(xiàn)場(chǎng);將線程狀態(tài)改為就緒;運(yùn)行核心線程調(diào)度程序;恢復(fù)被調(diào)度線程的現(xiàn)場(chǎng)運(yùn)行。操作 用戶級(jí)線程核心級(jí)線程進(jìn)程創(chuàng)建(ms) 52 350 1700使用信號(hào)量同步(ms) 66 390 200特點(diǎn):可支持同一進(jìn)程內(nèi)線程在多CPU上的并行;線程狀態(tài)由內(nèi)核調(diào)度程序完全掌握;核心級(jí)線程比用戶級(jí)線程開銷大;核心級(jí)線程表格占用系統(tǒng)空間。*在SPARC工作站上不同線程、進(jìn)程操作開銷比較

三.混合實(shí)現(xiàn)用戶用多線程庫(kù)函數(shù)編程,多線庫(kù)合理安排用戶級(jí)線程使用內(nèi)核級(jí)線程。用戶按用戶程序的并發(fā)度安排使用用戶級(jí)線程,多線庫(kù)程序參考計(jì)算機(jī)CPU個(gè)數(shù)安排使用核心級(jí)線程。多線庫(kù)調(diào)度L多線庫(kù)調(diào)度L進(jìn)程1進(jìn)程2線程調(diào)度CPULLL……CPU…四. 純內(nèi)核線程

純粹運(yùn)行內(nèi)核程序的線程,不提供創(chuàng)建此類線程的系統(tǒng)調(diào)用界面,由系統(tǒng)初始化時(shí)創(chuàng)建,用來處理核心的一些異步事務(wù)。如定時(shí)進(jìn)行頁(yè)面交換,定時(shí)刷新文件緩沖區(qū),異步I/O請(qǐng)求的處理等。線程調(diào)度線程調(diào)度原則:讓CPU充分被利用;同進(jìn)程的線程盡量一起運(yùn)行(提高系統(tǒng)吞吐率)一.負(fù)載共享原則:讓任意進(jìn)程中的任意線程可在任意處理機(jī)上運(yùn)行。實(shí)現(xiàn):系統(tǒng)有一全局就緒隊(duì)列,每個(gè)處理機(jī)在運(yùn)行調(diào)度程序時(shí)都可從全局隊(duì)列中選擇合適線程來運(yùn)行。優(yōu)點(diǎn):系統(tǒng)負(fù)載均勻分布到處理機(jī)上。實(shí)現(xiàn)容易。缺點(diǎn):不能實(shí)現(xiàn)相關(guān)線程同時(shí)運(yùn)行;線程切換可能頻繁。二、負(fù)載綁定如果將線程指定到處理機(jī)上運(yùn)行而又允許處理機(jī)在執(zhí)行到因I/O或同步等操作時(shí)而進(jìn)行調(diào)度切換到其它線程,這種情況就是處理機(jī)與線程的綁定。三.組調(diào)度原則:讓同一進(jìn)程中的線程在多CPU上同時(shí)運(yùn)行。實(shí)現(xiàn):·獨(dú)占式組調(diào)度:將多個(gè)CPU同時(shí)分配給同一組線程,直到所有線程運(yùn)行結(jié)束。·引導(dǎo)型組調(diào)度:當(dāng)CPU調(diào)度了進(jìn)程中的一個(gè)線程時(shí),通過機(jī)間中斷通知其它CPU調(diào)度同一進(jìn)程中的其它線程。·浮動(dòng)型組調(diào)度:當(dāng)某個(gè)CPU調(diào)度了進(jìn)程中的一個(gè)線程時(shí),同時(shí)也幫助把該進(jìn)程的某些線程調(diào)度到其它CPU上,通過機(jī)間中斷通知其它CPU去做線程切換。特點(diǎn):同一作業(yè)的多線程并發(fā)性好;減少了因同一作業(yè)線程間同步較多而相互等待時(shí)間,減少了線程切換次數(shù)。四.獨(dú)占處理機(jī)調(diào)度(獨(dú)占式組調(diào)度):原則:讓同一進(jìn)程中的線程在多CPU上同時(shí)獨(dú)占運(yùn)行。實(shí)現(xiàn):把進(jìn)程所需要的CPU一次性分給進(jìn)程。特點(diǎn):CPU利用率不高;線程運(yùn)行過程中沒有線程切換;避免了線程間同步時(shí)間因調(diào)度問題延長(zhǎng)。五.多級(jí)動(dòng)態(tài)調(diào)度基礎(chǔ):有用戶級(jí)和核心級(jí)線程支持。原則:動(dòng)態(tài)創(chuàng)建線程,內(nèi)核調(diào)度程序調(diào)度核心級(jí)線程占用CPU,多線庫(kù)調(diào)度程序調(diào)度用戶級(jí)線程占用核心級(jí)線程。核心調(diào)度策略:支持組調(diào)度,保證負(fù)載共享。多線庫(kù)調(diào)度策略:支持優(yōu)先調(diào)度運(yùn)行關(guān)鍵任務(wù)的線程,支持負(fù)載共享。特點(diǎn):動(dòng)態(tài)創(chuàng)建線程可以減少多線程庫(kù)和內(nèi)核的內(nèi)存

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論