第五章 处理机管理 CPU Scheduling

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
高级服务器设计和实现 1 —— 基础与进阶 余锋
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Process Scheduling based on Linux3.2 孟宁 电话: 孟宁 V5 : 主页:
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
操作系统 年级:2003春 专业:计算机应用专业.
4.5 实时调度算法 实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机的响应信号。 实时处理任务可分为 硬实时任务(hard real-time task) 软实时任务(soft real-time task)。 其中,前者要求计算机系统必须在用户给定的时限内完成,后者允许计算机系统在用户给定的时限左右处理完毕。
Chapter 6: CPU Scheduling CPU调度
第五章 处理机管理 5.1 引言 5.2 调度算法 5.3 调度算法性能分析 5.4 实时调度 5.5 多处理机调度 5.6 调度算法举例
实用操作系统概念 张惠娟 副教授 1.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度
第三章 处理机调度与死锁.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度
第六讲 进程控制与调度 目的与要求:理解进程切换过程,理解进程调度原因及调度切换时机,掌握进程调度方式与实现及各种调度算法,弄清作业和进程的关系,了解线程的引入原因。 重点与难点:进程切换的实现与进程调度算法。 作业:7, 8, 10, 11, 19, 20。
进程调度(Scheduling) 进程(Linux中称任务)定义:是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。 描述进程的三个方面: 程序的一次运行活动; 进程的运行活动是建立在某个数据集合之上的; 进程在获得资源的基础上从事自己的运行活动。
计算机基础知识 丁家营镇九年制学校 徐中先.
Operating System CPU Scheduing - 2 Monday, August 11, 2008.
Operating System CPU Scheduing - 3 Monday, August 11, 2008.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
C H A P T E R 11 体系结构对操作系统的支持.
第8章作業系統.
第二章 行程管理 朱肇明 資管系 講師 大華技術學院.
作 業 系 統 第三組 楊育翰 顏瑞霖.
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度(part II) 中国科学技术大学计算机系 陈香兰 Fall 2013.
CPU调度(Scheduling) 主讲教师:夏莹杰
操作系统原理 Operating System Principles
临界区软件互斥软件实现算法.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Online job scheduling in Distributed Machine Learning Clusters
临界区软件互斥软件实现算法 主讲教师:夏莹杰
CPU结构和功能.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
Operation System(OS).
微机系统的组成.
RTOS.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
进程概念.
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度 中国科学技术大学计算机系 陈香兰 Fall 2013.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
数据报分片.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
机械设备的完整性和可靠性管理 Maintenance integrity & reliability.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
Google的云计算 分布式锁服务Chubby.
第三章 处理机的调度和死锁.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第五章 处理机管理 CPU Scheduling
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

第五章 处理机管理 CPU Scheduling 处理机调度类型和模型 调度算法的选择和评价 调度算法

优先级调度算法 Priority Scheduling 作业调度: 从后备作业队列中选择优先级最高且系统能满足其资源要求的作业装入内存 进程调度: 选择就绪队列中优先级最高的进程分配处理机

Priority Scheduling调度方式 非抢占式优先级算法 进程一旦获得处理机就一直运行下去直至完成或因某事件发生而等待,些时才再次进行进程调度 一般用于批处理系统、分时系统 抢占式优先级算法 一旦出现一个新的就绪进程且其优先级比当前进程高,就立即停止当前运行的进程而调入新进 即当有新的就绪进程就进行进程调度,与当前运行进程的优先级对比,以决定是否调度新进程

优先数的类型 静态优先级 动态优先级 创建进程时确定进程的优先数,且在进程的整个运行期间保持不变(假设小的数优先级低) 确定优先级的依据 进程的类型 进程对资源的需求 根据用户的要求 动态优先级 创建时赋予一个初始优先级,但可随进程的执行情况的变化而改变,以获得更好的调度性能 例,设0为最低优先级,每隔1分钟优先级加1,若有一长作业初值为0,在队列中等了1小时,其优先级就增加到60,从而被调度。 在抢占式调度中也可规定正在执行的进程优先数以某个速率下降,防止一个长作业长期占用处理机

Priority Scheduling 的例子

时间片轮转调度算法Round Robin Each process gets a small unit of CPU time (time slice), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue. If there are n processes in the ready queue and the time slice is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units. Performance q large  FIFO q small  q must be large with respect to context switch, otherwise overhead is too high.

Example of RR with Time Slice= 1 时间片为1时的例子 Process Arrival Time Service P1 P2 P3 P4 P5 2 4 6 8 3 5

Time Quantum and Context Switch Time 时间片的选择与进程转换时间 time slice( quantum 数量/定量)

时间片的选择 must be substantially(充分的) larger than the time required to handle the clock interrupt and dispatching(调度) should be larger then the typical interaction (but not much more to avoid penalizing(不利于) I/O bound processes) 时间片大于典型 的交互时间 响应时间 响应时间 时间片 被抢占 时间片小于典型 的交互时间

时间片的选择时考虑的因素 系统对响应时间的要求 就绪队列中进程的数目 系统的处理能力

