Presentation is loading. Please wait.

Presentation is loading. Please wait.

行程管理簡介 日期 : 2018/9/21.

Similar presentations


Presentation on theme: "行程管理簡介 日期 : 2018/9/21."— Presentation transcript:

1 行程管理簡介 日期 : 2018/9/21

2 行程管理 行程的慨念 行程的建立與結束 行程排程 行程合作與溝通 2 陳鍾誠 /9/21

3 行程的概念 行程的定義 : 多工 Multi-Tasking 解決辦法 中斷向量 作業系統 程式 1 程式 2 程式 3 執行中的程式
很多個程式共同執行 解決辦法 每次仍然只有一個程式真正佔用 CPU 執行。 要切換程式時,使用上述的 Task-Switching 程序 其他程式處於等待狀態 等甚麼 ? (I/O, 排程) 中斷向量 作業系統 程式 1 程式 2 程式 3 3 陳鍾誠 /9/21

4 行程的管理 作業系統所提供的行程相關功能 行程的建立與結束 行程排程 行程合作與溝通 4 陳鍾誠 /9/21

5 功能1 : 行程的建立與結束 建立新的行程 結束舊的行程 Windows, X-Window : 點兩下 DOS, Shell : 打命令
執行完畢,自動結束 Windows : 工作管理員 Linux : 指令 Kill 5 陳鍾誠 /9/21

6 Windows 的行程管理介面 – 工作管理員
6 陳鍾誠 /9/21

7 Linux 的行程建立函數 一個行程能在執行的期間透過系統呼叫建立很多新的行程。 建立新行程的行程稱為父行程,而新建立的行程稱為子行程。
UNIX 系統中,使用行程代號(PID)來分辦不同的行程。 系統呼叫 fork() execve() wait() 7 陳鍾誠 /9/21

8 Linux 的行程樹 root kswapd keventd init_task bash ypbind crond …
8 陳鍾誠 /9/21

9 Linux 的行程關閉函數 一個行程結束時,需要將執行期間內用到的資源如實體記憶體、虛擬記憶體、開啟的檔案和使用的 I/O 裝置等,都會交還給作業系統。 系統呼叫 exit() abort() 9 陳鍾誠 /9/21

10 功能2 : 行程排程 為了增加 CPU 的使用效率而提出多個行程的觀念。 哪個行程何時可以執行 下一個輪到誰執行 可以執行多久
行程順序的確定 下一個輪到誰執行 可以執行多久 10 陳鍾誠 /9/21

11 排程的範例 行程 CPU 暴衝時間(毫秒) 到達時間 P1 6 0 P2 3 1 P3 7 2 P4 4 3 P1 P2 P4 P1 P3
1 4 8 13 22 平均等待時間:( )/ 4 = 4.75 毫秒 11 陳鍾誠 /9/21

12 排程器 作業系統中主要的排程器有: 長程排程器和短程排程器最大的不同點 中程排程器 目前的作業系統通常只有短程排程器 長程排程器 短程排程器
執行的頻率 中程排程器 最主要的用途在於降低系統多工的程度,以增加系統可用記憶體的大小。 目前的作業系統通常只有短程排程器 Linux, UNIX, Windows 12 陳鍾誠 /9/21

13 排程的方法 可搶先版:最短剩餘優先排程 先到先做排程 (First-Come, First Served)
最短工作優先排程 (Shortest Job First) 可搶先版:最短剩餘優先排程 優先權排程 – Priority Scheduling 循環分時排程 – Round Robin Scheduling (大輪迴的排法) 多層佇列排程 – Multilevel Queue Scheduling 多層反饋佇列排程 – Multilevel Feedback Queue Scheduling 13 陳鍾誠 /9/21

14 功能3 : 行程合作與溝通 溝通 合作 行程如何傳遞訊息給其他行程 誰在何時可以用哪些資源? 如何協調執行順序? 如何避免死結 ?
14 陳鍾誠 /9/21

15 行程的溝通 行程如何傳遞訊息給其他行程 直接溝通 指定行程,傳送訊息 共用記憶體 間接溝通 郵箱 訊息佇列 陳鍾誠 - 2018/9/21
15 陳鍾誠 /9/21

16 行程的合作 核心問題: 誰在何時可以用哪些資源? 同步 : 如何協調執行順序? 死結 : 如何預防死結 ? 如何解除死結 ?
16 陳鍾誠 /9/21

17 結語 行程管理是作業系統最重要的事情 行程管理的焦點是 排程 溝通合作 17 陳鍾誠 /9/21


Download ppt "行程管理簡介 日期 : 2018/9/21."

Similar presentations


Ads by Google