1 / 47

單處理器排程 Uniprocessor Scheduling

單處理器排程 Uniprocessor Scheduling. 第 9 章. 排程的目的. 指定行程在處理器上的執行時間 回應時間 (Response time) 產出率 (Throughput) 處理器效率 (Processor efficiency). 長程排程 Long-Term Scheduling. 負責決定系統將處理哪些程式 控制多元程式處理的程度 (Degree of Multiprogramming) 行程越多,每個行程所能執行的時間百分比就越小. 中程排程 Middle-Term Scheduling. 置換功能的一部份

raine
Download Presentation

單處理器排程 Uniprocessor Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 單處理器排程Uniprocessor Scheduling 第 9 章

  2. 排程的目的 • 指定行程在處理器上的執行時間 • 回應時間(Response time) • 產出率 (Throughput) • 處理器效率(Processor efficiency)

  3. 長程排程Long-Term Scheduling • 負責決定系統將處理哪些程式 • 控制多元程式處理的程度(Degree of Multiprogramming) • 行程越多,每個行程所能執行的時間百分比就越小

  4. 中程排程Middle-Term Scheduling • 置換功能的一部份 • 根據多元程式處理程度的管理需求

  5. 短程排程Short-Term Scheduling • 也被稱為分派程式 (dispatcher) • 執行頻率最高 • 當事件發生時被呼叫 • 時脈中斷 • I/O中斷 • 作業系統呼叫 • 信號

  6. 短程排程的準則Short-Term Scheduling Criteria • 使用者導向(User-oriented) • 回應時間(Response Time) • 是指從發出需求到系統產生回應所經歷的時間 • 系統導向(System-oriented) • 處理器的效能和利用率

  7. 短程排程的準則 Short-Term Scheduling Criteria • 效能相關 • 可以量化(Quantitative) • 可以輕易測量,如產出率或回應時間

  8. 使用優先順序 Priority • 排程器將會優先選擇擁有較高優先順序的行程 • 使用多個佇列來代表不同層級的優先順序 • 較低優先順序的行程也許會面臨飢餓 • 解決方法是讓行程的優先順序可隨著它的年齡或執行情況而變化

  9. 抉擇模式Decision Mode • 非先佔式(Nonpreemptive) • 當行程處於執行狀態時,它會持續執行,直到它完成或因為I/O而懸置自己 • 先佔式(Preemptive) • 目前正在執行的行程也許會被作業系統所中斷,而轉移到備妥狀態 • 能夠提供較佳的服務,因為能夠避免某個行程佔用處理器很長的時間

  10. 行程排程範例

  11. 先到先服務 (FCFS) • 每個行程都會加入備妥佇列 • 當目前正在執行的行程停止執行時,在備妥佇列中等待最久的行程會被選出來執行

  12. 先到先服務 (FCFS) • 短行程可能必須等待很長的時間才能輪到執行 • 比較適合處理CPU-bound行程 • I/O-bound行程必須等待 CPU行程完成

  13. 循環 (Round-Robin) • 根據時脈而使用搶先策略 • 必須審慎決定時間區段的長度,也就是每個行程使用處理器的時間長度

  14. 循環 (Round-Robin) • 每隔一段固定的時間就會產生時脈中斷 • 當中斷發生時,目前正在執行的行程會被放在備妥佇列中 • 選出下一個執行的工作 • 也稱時間片段法(time slicing)

  15. 最短行程優先 (Shortest Process Next, SPN) • 這是個非先佔式(Nonpreemptive)策略 • 選擇預期的處理時間最短的行程 • 較短的行程會超越較長的行程

  16. 最短行程優先 (SPN) • 降低較長行程的可預測性 • 如果行程的估計時間不正確,作業系統可能會將它中斷執行 • 較長的行程可能會面臨飢餓

  17. 最短行程優先 (SPN) Ti: processor execution time for ith instance of this process (total execution time for batch job; processor burst time for Interactive job) Si: predicted value for the ith instance S1: predicted value for the 1st instance, not calculated

  18. 最短行程優先 (SPN) Running Average Exponential Average

  19. S1=0

  20. 最短剩餘時間 (Shortest Remaining Time, SRT) • 是SPN的先佔式(Preemptive)版本 • 必須預估處理時間

  21. 最高回應率優先 (Highest Response Ratio Next, HRRN) • 選出比例值最大的下一個行程 R: response ratio w: time spent waiting for the processor s: expected service time

  22. 回饋(Feedback) • 對已經執行較久的工作加以限制 • 不知道行程所剩餘的執行時間

  23. 公平共享排程 (Fair-Share Scheduling, FSS) • 使用者的應用程式是一組行程 (或執行緒) 的集合 • 使用者所關心的是整個應用程式的效能 • 需要根據整個行程集合來進行排程

  24. 傳統Unix排程 • 使用多層次回饋(Multi-level Feedback),並在每一個優先順序佇列中使用循環策略(RR) • 如果正在執行的行程沒有在1秒內完成或被懸置,它將會被搶先 • 每秒系統會重新計算每個行程的優先順序 • 所有的行程會被劃分成不同的優先順序層級

  25. 優先順序層級 • 優先順序是依序遞減 • 置換程式 • 區塊I/O裝置控制 • 檔案處理 • 字元I/O裝置控制 • 使用者行程

  26. 練習 • Process(行程)的Waiting Time(等待時間)定義如下: • Waiting Time = Turnaround Time - Running Time其中Turnaround Time (回覆時間)為Process從開始執行到執行結束經過的時間長度,Running Time則是Process處於Running(執行)狀態的時間總長度。 • 今有5個行程依序進入系統,如下表:

  27. 練習 行程編號 到達時間 處理時間

  28. 練習 • 請分別以 FCFS、SPN、SRT、RR 等四種排程演算法,完成下列工作: • 以每一個CPU Cycle為單位,畫出Process的執行時序圖(Time Line)。 • 計算每一個Process的Turnaround Time和Waiting Time • 計算各種排程演算法的Average Waiting Time(平均等待時間)

More Related