多级反馈队列调度算法 Multilevel Feedback Scheduling Preemptive scheduling with dynamic priorities 动态优先级的抢占式调度 Several ready to execute queues with decreasing priorities: 按优先级构成多个就绪队列 P(RQ0) > P(RQ1) > ... > P(RQn) New process are placed in RQ0 新进程放入优先级为0(高优先级)的队列 When they reach the time quantum, they are placed in RQ1. If they reach it again, they are place in RQ2... until they reach RQn 时间片用完将被放入下一级就绪队列直到第n级队列 I/O-bound processes will stay in higher priority queues. CPU-bound jobs will drift downward. I/O进程将保持在较高优先级队列中,而计算型将降级 Dispatcher chooses a process for execution in RQi only if RQi-1 to RQ0 are empty 仅当0至i-1级队列中无进程时才调度i级队列的进程

各级队列具有大小不同的时间片,0级时间片最小,各级逐渐递增 新进程进入较高优先级的空就绪队列时重新调度,抢占处理 Windows NT中就采用该算法

MFS调度算法的性能 能照顾到短型作业用户的要求(如终端用户) 能照顾到短批处理型作业用户的要求 能照顾到输入/输出型作业用户的要求 能照顾到计算机型作业用户的要求 常辅以定时提升队列,以获得服务

实时调度算法 Real-Time Scheduling 实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机的响应信号。 实时系统的分类 硬实时系统Hard real-time systems – required to complete a critical task within a guaranteed amount of time. 软时实系统Soft real-time computing – requires that critical processes receive priority over less fortunate ones. 硬实时系统要求计算机系统必须在用户给定的时限内完成,软时实系统允许计算机系统在用户给定的时限左右处理完毕

调度期Dispatch Latency 事件 响应事件 中断 处理 调度周期 时实进 程执行 调度

对实时系统的要求 提供必要的调度信息 调度方式 具有快速响应外部中断的能力 进程的就绪时间 进程开始执行截止时间和完成执行截止时间 进程处理所需时间 进程的资源要求 进程优先级 调度方式 具有快速响应外部中断的能力

实时调度算法 Real-Time Scheduling 时间片轮转调度算法 这是一种常用于分时系统的调度算法,它只能适用于一般实时信息处理系统,而不能用于实时要求严格的实时控制系统。 秒级的响应时间 非抢占的优先级调度算法 常用于多道批处理系统的调度算法,也可用于实时要求不太严格的实时控制系统 数百毫秒级的响应时间 基于时钟中断抢占的优先级调度算法 用于大多数的实时系统中 几毫秒级的响应时间 立即抢占的优先级调度算法 这种算法适用于实时要求比较严格的实时控制系统 上百微秒级的响应时间

实时调度实例 在事前能知道各实时任务的开始截止时间,且对调度时延要求 不太严格的情况下可以采用最早截止时间优先的非剥夺性调度策略 1 3 4 2 开始截止时间 执行任务 1 3 4 2 t 任务到达 4 1 2 3 系统首先调度任务1执行,在任务1执行期间,任务2、3 先后到达,由于任务3的截止时间早于任务2的,故系统在 任务1后将调度任务3执行。

Windows NT Priority Relationship Process Priority Thread’s Base Thread’s Dynamic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 base priority highest above normal normal below normal lowest

多处理机调度 什么是多处理机系统 多处理机操作系统的分类 多处理机系统调度策略

1.什么是多处理机系统 多处理机系统:是一个具有两个或多个处理机并能相互进行通信以协同一个大的给定问题求解的计算机系统。 特点: 1)  有两个或多个处理机 2)  共享主存或高速通信网络 3)  共享输入输出子系统 4)  有单一完整的操作系统 5)  各级硬件和软件相互作用

主要功能: ●进程分配 ●更好的利用多机硬件 ●资源在处理机之间的分配 ●改善程序的响应时间 ●处理机的负载平衡 ●处理机间的协调和同步 ●因处理机故障引起的系统重组

广义上说,使用多处理机协调工作,来完成用户所要求任务的计算机系统。这包扩了并行处理系统(parallel processing system),例如数据流机(dataflow machine)和细胞阵列处理机(Celluar array processors)等,也包扩了在物理上分散且通过不同的物理传输媒体传输数据的计算机网络系统和计算机网络为基础的,对用户透明的分布式系统,以及在同一的计算机系统里共享内存的多处理机系统. 广义的计算机系统的一个共同的特点是有n个处理器(n>1),能做到真正的并行处理,也就是能同时执行n条指令.

2.多处理机操作系统的分类 本节所介绍的多处理机操作系统是指那些用来并行执行用户的几个程序,以提高系统的吞吐率;或 并行操作以提高系统可靠性的多处理操作系统。这种系统由共享公共内存和外设的n(n>1)个 CPU组成。 从概念上说,在多处理机系统中的各进程的行为与在单机系统下的行为相同。因此,对多处理机操作系统的要求与对多道程序的批处理系统没有太多的区别。但是,多处理环境下,进程可在各处理机间进行透明迁移,从而,由进程上下文切换等带来的系统开销将使得多处理机操作系统的复杂度大大增加。另外,由于多处理机系统并行地执行用户的几个程序(进程),这又带来了多处理机条件下的并发执行问题。

