第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度.

Slides:



Advertisements
Similar presentations
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Advertisements

Process Scheduling based on Linux3.2 孟宁 电话: 孟宁 V5 : 主页:
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
第3章 实时任务管理 主讲: 黎忠文.
§3.4 空间直线的方程.
3.4 空间直线的方程.
计算机操作系统 期末复习二.
圆的一般方程 (x-a)2 +(y-b)2=r2 x2+y2+Dx+Ey+F=0 Ax2+Bxy+Cy2+Dx+Ey+ F=0.
操作系统 年级:2003春 专业:计算机应用专业.
Chapter Two Process Management.
总复习 级一本各专业.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
Chapter 6: CPU Scheduling CPU调度
实用操作系统概念 张惠娟 副教授 1.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度
第三章 处理机调度与死锁 本章主要理解进程调度和死锁的基本概念,熟悉进程调度的各种算法及适用范围,了解产生死锁的原因和必要条件,掌握如何预防、避免、检测、解除死锁的各种方法,特别是银行家算法。 重、难点: 进程调度算法 产生死锁的原因和必要条件 银行家算法.
第三章 处理机调度与死锁.
第三章 作业管理 3.1 作业管理的基本功能 3.2 作业调度 3.3 作业控制.
第六讲 进程控制与调度 目的与要求:理解进程切换过程,理解进程调度原因及调度切换时机,掌握进程调度方式与实现及各种调度算法,弄清作业和进程的关系,了解线程的引入原因。 重点与难点:进程切换的实现与进程调度算法。 作业:7, 8, 10, 11, 19, 20。
Oracle数据库 Oracle 子程序.
第10章 多处理器和实时调度 主要内容: 多处理器调度 实时调度 操作系统调度例 分类与粒度 设计问题 进程调度 实时进程的要求与特点
进程调度(Scheduling) 进程(Linux中称任务)定义:是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。 描述进程的三个方面: 程序的一次运行活动; 进程的运行活动是建立在某个数据集合之上的; 进程在获得资源的基础上从事自己的运行活动。
计算机基础知识 丁家营镇九年制学校 徐中先.
操作系统 (处理器管理) 徐锋 南京大学计算机科学与技术系.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
实验三:作业调度 作业调度算法模拟
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度(part II) 中国科学技术大学计算机系 陈香兰 Fall 2013.
CPU调度(Scheduling) 主讲教师:夏莹杰
操作系统原理 Operating System Principles
临界区软件互斥软件实现算法.
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
中国科学技术大学计算机系 陈香兰(0512- ) Autumn 2009
Online job scheduling in Distributed Machine Learning Clusters
临界区软件互斥软件实现算法 主讲教师:夏莹杰
CPU结构和功能.
李元金 计算机与信息工程学院 第 8 讲 处理机调度与死锁(2) 李元金 计算机与信息工程学院 1/
SOA – Experiment 2: Query Classification Web Service
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第四章 团队音乐会序幕: 团队协作平台的快速创建
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度 中国科学技术大学计算机系 陈香兰 Fall 2013.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
第五章 处理机管理 CPU Scheduling
第三章 处理机的调度和死锁.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第五章 处理机管理 CPU Scheduling
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
入侵检测技术 大连理工大学软件学院 毕玲.
9.6.2 互补对称放大电路 1. 无输出变压器(OTL)的互补对称放大电路 +UCC
《操作系统设计与实现》 第2章 进程.
Presentation transcript:

第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度

上节回顾 处理机调度概念:高级、中级、低级 P70 两种低级调度方式:抢占与非抢占 概念:周转时间、带权周转时间 P74 调度算法: 先来先服务 短作业优先 高响应比优先:响应比概念 时间片轮转法: 多级反馈队列:

多级队列:队列时间片长递增;优先权自动降低 抢占式 运行: 2. 多级反馈队列调度算法 多级队列:队列时间片长递增;优先权自动降低 抢占式 运行: 每级队列—先进先出 时间片完,自动降级 高级抢占低级 若在时间片内被抢占, 不降级,排到末尾 等待剩余时间的完成

图 3-5 多级反馈队列调度算法

3. 多级反馈队列调度算法的性能 终端型作业用户。 (2) 短批处理作业用户。 (3) 长批处理作业用户。

