4.1 Operating System Concepts 第四章 執行緒 Threads n 綜觀 n 多重執行緒模型 (Multithreading Models) n 執行緒的相關問題 n Pthreads n Solaris 2 Threads n Windows 2000 Threads n.

Slides:



Advertisements
Similar presentations
Chapter 10 馬可夫鏈 緒言 如果讀者仔細觀察日常生活中所發生的 諸多事件,必然會發現有些事件的未來 發展或演變與該事件現階段的狀況全然 無關,這種事件稱為獨立試行過程 (process of independent trials) ;而另一些 事件則會受到該事件現階段的狀況影響。
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/2 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH6.1~CH /12/05.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/3 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH3.5 ~ CH /10/31.
PowerPoint2010 李燕秋 版面配置 版面配置指的是每一個頁面的內容配置 方式,不同的版面配置會有對應的母片。
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
消費者物價指數反映生活成本。當消費者物價指數上升時,一般家庭需要花費更多的金錢才能維持相同的生活水準。經濟學家用物價膨脹(inflation)來描述一般物價持續上升的現象,而物價膨脹率(inflation rate)為物價水準的變動百分比。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Chapter 07 低階程式語言.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
長訊科技 EVRCOM Voice Mail System 使用者操作說明及流程. 自動總機 -- 來電語音轉接服務流程 ( 範例流程 )
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 貳 研究設計.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
圖層的操作與管理 圖層的作用就如同一張張透明的賽璐璐片, 你可以將動畫中的每項物件, 放置在不同圖 層中, 圖層交疊就形成完整的畫面。在各圖 層中的物件, 做任何的移動或變化, 都不會 相互干擾, 所以當你編輯一個物件時, 只要 在物件所在的圖層進行操作, 將可大幅降低 製作過程的複雜度與難度。
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
短缺,盈餘與均衡. 遊戲規則  老師想出售一些學生喜歡的小食。  老師首先講出價錢,有興趣買的請舉手。
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
生產系統導論 生產系統簡介 績效衡量 現代工廠之特徵 管理機能.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
公用品.  該物品的數量不會因一人的消費而受到 影響,它可以同時地被多人享用。 角色分配  兩位同學當我的助手,負責:  其餘各人是投資者,每人擁有 $100 , 可以投資在兩種資產上。  記錄  計算  協助同學討論.
Management Abstracts Retrieval System; MARS 檢索操作.
Multi - Language 鄭傑仁 陳彥如. Preface 大三下時,經由系上安排進入一間製作 IP phone 的公司實 習,公司所生產的 IP phone 提供很廣泛的設定 ( 例如 : 韌體 資訊、網路設定、 SIP 設定、語音設定等 ) ,為了方便使用 者設定或查詢這些選項,話機本身都內建了.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/25 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH 2.4~CH 2.6 &
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
Image Interpolation Use SSE 指導教授 : 楊士萱 學 生 : 楊宗峰 日 期 :
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
概念性產品企劃書 呂學儒 李政翰.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
INFORMATION RETRIEVAL AND EXTRACTION 作業: Program 1 第十四組 組員:林永峰、洪承雄、謝宗憲.
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
: Wine trading in Gergovia ★★☆☆☆ 題組: Contest Volumes with Online Judge 題號: 11054: Wine trading in Gergovia 解題者:劉洙愷 解題日期: 2008 年 2 月 29 日 題意:在 Gergovia.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
指導教授 : 林啟芳 教授 組員 : 邱秉良 林育賢. 何謂 GPS  GPS 即全球定位系統,是一個中距離圓 型軌道衛星導航系統。它可以為地球表面 絕大部分地區( 98% )提供準確的定位、 測速和高精度的時間標準。
Microsoft Excel.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標  描述作業系統的兩個主要任務  定義記憶體及程序管理  解釋邏輯位址與實體位址間的關係  基礎:第 5.2 節 范紐曼 電腦架構  ( 第 5 章講義第 頁 )
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
Presentation transcript:

4.1 Operating System Concepts 第四章 執行緒 Threads n 綜觀 n 多重執行緒模型 (Multithreading Models) n 執行緒的相關問題 n Pthreads n Solaris 2 Threads n Windows 2000 Threads n Linux Threads n Java Threads

4.2 Operating System Concepts 執行緒 n 系統呼叫 fork() 的缺點 F 需要做大量記憶體的複製 F 進行內容切換時需付出相當的代價 F 兩個行程間無法直接進行溝通 n 若行程間可以共用一部分的記憶體空間,那麼額外的負 擔就能減少,這也就是建立執行緒的基本理由。 許多在桌上型 PC 執行的套裝軟體都是多執行緒。應用程 式通常都製作成有許多執行緒控制的個別行程。網頁瀏 覽器可能有一個執行緒顯示影像或文字,而另一執行緒 則從網路擷取資料。文書處理器可能有一個執行緒在顯 示圖形,另一個執行緒從使用者讀入按鍵,而第三個執 行緒在背景下執行拼字和文法校正。

4.3 Operating System Concepts 執行緒觀念 n 執行緒 F 輕量級行程 F 使用 CPU 資源的基本單元 F 包含了一個程式計數器、一組暫存器和一個堆疊空間 F 與其他的執行緒共用同一個位址空間 n 傳統的行程 F 重量級行程 F 可看成是只有一個執行緒在執行的行程

