第6章 多处理器系统和处理器管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章 多处理器系统和处理器管理 操作系统基础 3
6.1 多处理器系统
• 如:编译程序利用隐性并行性的技术方法: 1)循环分配 循环体内的语句可能并行。 2)树高降低 利用算术运算用的各种定律降低树高增加并行性。 3)“不等待”规则 加快程序执行的措施(非并行性算法),将将来可 能用到的运算提前执行。
第6章 多处理器系统和处理器管理 操作系统基础 8
6.1 多处理器系统
第6章 多处理器系统和处理器管理
操作系统基础
9
6.1 多处理器系统
• 6.1.4 多处理器系统的分类 按处理器之间的通信方式来划分类型(Flynn方法) 1、多处理器簇(松散耦合系统) -每个处理器都有自己的专用存储器; -计算机间通信经专用的线路进行。
管理方便:比多计算机系统容易管理; 灵活性:可灵活的通过加、减处理器改变系统的性能。
第6章 多处理器系统和处理器管理 操作系统基础 2
6.1 多处理器系统
• 6.1.2 多处理器系统并行性的提高 如何实现多处理器系统的并行处理。 人工寻找 1、程序设计 程序设计人员找出程序中可并行处理的部分, 用并行程序设计语言表达。 问题:-工作量大,费时; -难以发现并行部分,因而失去并行性; -错把不能并行的部分并行,易于出错; -程序设计难度大。 自动检测,难度较大 2、并行性的自动检测 由操作系统、编译系统和硬件自动的分析程序 中的隐性并行性。
进程调度投入运行,选择新的进程占有处理机)。
第6章 多处理器系统和处理器管理 操作系统基础 28
6.4 单处理器系统的处理器调度
• 处理器调度决定处理器时间的分派 -决定那个进程(线程)在处理器上运行 -由专门的程序实现调度,称为调度程序 • 调度的时机 -什么时刻调度程序运行 !时钟中断 !I/O中断 !访管中断 !信号(信号量操作) -调度程序运行将引发进程状态的改变
第6章 多处理器系统和处理器管理
操作系统基础
17
6.3 调度的层次和作业调度
• 1、长期调度(高级调度、作业调度) 1)自外存选择作业进入内存 2)分配I/O资源 注意高级调度同中 级调度的区别! 3)建立进程 4)作业执行结束后回收系统资源 2、中期调度(中级调度、交换调度) 1)决定那些进程可以参与竞争CPU 2)内外存负荷的平衡:挂起就绪<──>活动就绪 挂起阻塞<──>活动阻塞 (外存) (内存) 交换调度涉及到内存,所以也可以归为内存管理部分。
第6章 多处理器系统和处理器管理 操作系统基础 15
6.2 对称式多处理器系统(SMP)
• 2、调度:多个处理器的调度问题; 3、同步:多处理器上运行的进程由于共享资源及相互 协作而产生的同步问题; 4、存储管理:共享存储器而产生的一致性和互斥问题; 5、可靠性和容错:可检测到出错处理器, 并重新组织数据结构等。 重要的区别 在于系统资 源的管理
权,如建立,撤消
控制权交给进 程调度 调度进程的 就绪队列
第6章 多处理器系统和处理器管理
操作系统基础
27
6.3 调度的层次和作业调度
• 补充2、进程调度的功能 1)记录系统内所有进程的执行情况,通过PCB实现 2)选择占有处理机的进程 选择策略: 静态优先级调度算法
轮转法
多级反馈轮转法等
3)控制进程间状态的转换(间接的,如有进程阻塞后,
•第6章 多处理器系统和 处理器管理
操作系统基础
1
6.1 多处理器系统
• 计算机有多个处理器
多处理器系统的目标是提高计算机系统的运算速度。
6.1.1 多处理器系统的优点 可靠性:某个处理器发生故障,其它处理器可接替工作; 平行性:可实现进程、线程间在多处理器上的并行;
高性能:可增强计算机的计算能力;
第6章 多处理器系统和处理器管理 操作系统基础 18
6.3 调度的层次和作业调度
• 3、短期调度(低级调度、进程调度) 1)分配CPU给进程 2)进程的状态转换 低级调度(进程调度)是OS的核心部分,常驻内存。 进程调度决定了那个进 程可占有CPU。