3.3 实 时 调 度 3.3.1 实时调度

3.3.1 实现实时调度的基本条件

2. 系统处理能力强 在实时系统中,通常都有着多个实时任务。若处理机的处理能力不够强,则有可能因处理机忙不过来而使某些实时任务不能得到及时处理, 从而导致发生难以预料的后果。假定系统中有m个周期性的硬实时任务,它们的处理时间可表示为Ci,周期时间表示为Pi,则在单处理机情况下,必须满足下面的限制条件: 假如系统中有6个硬实时任务,它们的周期时间都是 50 ms,而每次的处理时间为 10 ms,则不难算出,此时是不能满足上式的,因而系统是不可调度的。

解决的方法是提高系统的处理能力,其途径有二: 其一仍是采用单处理机系统, 但须增强其处理能力, 以显著地减少对每一个任务的处理时间; 其二是采用多处理机系统。假定系统中的处理机数为N,则应将上述的限制条件改为:

3. 采用抢占式调度机制 当一个优先权更高的任务到达时,允许将当前任务暂时挂起,而令高优先权任务立即投入运行,这样便可满足该硬实时任务对截止时间的要求。但这种调度机制比较复杂。 对于一些小的实时系统,如果能预知任务的开始截止时间,则对实时任务的调度可采用非抢占调度机制,以简化调度程序和对任务调度时所花费的系统开销。但在设计这种调度机制时,应使所有的实时任务都比较小,并在执行完关键性程序和临界区后,能及时地将自己阻塞起来,以便释放出处理机, 供调度程序去调度那种开始截止时间即将到达的任务。

4. 具有快速切换机制 该机制应具有如下两方面的能力: (1) 对外部中断的快速响应能力。为使在紧迫的外部事件请求中断时系统能及时响应,要求系统具有快速硬件中断机构,还应使禁止中断的时间间隔尽量短, 以免耽误时机(其它紧迫任务)。 (2) 快速的任务分派能力。在完成任务调度后,便应进行任务切换。为了提高分派程序进行任务切换时的速度, 应使系统中的每个运行功能单位适当的小,以减少任务切换的时间开销。

3.3.2 实时调度算法的分类 1. 非抢占式调度算法 非抢占式轮转调度算法。 (2) 非抢占式优先调度算法。

2. 抢占式调度算法 基于时钟中断的抢占式优先权调度算法。 (2) 立即抢占(Immediate Preemption)的优先权调度算法。 图 3-6 实时进程调度

3.3.3 常用的几种实时调度算法 1. 最早截止时间优先即EDF(Earliest Deadline First)算法

2. 最低松弛度优先即LLF(Least Laxity First)算法 该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高, 以使之优先执行。 一个任务在200ms时必须完成,它本身所需的运行时间有100ms,因此,调度程序必须在100 ms之前调度执行,该任务的紧急程度(松弛程度)为100 ms。 任务在400 ms时必须完成,它本身需要运行 150 ms,则其松弛程度为 250 ms。

2. 最低松弛度优先即LLF(Least Laxity First)算法 算法要求 1、系统中有一个按松弛度排序的实时任务就绪队列, 2、松弛度最低的任务排在队列最前面 3、调度程序总是选择就绪队列中的队首任务执行。 该算法主要用于可抢占调度方式中。

该假如在一个实时系统中,有两个周期性实时任务A和B,任务A要求每 20 ms执行一次,执行时间为 10 ms;任务B只要求每50 ms执行一次,执行时间为 25 ms。 周期内任务只执行一次 松弛度为0时发生抢占

在刚开始时(t1=0),A1必须在20ms时完成,而它本身运行又需 10 ms,可算出A1的松弛度为10ms;B1必须在50ms时完成, 而它本身运行就需25 ms,可算出B1的松弛度为25 ms,故调度程序应先调度A1执行。在t2=10 ms时,A2的松弛度可按下式算出:  A2的松弛度=必须完成时间-其本身的运行时间-当前时间 =40 ms-10 ms-10 ms=20 ms

B1的松弛度为15ms,调度程序选择B1运行。 t3=30 ms时,A2抢占B1。 t4=40 ms时,重新调度B1。 t5=45 ms时,调度A3执行。 t6=55ms时,调度B2执行 t7=70 ms时,A4抢占B2