4.4 Operating System Concepts 傳統行程與執行緒行程 程式資料檔案 暫存器 堆疊 執行緒 程式資料檔案 暫存器 堆疊 暫存器 堆疊 執行緒 單執行緒 多執行緒

4.5 Operating System Concepts 單一及多重執行緒的行程

4.6 Operating System Concepts 優點 1. 應答 : 將交談式的應用程式多執行緒化,可以在一個程式 某一部份被暫停,或程式在執行冗長操作時,依然桂續 執行,因此增加了對使用者的應答。 2. 資源分享 : 執行緒間將共用它們所屬行程的記憶體和資源 。程式碼和資料共用的好處是讓應用程式有數個不同的 執行緒在同一位址空間活動。 3. 經濟 : 對於行程產生所配置的記憶體和資源耗費很大。反 之,因為執行緒共用它們所屬行程的資源,所以執行緒 的產生和內容交換就比較經濟。憑經驗去測量出產生和 維護行程比執行緒多出多少時間可能很困難,但通常產 生和維護行程會比執行緒更費時。 4. 使用多處理器架構 : 在多處理器的架構下,多執行緒的利 益可以大幅提升,因為每一執行緒可以並行地在不同的 處理器上執行。不論有多少 CPU 可以使用,單一執行緒 只能在一個 CPU 上執行。多處理器上並行增加多執行緒 。

4.7 Operating System Concepts 使用者和核心執行緒 n 在作業系統中,有兩種方式來支援執行緒 F 使用者執行緒 4 利用執行緒函式庫來提供的 4 建立與管理執行緒時比較有效率 4 若行程中的執行緒暫停,則同行程中其他所 有執行緒也都會暫停執行 F 核心執行緒 4 由作業系統直接支援 4 建立與管理執行緒時比使用者執行緒來得慢 4 若行程中的執行緒暫停,核心可以安排其他 在同行程中的執行緒繼續執行

4.8 Operating System Concepts 使用者執行緒 (User Threads) n 執行緒的管理由使用者層次的執行緒程式庫來完成 n 使用者執行緒是依附在行程內,所以中央處理器排程器仍以行程為 單位進行排程及環境切換工作,當某一個行程輪到中央處理器時, 它將它所輪到的時間分享給它的執行緒使用,例如時間片段為 100ms ,故某個行程分配 100ms 時間,而它有五個執行緒,則每 個執行緒分配 20ms 執行。 n 範例 F - POSIX Pthreads F - Mach C-threads F - Solaris threads

4.9 Operating System Concepts 核心執行緒 Kernel Threads n 由作業系統核心支援 n 由於每個核心執行緒是各自排程,所以核心行程內若某 一個執行緒懸置,它不會造成其他的執行緒被懸置。 n 範例 F - Windows 95/98/NT/2000 F - Solaris F - Tru64 UNIX F - BeOS F - Linux

4.10 Operating System Concepts Multithreading Models 多執行緒模式 n 多對一 (Many-to-One) 將許多個使用者執行緒對應到同一個核心執行 緒。 n 一對一 (One-to-One) 將一個使用者執行緒對應到一個核心執行緒。 n 多對多 (Many-to-Many) 將使用者執行緒對應 到相同或是較少數目的核心執行緒。

4.11 Operating System Concepts 多對一 Many-to-One n 許多使用者層次的執行緒對應到一個單一的核 心執行緒. n 通常使用在不支援核心執行緒的作業系統.

4.12 Operating System Concepts 多對一模式

4.13 Operating System Concepts 一對一 n 每個使用者執行緒對應到核心執行緒 Each user-level thread maps to kernel thread. n 範例 F - Windows 95/98/NT/2000 F - OS/2

4.14 Operating System Concepts 一對一模式

4.15 Operating System Concepts 多對多模式 n 允許多個使用者層執行緒可以對應到許多核心 執行緒. n 允許作業系統產生足夠數目的核心執行緒. n Solaris 2 n Windows NT/2000 with the ThreadFiber package

4.16 Operating System Concepts 多對多模式

4.17 Operating System Concepts 執行緒的問題 n fork() 及 exec() 的系統呼叫問題. n 執行緒的取消 (Thread cancellation). n 訊號處理 (Signal handling) n 執行緒池 (Thread pools) n 執行緒相關特定資料 Thread specific data

4.18 Operating System Concepts Pthreads F Pthreads 依據 POS 以 (IEEE1003.1c) 標準定義執行緒產生和同步的 API 。 F Pthreads 是執行緒行為的規格,而非製作。作業系統設計者可以 用任何他們期望的方式製作此規格。 Win32 執行緒 : 使用 Win32 執行緒程式庫產生執行的技巧 與 Pthreads 技巧,在許多方面很相似。當使用 Win32API 時,必須含有 windows . h 的標題檔。 n Java 執行緒 : 執行緒是在 Java 程式、 Java 語言和 JavaAPI 中 程式執行的基本模式, Java 的 API 提供執行緒的產生與管 理一組豈富的特性。所有 Java 程式至少包含一個單一執 行緒控制,即使只包含一個 main() 方法的 Java 程式也是 以一個單一執行緒在 JVM 下執行。

4.19 Operating System Concepts Solaris 2 執行緒

4.20 Operating System Concepts Solaris 行程

4.21 Operating System Concepts Windows 2000 執行緒 n 製作一對一的對應. n 每一個執行緒包含 F - a thread id F - register set F - separate user and kernel stacks F - private data storage area

4.22 Operating System Concepts Java 執行緒狀態