多線程內容提要.ppt_第1頁
多線程內容提要.ppt_第2頁
多線程內容提要.ppt_第3頁
多線程內容提要.ppt_第4頁
多線程內容提要.ppt_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章多線程 內容提要 線程的概念線程的好處應用線程的例子線程的狀態(tài)和線程管理多線程的實現Solaris操作系統(tǒng)的線程機制Mach操作系統(tǒng)的線程機制習題 進程和線程的執(zhí)行示意圖 三個進程各占自己的資源 獨自執(zhí)行 同一進程中三個線程公用資源 獨自執(zhí)行 線程的概念和性質 進一步提高并行性的需求并行性 多處理器 和并發(fā)性 單處理器 對并行的實際需求并發(fā)的開銷大 模式轉換和進程開關降低進程開關的開銷的思路 將進程的資源占有和運行單元體的兩個角色分開定義 線程是進程內的一個相對獨立的 可調度的執(zhí)行單元 性質 進程內一個相對獨立的可執(zhí)行單元操作系統(tǒng)的基本調度單元每個進程至少要有一個或一個以上的線程線程可以創(chuàng)建其他線程同一個進程中的線程共享該進程的資源線程間需要通信和同步機制線程有生命期 有誕生和死亡 采用線程機制帶來的好處 創(chuàng)建和撤消線程的開銷大大小于創(chuàng)建和撤消進程的開銷線程開關的開銷大大小于進程開關開銷增加了通信的有效性為便于實現線程機制 促使程序員設計結構良好的程序 應用線程的例子 前臺和后臺 輸入 檢查 修改 打印異步處理 定期備份加快處理速度 對數據的并行處理組織復雜的工作 如DBMS對SQL語句的處理同時處理多個用戶的服務請求 如民航售票或證券交易 線程的狀態(tài)和線程管理 線程狀態(tài) 就緒 運行 等待 p 62圖4 1 幾點說明 無掛起狀態(tài) 使用I O時是否阻塞其他線程 進程的狀態(tài)只與資源有關了線程的描述進程現場 映象和保護體系 與資源有關 線程現場 狀態(tài) 運行現場 執(zhí)行堆棧 與運行有關 用面向對象的形式表示線程控制塊 TCB 對象和類的概念進程對象和線程對象 p 65表4 1和表4 2線程的管理 線程組基本管理方式 TCB隊列線程控制原語 創(chuàng)建 撤消 阻塞 掛起 解掛 以線程組的形式成組管理線程 多線程的實現 1 基于線程觀點的操作系統(tǒng)分類 單進程單線程 MS DOS 多進程單線程 傳統(tǒng)UNIX 單進程多線程 多進程多線程 WINDOWSNT等 p 67用戶級和內核級線程 p 70圖4 4用戶級線程 ULT 定義 實現方式 線程庫 優(yōu)點 開銷小 適應多類應用 適應多種操作系統(tǒng) 問題 I O時阻塞 時間片輪轉時線程與進程狀態(tài)不協(xié)調 缺點 阻塞多個線程 饑餓 無法享受多處理器 解決方案 監(jiān)控程序和虛擬時鐘 I O外套程序 其他問題 對共享存區(qū)的保護 多CPU 實際數據 多線程的實現 2 內核級線程 KLT 什么是KLT 優(yōu)點 多處理器并行 阻塞時不相互牽制 內核線程 缺點 進出操作系統(tǒng)的兩次模式轉換的開銷 KLT和ULT結合的方法 p 70圖4 4c 四個容易混淆的術語的解釋 針對線程主 還是針對線程運行的地址空間而言 線程庫 功能 支持ULT的開發(fā)和應用所提供的過程調用實現要點 盡量減少目態(tài) 管態(tài)間轉換 每次轉換都涉及在不同的地址空間之間復制數據 開銷很大 線程調度 編程接口 Solaris操作系統(tǒng)的線程機制 Solaris的多線程結構 有關概念及圖示輕質進程UNIX和Solaris的進程表的比較 Solaris的進程不包括處理器現場 該現場在輕質進程數據塊 輕質進程的本質是一個特殊的用戶線程輕質線程的局限性 開銷大 占用內核資源多 僅涉及用戶空間 即上層 的操作開銷小 同時涉及上下層的開銷大 內核線程 數據結構 Solaris內核構成用戶線程 完全由線程庫管理 與內核無關 線程的執(zhí)行用戶線程與輕質進程多對多 用戶線程狀態(tài)變化圖 p 75 LWP狀態(tài)變化圖 p 76 用戶進程與輕質進程一對一 走則同行 停則同停內核中斷線程中斷處理由中斷線程執(zhí)行 并用鎖或信號量互斥實現方法及其性能分析 p 77頁首 Solaris多線程結構的有關概念 進程 用戶級線程ULT 通過在進程地址空間的線程庫實現 輕質進程LWP LWP是用戶級線程與內核級線程之間的映射 LWP被內核獨立調度并可在多處理器上并行執(zhí)行 內核級線程KLT 被調度并分派到一個處理器上執(zhí)行的基本實體 Solaris的多線程結構有關概念圖示 CPU 線程庫 進程1 L L L L L L L L L 線程調度程序 CPU CPU CPU CPU 內核 硬件 用戶空間 Mach操作系統(tǒng)的線程機制 任務 類似進程 和線程線程的數據結構 p 77 與線程相關的系統(tǒng)調用 創(chuàng)建 終止 掛起 恢復等線程分類 純內核線程 用戶任務的線程 相當于Solaris中的輕質進程 線程庫線程庫的實現方法基于線程 default 每個用戶線程使用一個

溫馨提示

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

評論

0/150

提交評論