高级操作系统讲义aWord格式文档下载.docx
- 文档编号:20033745
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:22
- 大小:46.50KB
高级操作系统讲义aWord格式文档下载.docx
《高级操作系统讲义aWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《高级操作系统讲义aWord格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
用户不知道有多少个拷贝存在
并发透明
多个用户可以自动的共享资源
并行透明
系统活动可以在用户没有感觉的情况下并行发生
分布式系统的优点
1性能价格比高
2速度
3内在的分布性
3可扩充性
5可靠性
6适用于多种环境
分布式系统的不足
1管理复杂
2性能和可靠性依赖于网络
3保密性差
4应用软件少
项目
描述
软件
目前为分布式系统开发的软件还很少
网络
网络可能饱和和引起其它的问题
安全
容易造成对保密数据的访问
分布式系统的资源管理
1全集中管理方式
一个资源由一个管理机制管理。
2分担管理方式
一个资源虽由几个管理机制管理,但各分担一种管理职能。
3轮流管理方式
一个资源可由几个管理机制管理,但轮流执行管理职责。
4全分散管理方式
一个资源由多个管理机制在协商—致的原则下共同管理。
性能比较:
基本开销:
连接系统中的各个站点要多少花费?
通信开销:
从站点A发送信息到站点B需要多少时间?
可靠性:
分布式系统的拓扑结构
1全互连结构
优点:
各场点间消息传递快,可靠性较高。
缺点:
开销高。
2部分互连结构
其开销比全互连结构低,但通信速度较全互连结构慢。
可靠性也相对较低。
3层次结构
通常情况下,其中的任何中间节点故障都可能将这种结构分割成若干不相交的子树。
因此,可靠性较低。
4星形结构
这种结构的基本开销与场点个数成正比,这种通信速度却是没有保障的,因为中央场点可能变成瓶颈。
5环形结构
基本开销较低,但通信代价可能较高。
6总线结构
这类结构的开销同场点成正比,通信代价也很低。
7立方体结构
计算机支持的协同工作系统
(CSCW,ComputerSupported
CooperativeWork),也是一种
分布式系统。
CSCW特点:
群体性、交互性、分布性、协同性。
CSCW具体类型:
(1)电子邮件系统
(2)电子布告栏系统(BBS,BulletinBoardSystem)
(3)群体决策支持系统
(4)协同编辑系统
(5)计算机会议系统
(6)协同计算机开发环境
多机OS的基本结构
主从式独立式分布式
分布式OS
分布式计算机系统(DistributedComputingSystems)是由多个分散的计算机经互连网络连结而成的计算机系统。
其中各个资源单元(物理或逻辑的)既相互协同又高度自治。
能在全系统范围内实现资源管理,动态地进行任务分配或功能分配而且能够并行地运行分布式
程序。
分布式操作系统是为分布式计算机系统配置的操作系统。
系统任务可以在系统中任何别的处理机上运行。
并提供高度的并行性和有效地同步算法和通信机制,自动实行全系统范围的任务分配并自动调节各处理机的工作负载.为用户提供一个方便、友善的用机环境。
分布式系统与网络系统是有区别的。
从操作系统的角度来看,网络操作系统是为计算机网络配置的操作系统,网络中的各台计算机配置各自的操作系统,而网络操作系统把它们有机地联系起来。
操作系统的形成和发展阶段:
1.手工操作阶段
每个程序员都必须亲自动手操作计算机:
装入卡片或纸带,按电钮,查看存储单元等。
2.批量处理阶段
用户不用与计算机直接打交道,而是通过专门的操作员来完成作业的输入和输出。
3.操作系统形成阶段
多道程序和分时系统的出现,标志着操作系统的正式形成。
1)多道程序设计的定义
所谓多道程序设计,是指同时把若干个作业存放在内存中,并且同时处于执行过程中。
但是在某时刻只能有一个程序占用CPU执行。
2)分时系统
所谓分时系统,就是在一台计算机上,连接若干个终端,用户通过这些联机终端设备采用交互方式把他的程序和数据输入到计算机中,并同时控制程序的执行。
操作系统分类:
1.单用户操作系统
在这种操作系统控制下,计算机系统串行地执行用户程序,即在执行完一个用户程序后
才接受另一个用户程序。
一些微机上配置的操作系统大多数就属这种类型。
2.批处理操作系统
在这种操作系统的控制下,计算机系统可以同时接受多个多用户程序,一批批地进行处
理。
批处理操作系统一般都提供多道程序设计功能,允许多个程序同时装入内存执行。
3.分时操作系统
分时操作系统又称多用户操作系统,在这种操作系统的控制下,多个用户可以通过各自
的终端同时使用一台计算机。
分时操作系统有三个明显的特点:
多路性,交互性和独占性。
4.实时操体系统
实时操作系统是为实时计算机系统配置的一种操作系统,在这种操作系统的控制下,计
算机系统能及时地响应外部事件的请求,在规定的时间内尽快地完成对该事件的处理,并有
效地控制所有实时设备和实时任务协调地进行。
在设计这类操作系统时,首先要考虑系统的
实时性和可靠性,其次才是效率。
5.网络操作系统
网络操作系统是为计算机网络配置的操作系统。
网络中的各台计算机配置有各自的操作系统,而网络操作系统把它们有机地联系起来,因此,它除了具有常规操作系统所应具备的存贮管理、处理机管理、设备管理、信息管理和作业管理等功能外,还具有以下网络管理功能:
高效可靠地网络通信能力以及多种网络服务功能。
6.分布式操作系统
7.多处理机操作系统
多处理机系统是由多台处理器组成的计算机系统。
多处理机系统可分成两大类:
基于
共享存储的多处理机系统和基于分布存储的多处理机系统。
前者称为紧耦合多处理机系统,而后者称为松耦合多处理机系统。
多处理机系统也称为并行计算机系统。
并行机上使用的操作系统称为并行操作系统。
分布式OS的控制策略
集中决策分布决策
信息交换合作
分布式OS设计中的关键问题(目标)
1透明性2灵活性
3可靠性
4性能5可扩展性
分布式操作系统主要特点:
1进程通信不能借助于公共存
储器,常采用信息传递方式;
2系统中的资源分布于多个站
点,进程调度、资源分配、系
统管理必须满足分布式处理要
求,采用一致性、强健性的
分布式算法;
3适时地协调各站点的负载;
4故障检测、恢复、系统重构
1分布式系统,首先必须有一个单一的、全局的进程间的通信机制,从而使任何进程都可以和其它进程进行通信。
2不同机器上,进程管理也相同。
进程建立、撤消、启动、停止都相同。
3文件系统也必须看起来是相同的。
同时,每个文件应该是在所有地方都是可见的,当然,这必须遵守保护和安全性约束的限制。
需要一个全局的文件系统。
4在系统的所有地方都使用相同的系统调用接口。
基于总线的多处理机
在CPU和总线之间增加一个高速缓冲存储器(cachememory),如图1-5所示。
缓冲存储器保留着最近刚存取过的字。
所有的内存访问请求都要经过它。
如果请求的字在缓冲存储器中,缓冲存储器就会直接响应CPU,而不产生总线请求。
如果缓冲存储器足够大的话,那么成功的可能性,称为命中率,将是很高的。
而且每个CPU的总线通信量也会急剧下降,系统中也就能够容纳更多的CPU。
通常,缓冲存储器的大小从64K到1M,命中率经常可以达到90%或更高。
Bus
图基于总线的多处理机
Cache的一致性问题;
第二章分布式通信
2.1消息传递
2.2组通信
2.3远程过程调用RPC
单处理机系统中
共享存储器
分布式系统实现进程间通信注意的
问题:
1无共享存储器,不能借助共享
变量的方法;
2机器间消息传递的可靠性低于
机器内信息传递的可靠性;
3系统内任意两台机器未必直接连
接,往往需要中转;
4系统内的各台机器型号可能不同;
5通信的实现与系统结构、通信线路
结构、通信介质的物理性能
等有密切关系。
进程间通信
进程间通信的实现方法:
可以是低级的,涉及系统调用,或者
通过语言级的支持实现
进程间通信方法主要有:
1消息传递
2管道
3sockets
4RPC
5供享内存
对象之间的通信手段:
CORBA,DCOM
选择进程间通信方法主要考虑的问题
1程序员对所选方法的熟悉程度
2进程间通信机制的透明性,程序员
知道得细节越少,出错得机会
也就越少。
3系统所支持的方法
4考虑系统的扩充
5支持进程的迁移,不同文件系统的
6通信机制的标准化问题
7通信机制的有效性
消息传递,物理上复制要共享的数据
到另外一个进程的地址空间。
下列情况,一般不常用消息传递
1两进程不共享内存空间
2在不同的系统中
5在同一系统中,每个进程有自己
的内存
消息通常是用消息包或帧的形式发送
的,通过OS提供的基本通信原语。
异步型同步型
阻塞原语实现进程不再阻塞,一般有
2种方法:
1轮询
利用测试原语,测试缓冲区的相关信
息(状态),忙等待。
2中断
也可以在非阻塞原语种利用。
轮询一直不成功,或者一直无中断,
这样会无限阻塞下去。
要有计时器,缺省的设置,或者程序
员控制
阻塞send&
receive
ProcedureA
Begin
Instructions
……
send(B,message)
//whereBisthedestination
//waitingforacknowledgment
//receivedsendacknowledgment
nextinstructions
End
ProcedureB
receive(A,message)
//whereAisthesource
//waitingformessage
//receivedmessage
消息传递(同步)适合于C/S模型
C/S模型的几个设计问题
1寻址
2阻塞和非阻塞原语
3有缓冲和无缓冲原语
4可靠和非可靠原语
管道
两进程间的通信通过内核在有限大
小的缓冲区上实现,这类原语通
过系统调用实现。
当缓冲区满时,引
起阻塞。
Sockets
通过网络的通信,不是共享数据结
构或文件。
用途:
1具有冗余结构的系统
2在分布式系统中查找
3多副本的更新
4各种通知
组通信的特性1原子性
2定序
组通信最简单的实现方式就是不可靠
组播,即简单地向每个目标
发送一条消息。
可靠组播:
一种实现方式是发送者向
一个组中所有成员发送消息,
然后等待每一个成员的回复。
RPC使用过程调用实现远程通信,
在传统的过程化程序设计
语言环境中,它的语义类似于本地
过程调用的语义,因此,它
可向应用层用户提供良好的接口。
Client进程←→Client’sStub
←→Server’sStub←→Server进程
程序员不知道调用的是一个远程过
程,还是一个本地过程,这
需要有相应的支持机制,将一台计
算机上语言级调用自动转化
为另一台计算机上相应的语言级调
用,实现变量和结果的传送。
调用者阻塞,等待返回值,而不是
仅仅一个确认值。
与各种程序设计语言一样,对参数
的数目和数据类型有限制。
RPC与本地调用的区别
1数据表示问题
如果RPC是在两种异构的机器上进
行的,不同机器数据表示可能
不同,包括机器的字长等。
2指针
在不具备共享地址空间的情况下,
RPC不可能允许在网络范围内
传递指针。
3故障
调用者和被调用者都可能在调用期
间发生故障。
对于故障,由于调用者无法知道到
底出现了那种情况,因此,
系统需要提供一些基本的保护机
制来确保RPC的正确效果。
不同RPC实现方案定义的这种
效果或RPC语义是有差别的。
以下是几种常用的RPC调用语义。
RPC调用语义
1At-Most-Once(最多一次)
相同RPC的重复调用,服务器不处
2At-least-Once(至少一次)
RPC将被执行至少一次,可能多次。
3Last-of-Many-Call(最近调用)
每个调用包含一个标识,client接收
最近调用者的返回值。
RPC系统的实现问题
1RPC协议族
(1)面向连接的
面向非连接的
(2)选择标准的通用协议,还是
专门为RPC设计的协议
(3)信包和报文的长度
2确认
停等协议(stopandwaitprotocol)
爆发协议(blastprotocol)
3缓冲区缓冲池
4计时管理
失败情况下的PRC语义,
可能出现的问题及其解决方法:
1Client无法定位Server
2客户请求消息丢失
3Server应答消息丢失
4Server崩溃
5Client崩溃
RPC存在的问题:
1服务器必须被正确定位;
2指针与复杂的数据结构难以传送;
3全局变量很难使用;
4很难有精确的RPC语义;
第三章分布式协同处理
全局时间为进程和数据提供时间戳。
3.1事件定序与时间戳
计算机上运行的应用程序只关心
事件发生的次序,而不是事件
发生的绝对时间,即只需要用计数
器的值去给事件打上相应的时间戳。
对于集中的物理时间:
请求类和
广播类
难点:
requestfortime
--------------
clienttimeserver
---------------
currenttime(delay)
有延迟,而且是不确定的,因为网
络故障,可能会传送多次。
Cristian
Berkeley算法
网络时间协议(NTP)
UTC统一协调时间
时间的质量、精确性与时间提供者
的价格等相关;
物理时间:
人的时间;
逻辑时钟:
是一种单调增长的软
件计数器,对事件集进行部分
排序。
相对时间,逻辑上是一致的。
定序:
(1)若两个事件发生在同一进程中,
则可用观察到的次序来
确定它们发生的次序;
(2)无论何时在进程间传递消息,
发送消息的事件先于接收
同一消息的事件。
先决条件:
两个事件之间,逻辑时
钟至少变一次,两个事件不会
精确地同时发生。
3.2分布式互斥
要求:
(1)安全性
(2)可用性
(3)定序
在单机系统中,使用信号量
(semaphores)、管程(monitors)
等来保护临界区。
SP(S)V(S)
Wait(s)Singal(s)
1集中式算法
2分布式算法
系统中所有的事件都是全序的
当一个进程接受到另一个进程请
求消息(Request)时,
(1)若接受者不在临界区中,也不想
进入临界区,它就向发送者送
Reply消息
(2)已在,它就不
回答(推迟)
(3)要进入,但还没
有进入,它就将自己的请求
消息(Request)时间戳与收到的时间
戳比较,若收到的小,回
Reply消息,否则,推迟
8
8812
12
12
812为时间戳
ReplyReply
Reply
当进程0完成时,进程0返回Reply
Reply
在产生请求冲突时,遵守按时间戳排序,小时间戳优先的规则。
每次进入临界区需要2(n-1)条消息,n为系统中的进程数目。
相对集中式算法,慢、复杂、贵、不健壮
3令牌算法
系统中所有的进程可组成一个虚拟或逻辑环,每个进程要知道谁在
它的下一个位置。
算法:
令牌环被初始化后,进程0首先获得令牌,这样令牌开始绕
环运动,它从进程k传递k+1,以点到点方式
若一个进程得到了它相邻进程传递来的令牌,但它并不想进入临界
区,就将该令牌往下传递。
仅拥有令牌的进程才有权进入临界区。
每次进出需要的消息进入前的延迟问题
集中式32协调者崩溃
分布式2(n-1)2(n-1)任一进程崩溃
令牌1到∞0到n-1丢失令牌,进程崩溃
不定
3.3选择算法
如果这个协调者进程由于它驻留
的处理机故障,而无法正常
工作(称为故障),系统只得通过
在另一个处理机上重新开始
一个新的协调者副本才能运行,确
定在何处重新开始一个新
的协调者算法,就称为选择算法。
Bully(欺负算法)
(1)Pi给所有比它优先数大的进程
发送消息;
(2)若无进程响应,Pi获胜成为协
调者;
(3)若有优先数比Pi大的进程响应
Pk,响应者Pk接管Pi的工作完成;
基于环结构的算法(基于没有
令牌的环)
(1)当任何一个进程发现协调者
进程不起作用时,构造一个包含
它自身进程号的消息给后继者;
若后
继者失败,继续下一个;
(2)消息到达了始发者的手中,始
发者接收者接收到包含它
自身进程号的消息后,将其转化为协
调者消息;
(3)该消息将再一次绕环运行,向
所有进程通知谁是协调者;
具有最大优先数的进程,将它作为
新的协调者;
评价分布式同步互斥算法标准:
1响应时间和吞吐量
充分利用系统的分布性,获得高的吞吐量和小的响应时间。
2容错性
具有幸免于故障的能力。
3开销大小
算法需要的一些额外开销,消息的数目和大小等。
4收敛和公平
请求进入临界段的进程终将进入,在临界段执行的进程终将
离开临界段。
并且对各进程公平。
5可扩充性
容易加入新的结点和新的进程。
6确定性
一定能保证同步、互斥,还是可能保证,如果不是确定的,
就是概率性的。
7恢复
对错误恢复的能力如何。
8实用性
对其使用作了多少限制。
9可理解性
如果一个算法是简单的,则很容易给出规范的正确证明。
简单是很重要的,包括:
算法的实现、测试、维护、修改等等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 操作系统 讲义