图 3-9 利用LLF算法进行调度的情况

3.4 多处理机系统中的调度 3.4.1 多处理器系统的类型 (1) 紧密耦合(Tightly Coupted)MPS。 这通常是通过高速总线或高速交叉开关,来实现多个处理器之间的互连的。它们共享主存储器系统和I/O设备,并要求将主存储器划分为若干个能独立访问的存储器模块,以便多个处理机能同时对主存进行访问。系统中的所有资源和进程,都由操作系统实施统一的控制和管理。

(2) 松散耦合(Loosely Coupled)MPS。 在松散耦合MPS中,通常是通过通道或通信线路,来实现多台计算机之间的互连。每台计算机都有自己的存储器和I/O设备,并配置了OS来管理本地资源和在本地运行的进程。因此,每一台计算机都能独立地工作, 必要时可通过通信线路与其它计算机交换信息,以及协调它们之间的工作。

2. 对称多处理器系统和非对称多处理器系统 (1) 对称多处理器系统SMPS(Symmetric MultiProcessor System)。 在系统中所包含的各处理器单元,在功能和结构上都是相同的, 当前的绝大多数MPS都属于SMP系统。例如,IBM公司的SR/6000 Model F50, 便是利用4片Power PC处理器构成的。 (2) 非对称多处理器系统。在系统中有多种类型的处理单元, 它们的功能和结构各不相同,其中只有一个主处理器,有多个从处理器。

3.4.2 进程分配方式 1. 对称多处理器系统中的进程分配方式 在SMP系统中,所有的处理器都是相同的,因而可把所有的处理器作为一个处理器池(Processor pool),由调度程序或基于处理器的请求, 将任何一个进程分配给池中的任何一个处理器去处理。在进行进程分配时,可采用以下两种方式之一。 1) 静态分配(Static Assigenment)方式 2) 动态分配(Dynamic Assgement)方式

2. 非对称MPS中的进程分配方式 对于非对称MPS, 其OS大多采用主—从(Master-Slave)式OS, 即OS的核心部分驻留在一台主机上(Master), 而从机(Slave)上只是用户程序, 进程调度只由主机执行。 每当从机空闲时, 便向主机发送一索求进程的信号, 然后, 便等待主机为它分配进程。 在主机中保持有一个就绪队列, 只要就绪队列不空, 主机便从其队首摘下一进程分配给请求的从机。从机接收到分配的进程后便运行该进程, 该进程结束后从机又向主机发出请求。

利用多台处理机来管理整个系统

3.4.3 进程(线程)调度方式 1. 自调度(Self-Scheduling)方式 1) 自调度机制 在多处理器系统中,自调度方式是最简单的一种调度方式。它是直接由单处理机环境下的调度方式演变而来的。 在系统中设置有一个公共的进程或线程就绪队列, 所有的处理器在空闲时,都可自己到该队列中取得一进程(或线程)来运行。在自调度方式中,可采用在单处理机环境下所用的调度算法,如先来先服务(FCFS)调度算法、最高优先权优先(FPF)调度算法和抢占式最高优先权优先调度算法等。

2) 自调度方式的优点 自调度方式的主要优点表现为:首先,系统中的公共就绪队列可按照单处理机系统中所采用的各种方式加以组织; 其调度算法也可沿用单处理机系统所用的算法,亦即,很容易将单处理机环境下的调度机制移植到多处理机系统中, 故它仍然是当前多处理机系统中较常用的调度方式。其次, 只要系统中有任务,或者说只要公共就绪队列不空,就不会出现处理机空闲的情况,也不会发生处理器忙闲不均的现象,因而有利于提高处理器的利用率。

3) 自调度方式的缺点 瓶颈问题。 (2) 低效性。 (3) 线程切换频繁。

2. 成组调度(Gang Scheduling)方式 在成组调度时,如何为应用程序分配处理器时间, 1) 面向所有应用程序平均分配处理器时间 有利于少线程的进程 2) 面向所有线程平均分配处理器时间 有利于多线程的进程

3.专用处理器分配调度方式

3. 专用处理器分配(Dedicated Processor Assigement)方式 图 3-11 线程数对加速比的影响