第6章 多处理器系统和处理器管理
操作系统基础
19
6.3 调度的层次和作业调度
• 2)作业控制块JCB 由SPOOLING系统建立,记录作业相关信息的数据结
构。
1)标志了作业的存在 2)记录作业所有信息 3)作业调度进行调度的依据 JCB的结构:见:pp122图6.8 JCB的作用与 PCB的作用 基本相同!
第6章 多处理器系统和处理器管理
操作系统基础
22
6.3 调度的层次和作业调度
6.8 第6章 多处理器系统和处理器管理 操作系统基础 23
6.3 调度的层次和作业调度
• 2、作业调度及其功能 作业调度:按照某种调度算法从后备队列中挑选作业
进入主存运行。
1)调度原则
1)对所有作业公平合理
2)设备有较高的利用率 3)能运行尽可能多的作业 4)有较快的响应时间
进程执行完本 次CPU时刻
第6章 多处理器系统和处理器管理
进程进入队列时刻
操作系统基础 33
6.4 单处理器系统的处理器调度
• 几个作业(或进程)的平均周转时间:
T=1/n(∑Ti)
T可用来衡量不同调度算法对同一作业(进程)的调
第6章 多处理器系统和处理器管理 操作系统基础 12
6.2 对称式多处理器系统(SMP)
• 6.2.1 对称式多处理器系统的基本概念 特点: 1、系统中有多个处理器,所有的处理器地位平等;
-每个处理器都可以运行操作系统和内核程序处理中断、 调度进程等; -每个处理器都可以控制I/O设备和系统中其他设备。
操作系统基础
7
6.1 多处理器系统
• 2、交叉式开关结构(见pp117图6.4) 通过纵横开关把横向的处理器和纵向的存储器相连接。 -连接硬件复杂; -必须解决访问冲突问题。
3、多端口存储器结构(见pp117图6.5) 通过存储器模块的端口(读、写端口)实现存储器与 处理器的连接。 -存储器配有(多个)读写端口; -相同端口连接在一起; -端口带有端口控制逻辑;
第6章 多处理器系统和处理器管理 操作系统基础 16
6.3 调度的层次和作业调度
6.3.1 调度的层次
此图说明了 交换调度 一个作业自建立 中级调度 到 中期调度 输出结果 的历程 调入 占有CPU
作业1 作业2 ……
输入 外存 作业调度 宏观调度 高级调度 长期调度
内存
执行
输出
作业n
进程调度 微观调度 低级调度 短期调度
第6章 多处理器系统和处理器管理
操作系统基础
32
6.4 单处理器系统的处理器调度
• 6.4.2 调度算法 按一定的原则调度作业或进程投入运行的方法(作业或 进程调度) 一、衡量调度算法的指标 1)平均周转时间 作业i从提出时刻tis到完成时刻tic的经历时间。即: 作业周转时间:Ti=tic-tis 进程周转时间:Ti=tic-tis
第6章 多处理器系统和处理器管理
操作系统基础
24
6.3 调度的层次和作业调度
• 2)作业调度的功能 1)按某种原则从后备作业队列中挑选作业 2)分配主存和其他资源(除CPU) 3)为选中的作业建立第一个进程
4)构造和填写JCB
5)作业运行结束后善后处理 3)作业调度流程图
第6章 多处理器系统和处理器管理
调用进程管理 程序建立进程
第6章 多处理器系统和处理器管理
6.3 调度的层次和作业调度
• 补充1、作业调度与进程调度的关系 进程调度从就绪队列中挑选一个进程占有处理机运行。 作业调度 进程调度 进程占有CPU
(建立进程)
选进程进入主存
(位于OS内核)
通过原语实现:
使其具有占有
CPU的可能
分配CPU的使用
11
6.1 多处理器系统
• 6.1.5 主/从式处理器系统(非对称处理器系统) -系统中有主处理器; -主处理器运行操作系统,从处理器运行用户程序; -系统的调用通过跨机中断实现; -主处理器上有等待队列。
优点: !简化了系统互斥问题(仅一个处理器可运行OS); !操作系统代码可以是不可重入的。 缺点:!主处理器负荷重; !系统可靠性差(主处理器瓶颈); !从处理器的效率不高。
操作系统基础
25
作业调度流程图:
提交 后备队列空? 退出 转进程调度 后备
运行
完成
按调度算法 选中一个作业
调用存储管理 设备管理,审 核作业资源要求
调用存储管理、设备管理 回收资源
调用会计程序计算费用
放弃该作业
资源能满足? 撤消作业所有进程及PCB
分配资源 调度下一个作业 (去查后备队列)
操作系统基础 26
第6章 多处理器系统和处理器管理 操作系统基础 4
6.1 多处理器系统
第6章 多处理器系统和处理器管理
操作系统基础
5
6.1 多处理器系统
• 6.1.3 多处理器系统的硬件组织 技术关键是处理器、输入输出处理器和存储部件的 联结方式。 1、总线式结构 各部件通过总线相连,构成分时总线或公共总线系统。
优点:简单、便宜,硬件连接拆除方便。 问题:总线竞争引发: -共享总线使速度和带宽降低; -总线是瓶颈,可引起灾难性的故障。
改进的模式:多总线系统(见pp116图6.2,6.3) -需增加总线控制逻辑。
第6章 多处理器系统和处理器管理 操作系统基础 6
6.1 多处理器系统
第6章 多处理器系统和处理器管理
第6章 多处理器系统和处理器管理 操作系统基础 30
6.4 单处理器系统的处理器调度
• 6.4.1选择调度算法时应考虑的问题 1、设计目标: 例如: 批处理系统:效率问题
实时系统:实时性问题
分时系统:及时响应性问题
综合性 能要求 决定算 法选择
2、资源利用率:最大限度的发挥资源的作用
第6章 多处理器系统和处理器管理
6.3 调度的层次和作业调度
• 6.3.2 作业状态 作业也有生命周期,作业提交给系统直到运行结束, 可能有如下状态及其状态转换:
作业调度 SPOOL 系统 运行
内存
执行
提交
后备 就绪 阻塞
完成
进程调度 交换调度 挂起 就绪
第6章 多处理器系统和处理器管理
挂起 阻塞
操作系统基础 Fra Baidu bibliotek0
6.3 调度的层次和作业调度
2、系统中所有的处理器共享存储器,没有私有的主存 储器。 (见pp119图6.7)
第6章 多处理器系统和处理器管理 操作系统基础 13
6.2 对称式多处理器系统(SMP)
第6章 多处理器系统和处理器管理
操作系统基础
14
6.2 对称式多处理器系统(SMP)
• 6.2.2 多处理器操作系统 与单机操作系统没有原则上的不同,更多的是技 术层次上的差别。多处理器操作系统仍然是实现资源 管理。 最大的差别在于处理器管理(包括处理器调度) 主要涉及: 1、多个进程或线程并发执行(同单机系统不同); -多个进程可能同时运行内核代码,要求代码可重入; -数据库需很好的保护,如:死锁,互斥,挨饿问题。
2、共享存储器系统(紧密耦合系统) -多个处理器共享存储器; -处理器间的通信经由存储器进行。 -可划分为: !主/从式多处理器结构; !对称式多处理器系统。 (分类方法见pp117图6.6)
第6章 多处理器系统和处理器管理 操作系统基础 10
6.1 多处理器系统
第6章 多处理器系统和处理器管理
操作系统基础
操作系统基础
31
6.4 单处理器系统的处理器调度
• 3、均衡处理系统和用户的要求
一对矛盾 系统要求:提高利用率
用户要求:及时响应(作业独占)
4、优先运行优先级高的进程(优先级调度方法) 5、优先级调度方法中的“可抢占”和“不可抢占”策略 不可抢占:除自己的原因外不可被其他进程抢占CPU 可抢占:允许其他进程抢占CPU
• 6.3.3 作业的调度 实现作业由后备状态向完成状态的转换。 1、后备作业队列和作业控制块
1)后备作业队列
输入到磁盘内的作业按作业的类型分成多个后备作
业队列。
作业的类型可分为:CPU型:大量的时间使用CPU计算 I/O型:有较多的I/O操作 例如:按作业到达的顺序;按作业的优先级别等。
第6章 多处理器系统和处理器管理 操作系统基础 21
操作系统基础 29
6.4 单处理器系统的处理器调度
• 例如:(进程调度的时机) 1)正在执行的进程执行结束 2)正在执行的进程自己阻塞自己 3)正在执行的进程进行了wait、signal操作: 如:Wait操作,由于资源不足而阻塞自己 Signal操作,唤醒了优先级高的进程 4)正在执行的进程提出了资源要求 5)分时系统中时间片到时 6)执行完系统调用后,重新调度(有的系统采用) 7)就绪队列中新增高于正在执行进程优先级的进程
相关文档
最新文档