第4章 排程(Scheduling).

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

学年度工作总结 —— 上海建桥学院 —— 上海建桥学院 实验室与资产管理处 实验室与资产管理处.
盈泰盛世精选 - 华泰并购投资基金 宝蓄财富 - 产品部. 产品基本要素 产品名称盈泰盛世精选华泰并购投资基金 管理人北京恒宇天泽投资管理有限公司 托管人国信证券股份有限公司 发行规模 1.2 亿元,以实际募集规模为准 人数限制 200 人上限 投资标的本基金委托将主要投向于华泰瑞联二期并 购基金中心(有限合合)(以企业登记的.
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
桃園縣埔心國民小學專題報告 海豹 海豹 報告人 : 吳宜旻 指導老師 : 鄭省村.
Chapter 10 效能測量與分析.
学党章党规、学系列讲话,做合格党员 学习教育
“三生教育”专题 生命·生存·生活.
Foundations of Computer Science
做好就业与自主创业的准备.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
OSDI.
第二章 项目一:企业厂区与车间平面设计 1.
寻觅节日诗情.
T3汽修通总体介绍及软件应用 姓名:刘静静 2010年4月21日.
第五章 处理机管理 5.1 引言 5.2 调度算法 5.3 调度算法性能分析 5.4 实时调度 5.5 多处理机调度 5.6 调度算法举例
Come on!05级数学教育12号郑桂花同学将带你搭上时空船,驶向公元250年!近距离接触伟大数学家刘微!
第8章 机床操作 主讲:臧红彬 博士.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度
第六节 脑和脊髓的传导通路.
性能测试培训 在组设置中可使用此模板作为演示培训材料的起始文件。 节
輔助記憶體.
Operating System CPU Scheduing - 2 Monday, August 11, 2008.
CHT Project Progress Report
Operating System CPU Scheduing - 3 Monday, August 11, 2008.
主題五 CPU Learning Lab.
行程管理簡介 日期 : 2018/9/21.
第6章 電腦軟體 應用軟體 多元程式處理 系統軟體 記憶體配置 作業系統簡介 虛擬記憶體 作業系統的演進與發展 行程管理
Chapter 5 行程排班 (Process Scheduling)
作業系統簡介.
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
Process Scheduling (行程排班)
C H A P T E R 11 体系结构对操作系统的支持.
排程 – 行程的執行順序安排問題 日期 : 2018/11/14.
作業系統 第五章 排程.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
第8章作業系統.
Operating System Concepts 作業系統原理 Chapter 5 行程排班
第二章 行程管理 朱肇明 資管系 講師 大華技術學院.
作 業 系 統 第三組 楊育翰 顏瑞霖.
2-3 基本數位邏輯處理※.
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
组长:吴蔚 项目组成员:吴蔚,邱丁兰,汪琳莺
Chapter 3 行程觀念 (Process Concept)
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
Linux CPU的排程 邱姸婕.
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
Chap3 Linked List 鏈結串列.
作者:葉福玲 班級:六年四班 指導老師:黎家雲
第3章 認識處理元.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
Operation System(OS).
计算机组装、维修及 实训教程 第17章 微机软件的安装与设置 2019年4月11日星期四.
RTOS.
靜宜大學專用 PowerPoint 檔案 數位教材
2008能源與科技論壇暨研討會 自主型二足機器人之研製 鄭暉騰 倪世銓 李明哲 黃加慶 王仲淳 元智大學電機研究所
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
作業系統 期末專案程式製作 進修部資科三甲 981 德明科大 資訊科技系.
黃影雯副教授講授 E_Mail Address:
H5P 互動式教材 ─算術測驗 (Arithmetic Quiz)─
資料表示方法 資料儲存單位.
进程调度算法和作业调度算法。 (1) 先来先服务(FCFS)调度算法
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
提昇教師專業會議(華人社區) 「教師專業行為表現」專題討論 學生和家長眼中的教師專業行為 日期:2005年10月29日 地點:香港教育學院C-Lp-01室 主講 :香港教育工作者聯會 韓湛恩老師.
售后培训系列之V9系统中心安装 SecManage 网安事业部 广州售后-王长绪.
All Sources Shortest Path The Floyd-Warshall Algorithm
Nachos Project Assignment 2
Chapter 4 Multi-Threads (多執行緒).
Presentation transcript:

第4章 排程(Scheduling)

排程(Scheduling) 排程是用來管理CPU的資源,排程的政策(policy)決定處理元使用CPU的順序 排程的機制(mechanism)則決定CPU配置給處理元使用的方法 一個電腦系統中可能有很多處理元都等著要執行,排程的政策決定那個處理元應該先執行,排程的機制則實際地落實這樣的順序

排程演算法(scheduling algorithm) 可間斷的(preemptive) 不可間斷的(nonpreemptive)

排程的由來 多工的作業系統可以讓多個處理元同時載入到可執行記憶體(executable memory)中,然後以時間多工(time-multiplexing)的方式讓這些處理元共用CPU 多工是現代作業系統不可缺少的特色 ,因為作業系統本身很可能就是由好幾個處理元所組成的,有必要讓多個程式隨時都處於可以馬上執行的狀態 另一個主要的考量是讓正要進行I/O的處理元先讓出CPU,避免因I/O時間過長造成CPU長時間被閒置

CPU的工作狀況

排程機制的實作 佇列管理員(enqueuer) 分派員(dispatcher) 環境切換程式(context switcher)

排程程式(scheduler)的構造

處理元的排程

多工技術 自願性的多工(voluntary multiplexing) 非自願性的多工(involuntary multiplexing)

Windows XP的[工作管理員]顯示的CPU使用率

與排程相關的時間定義 服務時間(service time) 等待時間(wait time) 輪轉時間(turnaround time)

處理器排程的模型

不可間斷的(nonpreemptive) 排程策略 先來先做(FCFS, First-Come-First-Served)的排程法 最短工作優先(SJN, Shortest Job Next) 的排程法 指定優先權的排程法 截止時間的排程法

先來先做(FCFS, First-Come-First-Served)的排程法

先來先做(FCFS, First-Come-First-Served)的排程法 (L代表服務時間,T代表turnaround time。) T(P1) = L(P1) = 300 T(P2) = L(P2) + T(P1) = 150 + 300 = 450 T(P3) = L(P3) + T(P2) = 430 + 450 = 880 T(P4) = L(P4) + T(P3) = 230 + 880 = 1110 T(P5) = L(P5) + T(P4) = 92 + 1110 = 1202 Average turnaround time AT = (300 + 450 + 880 + 1110 + 1202) / 5 = 788.4 Average waiting time AW = (0 + 300 + 450 + 880 + 1110)/5 = 548

最短工作優先(SJN, Shortest Job Next) 的排程法

最短工作優先(SJN, Shortest Job Next) 的排程法 T(P1) = L(P1) + T(P4) = 300 + 472 = 772 T(P2) = L(P2) + T(P5) = 150 + 92 = 242 T(P3) = L(P3) + T(P1) = 430 + 772 = 1202 T(P4) = L(P4) + T(P2) = 230 + 242 = 472 T(P5) = L(P5) = 92 Average turnaround time AT = (772 + 242 + 1202 + 472 + 92) / 5 = 556 T(W1) = 472 T(W2) = 92 T(W3) = 772 T(W4) = 242 T(W5) = 0 Average waiting time AW = (472 + 92 + 772 + 242 + 0)/5 = 315.6

指定優先權的排程法

指定優先權的排程法 T(P1) = L(P1) + T(P3)= 300 + 430 = 730 Average turnaround time AT = (730 + 1202 + 430 + 1052 + 822) / 5 = 847.2 T(W1) = 472 T(W2) = 1052 T(W3) = 0 T(W4) = 822 T(W5) = 730 Average waiting time AW = (472 + 1052 + 0 + 822 + 730)/5 = 615.2

截止時間的排程法

截止時間的排程法 T(P1) = L(P1) + T(P2)= 300 + 242 = 542 Average turnaround time AT = (542 + 242 + 972 + 1202 + 92) / 5 = 610 T(W1) = 242 T(W2) = 92 T(W3) = 542 T(W4) = 972 T(W5) = 0 Average waiting time AW = (242 + 92 + 542 + 972 + 0)/5 = 369.6

可間斷的(preemptive) 排程策略 輪替式的排程法 (Round Robin scheduling) 多層佇列(multiple-level queues)的排程法

輪替式的排程法 (Round Robin scheduling)

輪替式的排程法 (Round Robin scheduling) T(P1) = 1022 T(P2) = 592 T(P3) = 1202 T(P4) = 972 T(P5) = 492 Average turnaround time AT = (1022+592+1202+972+492) / 5 = 856 T(W1) = 0 T(W2) = 50 T(W3) = 100 T(W4) = 150 T(W5) = 200 Average waiting time AW = (0 + 50 + 100 + 150 + 200)/5 = 100

輪替使用50個時間單位並考量context switching的排程結果

輪替使用50個時間單位並考量context switching的排程結果 T(P1) = 1212 T(P2) = 692 T(P3) = 1432 T(P4) = 1152 T(P5) = 572 Average turnaround time AT = (1212 + 692 + 1432 + 1152 + 572) / 5 = 1012 T(W1) = 0 T(W2) = 60 T(W3) = 120 T(W4) = 180 T(W5) = 240 Average waiting time AW = (0 + 60 + 120 + 180 + 240)/5 = 120

多處理器的排程(multiple-processor scheduling) 現在很多電腦已經使用多處理器與多核心的架構,假如在作業系統的層次上沒有對應的改變,可能無法完全發揮這些硬體的功能

作業系統中排程的類型

處理元排程的種類

以另外一種觀點來觀察各種排程

以佇列(queue)來表示 處理元的排程

回應時間(response time) 所謂的回應時間是指系統對某個輸入產生回應所花費的時間,例如使用者輸入一個指令,從完成輸入到看到系統回應之間所等待的時間就可以算是一種回應時間 我們可以把回應時間想像成要求系統完成某項工作所需要的時間。回應時間越短似乎使用者越滿意,但是要付出的成本相對地也比較高,因為顯然電腦的配備要好,而且某個處理元的回應時間短,可能也造成了另一個處理元的回應時間變長了

回應時間(response time) 從使用者與作業系統互動的觀點來看,當使用者收到回應,到輸入下一個指令之間所花的時間稱為使用者回應時間(user response time) 使用者輸入一個指令,到系統呈現回應之間的時間則稱為系統回應時間(system response time)

簡單的佇列系統

multiserver queue

multiple single-server queues