(1) 主从式(master-slave configuration) (2) 独立监控系统(Separate supervisor) 使用多处理机系统的主要原因是提高系统的可靠性和在发生故障时能降级使用;另一个原因是提高系统吞吐 。因此,一个多处理机操作系统除了提高资原分配和管理,进程和处理机管理,内存和数据集保护以及文件系统等功能之外,还能提供系统结构重组的能力,以支持系统的降级使用。因此,多处理机的调度策略也必须考虑到降级使用和结构重组问题。 目前多处理机操作系统可以分为三类: (1) 主从式(master-slave configuration) (2) 独立监控系统(Separate supervisor) (3) 移动式监控系统(floating supervisor)

主从式中,指定一台特定的处理机为主处理机,由它负责对全系统的执行进行控制. (1)主从式(master-slave configuration) 主从式中,指定一台特定的处理机为主处理机,由它负责对全系统的执行进行控制. 在主从式操作系统中,主处理器上执行操作系统程序,以控制其它从处理机的状态,并为从处理机分配任务。DEC system 10 ,Cyber 170 以及多处理机UNIX系统MPX都是主从式结构.在主从式操作系统中,如果从处理机需要主处理机提供服务时,它们采用硬件中断方式中断处理机上执行的进程以要求主处理机提供服务.这种结构的操作系统一般重组功能较差,因为只有主处理机上执行操作系统程序.如果主处理机失败或发生不可恢复的错误时,整个系统将会瘫痪.

独立监控系统不像主从结构那样易于崩溃,但其监控程序在各处理机中的副本会占去大量的内存. (2)独立监控系统(Separate supervisor) 独立监控系统的监控程序在每个处理机上执行, 每个处理机为自己的需要提供服务又互相通报执行情况.一般来说,每个监控程序能重新装入或在不同的处理机上复制独立的副本. 独立监控系统不像主从结构那样易于崩溃,但其监控程序在各处理机中的副本会占去大量的内存. 列如: IBM 370/158

移动式监控系统:移动式监控系统把监控程序根据需要从一个处理机移到另一个处理机上.使所有资源有比较均衡的负载. (3)移动式监控系统(floating supervisor) 移动式监控系统:移动式监控系统把监控程序根据需要从一个处理机移到另一个处理机上.使所有资源有比较均衡的负载. 移动式监控系统的处理机调度以及服务请求冲突等大都采用优先级的方式来解决.所以 移动式监控系统是一种效率最高,实现最难的多处理操作系统. IBM 3081上运行的MVS,VM以及C·mmp上运行的Hydra

3. 多处理机系统调度策略 (1) 多处理机系统与单机调度的区别 多处理机调度与单机调度的主要区别涉及两个资源分配问题: 一是存放程序或数据的存储器分配及如何访问他们的问题。 在多机系统中,由于各进程在物理上也同时执行而不是单机系统那样的交叉执行,这些在物理上同时执行的进程可能同时访问物理存储器的同一地址。处理机对同一存储块的访问必须是顺序的。各进程同时访问物理存储器上的同一地址是不允许的。

二是将等待执行的就绪进程分配到哪一个处理机上执行的问题。 在单机系统中,由于只有一个处理机,在调度程序中选取了某个就绪状态的进程之后,不须再选择处理机。而在多机系统中,为了尽量做到让各处理机负荷平衡,可能会将处理机在进程之间进行多次切换。如果被切换进程正在执行其临界区部分或系统中进程数目相当多,这种频繁的上下文转换将会使系统效率大大下降。

为了解决进程对处理机的分配问题,在有的多处理机系统中采用了局部就绪对列的方法限制进程的转移。 局部就绪对列:就是把处于就绪状态的进程分成不同的组,并使每一组进程和一个处理机对应起来。这样,每个处理机只执行以其对应就绪对列中的进程。各个就绪对列中的进程不断发生横向转移。这种方法减少了调度程序的开销。但是,处理机的使用率却因此下降。例如:系统中某个局部就绪对列中因等待进程较多而使得对应的处理机十分繁忙,而另外的处理机则因就绪对列为空而处于空闲状态。

多处理机系统的调度目标是:以最高的可靠性,使用最少的处理机在最短的时间内完成最多的可以并行完成的进程。

(2)多处理机的调度评价 多处理机的调度有两种评价模型: 一种是确定性模型,另一种是随机性模性。 确定性模型:进程调度执性之前,估计出这些被调度进程所须要的执行时间,以及这些进程之间的相互关系。 调度程序的目的:是根据给定的执行时间和相互关系,确定出一个最佳的执行顺序。 因此,确定性模型只用来确定给定进程的执行顺序,而随机性模性则常被用来研究动态调度技术。 (2)多处理机的调度评价