导图社区 《计算机操作系统》
《计算机操作系统》第10章 ,多处理操作系统思维导图
编辑于2020-11-03 09:58:22第十章 多处理操作系统
首先介绍多处理机系统的基本概念、特征、分类、结构等相关基础知识
10.1 多处理系统MPS的基本概念
10.1.1 多处理机的引入
10.1.2 多处理机系统的类型
1、从互连后的耦合的紧密程度
紧密耦合MPS:通过高速总线或高速交叉开关来实现的
松散耦合MPS:通过通道或通信链路来实现多台计算机的互连
2、从所用的处理器是否相同
对称MPS:使用的处理器在功能和结构上都是相同的,大多数都是这样的
SMP是最常用的
非对称MPS:使用的处理器功能、结构各不相同,只有一个主处理器,多个从处理器
10.2 多处理系统的结构
10.2.1 统一内存访问UMA多处理机系统的结构
1、基于单总线的SMP结构
即多个处理机和一个共享存储器在一条总线上
缺点:易引起多个处理器对总线资源的争夺,随着处理机增加,问题会越发严重
方法:在每个CPU中设置一个高速缓存
作用:将该处理器常用的数据存放在本地的高速缓存,减少对总线的访问频率
2、使用多层总线的SMP结构
即多个处理器和一个共享存储器在一条系统总线上,而每个处理器又通过本地总线访问其本地私有存储器
优点:在相当程度上减少CPU对共享存储器的访问
3、使用单级交叉开关的系统结构
即所有的处理器和共享存储器,通过交叉开关阵列相互连接,每个交叉开关为其中两个结点建立一个连接通路
特征
1、交叉点一般是N*N的阵列,每一列和每一行同时只有一个点出于开状态
2、允许一行同时接通多个交叉开关
3、交叉成本较大,限制了在大规模系统的应用
4、使用多级交叉开关的的系统结构
即使用多级的交叉开关,如2*2的交叉开关,双输入双输出
优点:极大减少了交叉成本,能够很好地分散流量
缺点:不适合大型的多处理机系统,随着CPU的增加,总线的访问资源依然是个严重的问题
10.2.2 非统一内存访问NUMA多处理机的结构
概念:其访问时间随着存储字的位置不同而变化,分配在系统中的公共存储区和所有处理及的本地存储器共同构成系统的全局空间
目的:适用于大型的多处理系统
方法:设置多层的存储器,尽量使用本地和群内存储器就能够保证总线资源是足够的
1、NUMA的结构和特点
1、NUMA有多个处理机模块,每个处理机模块有多个CPU
2、处理机模块中,每个CPU都有一个本地存储器,然后又能在模块中通过局部总线访问群内共享存储器。
3、处理器模块中,每个CPU又配置了一个高速缓冲,同时配置一个目录记录每个缓冲块的指令
4、所有的处理机模块通过公用总线能够访问公共存储器
10.3 多处理操作系统的特征与分类
1、特征
并行性、分布性、机间的通信和同步性、可重构性
2、与单处理机系统不同的功能
1、进程管理
进程同步
单处理机:各个进程只会交替执行,不会发送两个进程在同一时刻访问痛同一个共享资源的问题
多处理机:由于进程的并发性,可能有多个进程同时访问一个共享资源
进程通信
单处理机:可以直接通过“共享存储器”进行通信
多处理机:广泛采用间接通信方式
进程调度
单处理机:进程调度知识简单地按照一定的算法,从就绪队列中选择一个进程
多处理机:提高程序执行的并行性
2、存储器管理
还需要增强地址变换机构、访问冲突仲裁机构、数据一致性机制
3、文件管理
单处理机:采用集中式文件系统
多处理机
集中式、分散式、分布式
4、系统重构:指多处理机系统,系统中某个处理机发生故障,系统需要自动切除故障资源并换上备份资源
3、类型
主从式
独立监督式
优缺点:自主性强、可靠性高、实现复杂、存储空间开销大、处理机负载不平衡
适合松散耦合性多处理系统
浮动监督式
最复杂、最有效、最灵活的
适合紧密耦合的对称多处理系统
讲述多处理机系统下的进程同步、进程调度问题
10.4 多处理机系统下的进程同步
10.4.1 集中式与分布式同步方式
中心同步实体:指用于实现进程之间通信的同步实体,如硬件锁、信号量
特征
1、具有唯一的名字,且同步进程都知道
2、在任何时刻,只能有一个访问该中心同步实体
同步算法
集中式同步算法
特征
1、多个进程同时访问共享资源或通信时,仅由中心控制结点判定
2、判定的信息都存储在中心控制节点
缺点:可靠性差、易形成瓶颈
分布式同步算法
特征
1、所有结点具有相同的信息,仅能基于本地信息做出判断
2、所有结点做出判断时,负责相同的职责,且付出同样的工作量
进程同步:同步多个进程对共享资源的访问,也就是控制好进程执行的顺序,保证处理机有条不紊的工作
同步机构
1、自旋锁(spin block)
概念:在总线上设置一个自旋锁,当进程占有该自旋锁后,其余进程企图访问就会一直“旋转”,即循环测试
适用于:被保护的共享资源需要中断上下文切换或调用进程所保护的临界区很短,就应使用自旋锁
分类:普通自旋锁、读写自旋锁、大读者自旋锁
2、 读-拷贝-修改(RCU)锁
解决问题:自旋锁不允许在写的同时去读
概念:写进程先去读资源,然后将资源拷贝出来一份,在副本进行写,原本上所有读进程可以直接读,不用请求
优点:读者不会被阻塞、无需为共享文件设置同步机构
缺点:如果执行的是大量的写操作,最好还是用自旋锁
3、 二进制指数补偿算法和待锁CPU等待队列机构
二进制指数补偿算法
解决问题:每次共享资源被占有后,其余CPU就要不断对锁进程测试,造成总线流量拥塞
基本思想:为每一个CPU进行锁测试的指令设置一个指令延迟执行时间,每次按二进制指数方式增加
优点:明显降低总线的访问量
待锁CPU等待队列机构
解决问题:二进制指数补偿算法中,有可能一段时间没有CPU去测试总线上的锁,而是都处于等待延迟
基本思想:占用该资源的CPU中有一个待锁CPU清单,当自己释放资源时,在本地的高速缓存中找到待锁CPU清单,将第一个CPU的记录的私有锁变量,允许它进入临界
4、 定序机构
时间邮戳定序机构
事件计数同步机构
算法
面包房算法
令牌环算法
10.5 多处理机系统下的进程调度
10.5.1 评价调度性能的若干因素:任务流时间、调度流时间、平均流、处理机利用加速比 、吞吐量
10.5.2 进程分配方式
1、对称多处理系统下的进程分配
1、静态分配:一个进程从开始到执行结束都必须分配在一个处理器上执行,进程阻塞后,就挂在本处理器上的就绪队列
2、动态分配:一个进程可以分配到多个处理器上执行,进程阻塞后就挂载系统的公共就绪队列
2、非对称多处理系统下的进程分配
由于一般采用主从式,进程调度由主机执行即可
10.5.3 进程(线程)调度方式
1、自调度方式
2、成组调度方式
3、专用处理机分配方式
4、动态调度
10.5.4 死锁
1、多处理机下的死锁类型:资源死锁、通信死锁
2、死锁的检测和解除
1、集中式检测
2、分布式检测
举例:讲解两种多处理机系统
10.6 网络操作系统
10.6.1 网络和网络体系结构
10.6.2 网络操作系统分类
10.6.3 网络操作系统的功能
见《计算机网络原理》
10.7 分布式文件系统DFS
10.7.1 分布式系统
分布式系统的特征
透明性:所有计算机共享系统资源
分布性:系统由多台计算机组成,包括地理位置上、资源分布上、系统的控制上、功能的分布上
同一性:系统中若干的计算机可以协同工作服务于一个任务
全局性:系统具备一个全局性的进程通信机制,从逻辑上所有主机都是一个整体
优点:计算能力强,易于实现共享、方便通信、可扩展性好、可靠性高
10.7.2 分布式文件系统实现方式和基本要求
概念:分布式文件系统是配置在分布式系统上的公用操作系统
实现方式
共享文件系统方式:数据存储若干个文件服务器
共享磁盘文件:配置一个共享磁盘
基本要求:透明性、容错性、安全性、一致性
10.7.3 命名与共享语义
命名:就是在数据的逻辑对象和物理对象之间建立映射
共享语义:决定多个客户共享文件的效果
10.7.4 远程文件访问和缓存
10.7.5 容错