现代操作系统专题之八分布式处理
电子科技大学计算机学院
罗蕾
分布式数据处理的优势
z响应性(Responsiveness):从管理方式看,相对于集中化的设施要同时满足整个组织的需要而言,局部计算机能够更加直接地、有效地满足局部机构的需要
z可用性(Availability):对于多个互联的系统,任何一个系统的丢失可以做到只具有很小的影响。关键系统和部分可以进行备份,这样,备份系统可以在故障后继续工作
z资源共享(Resource sharing):昂贵的硬件设备可以在用户之间共享;数据文件可由中心来管理和维护,但在组织范围内都能访问
分布式数据处理的优势
z增量式成长(Incremental growth):可逐步地替换应用程序或系统,避免或者全有或全无的方法
z增加用户的介入和控制(Increased user involvement and control):随着更小、更易管理的设备在物理位置上位于用户的身边,用户有更大的机会来影响系统的设计和操作,或与技术人员进行直接的交互,或通过用户的直接上级
z终端用户的生产率(End-user productivity)给予用户更好的快速响应
分布式处理
z OS中分布式处理:
–通信体系结构(Communication architecture):已成熟,商用
–网络操作系统(Network operating
system ):已成熟,商用
–分布式操作系统(Distributed operating
system):研究和开发的前沿,处于实验阶段
通信体系结构
–是独立计算机的联网软件,它能支持分布式应用,如:、文件传输及远程终端访问等
–必须显式地引用才能与其他计算机进行通信–每台计算机具有独立的OS,要求所有计算机支持同样的通信体系,如TCP/IP
网络操作系统
•典型的网络操作系统是一个通过局域网连接的微型计算机网络
•网络中的计算机通常是单用户工作站或一台/多台服务器,服务器提供本网范围的服务或应用•每个用户有自己的微机工作站,可能有硬盘,也可能没有,但必定有自己的操作系统,可以一样也可以不一样。
•NOS只是本地OS的一个附属物,它使应用程序所在机器与服务器之间能够交互
网络操作系统
•操作系统管理单个的工作站、文件服务器、还要关心它们之间的通信
•每台机器都有高度的自治权,除了网络通信之外,没有多少对整个系统范围的要求
•用户知道多台独立的计算机并显式地和它们打交道,用户依据权限,使用整个网络中的各项资源
•一般使用一个公用通信体系结构来支持这些网络应用
分布式处理
z典型的网络操作系统
z Windows2000
z NetWare
z各种Unix系统
分布式操作系统
分布式操作系统的思想,是让用户不关心系统中多CPU的存在。目前尚不存在真正的符合条件的系统,但有原型机出现
分布式的特征:
•进程管理应该处处一致。当一个进程开始时,所有内核将协调工作,以便到运行该进程的最佳位置
•在所有机器上有单一的系统调用集合,这些调用还必须适合分布式的环境。既然在所有地方系统调用都一样,那么在所有CPU上运行同样的内核也就是自然的结果了
分布式操作系统
•本地通信与远程通信有相同的机制
•有全局的保护机制
•需要一个全局的文件系统
•当然,每个内核对本地的资源还是有较大的控制权
例如,既然没有共享内存,那么让各个内核管理自己的内存是很自然的事
•需要页面交换时,本地的内核是决定怎样做的最佳人选。没有必要全局化
分布式操作系统的特征
透明性(1)
z怎样让人相信在所谓的分布式系统
中这样一机器和一台普通的单处
理机系统会一样呢?能达到这样目
标的系统被称为是透明的
透明性(2)
•透明性有两种层次含义
•一种含义是对用户隐藏了分布性
•例如,当一个UNIX用户敲入make时,从终端发出命令,再将结果显示到终端上,分布式系统可以跟单处理机系统的表现完全一样。唯一不寻常的事情是,系统的性能似乎快了很多。用户不知道诸如编译一类的工作是在多台机器上执行的
透明性(3)
•系统对程序透明是透明性含义的更低一个层次。也就是说从系统调用的接口看不出有多个处理器存在
•如果在一个系统中,访问远程文件是通过显式地建立一条与远程服务器的连接,再将消息发送给它,那
么这样的系统显然不是透明的
透明性(4)
server系统和普通系统的区别–透明性的各种含义
•在一个真正的分布式系统中,用户不清楚CPU,打印机,文件,数据库等等资源到底在哪里,位置透明性
•如果资源可以自由地从一处迁移到另一处,无需改变它们的名字,这就是迁移透明性
透明性(5)
•如果操作系统可以任意复制文件和其它资源,形成多个拷贝,而用户却不用关心这点,那么系统是复制透明性的
•如果用户注意不到其它用户的存在,那么系统是并发透明的
•在用户眼里分布式系统应该象一台传统的、单处理器系统
透明性(6)
•如果一个程序员知道某个分布式系统中有10,000个CPU,并且想利用其中的一部分CPU运行象棋程序,系统该怎么办?
•理论上的答案是,操作系统及其它系统软件如编译器、运行系统应该能知道怎样利用程序中潜在的并行性,程序员不需要知道这点。这是最困难的一种透明性,并行透明性
•目前还没有人能做到这点。如果能实现并行透明性,那么有关分布式系统的研究将进入新的层次
灵活性(1)
设计第二个关键性问题是灵活性•涉及到灵活性的关键,
分布式系统的结构设计
灵活性(2)
•对于分布式系统的结构有两种不同的观点•认为每台机器上应该运行一个传统的内核,
自身提供大部分的服务,这种方式称为单内核
•认为每台机器上的内核应该提供尽可能少的服务,大部分操作系统的服务应该通过用户级的服务器来实
现,这种方式称为微内核
灵活性(3)
•通常在集中式操作系统加上网络设施,再集成上远程服务就构成了单内核。
•系统调用是传统的,即通过执行陷井指令,转入到核心状态,由内核完成,结果再返回给用户进程
灵活性(4)
在这种分布式系统中,大部分机器都有硬盘,并有本地的文件系统。
许多通过UNIX扩展或仿真的分布式系统都使用这种方法
灵活性(5)
z新设计的分布式系统一般使用了微内核设计方法
–微内核通常只提供如下4种服务:
•进程间通信机制
•内存管理
•少量的低级进程管理和调度
•底层的输入/输出
灵活性(6)
•一般认为,微内核更加灵活,因为它只做非做不可的事情
•它不提供文件系统、目录系统、大部的进程管理和多数系统调用。它仅仅提供那些在别处无法提供或者开销很大的服务
•设计的总体目标是微内核应尽可能地小
灵活性(7)
在由微内核实现的系统中,其它的系统服务都通过用户级的服务器实现
每个服务都有一个的接口;每个客户都能访问到各项服务,而与位置无关
灵活性(8)
•微内核好处是高度模块化,也比较容易实现安装和调试新的服务,因为添加或更改服务不要求停止现有的系统
•微内核具有更强的灵活性。任何需要特定系统服务的用户还可以编写自己定义的服务
灵活性(9)
图(a)单内核的系统(b)微内核实现的系统
可靠性(1)
理论上,在分布式系统中,当某个机器停止工作时,其它机器能接替它的工作所以分布式系统比单处理机系统更加可靠
可靠性(2)
实际上,运行的分布式系统往往依赖于能同时正常工作的多个服务器
系统的可靠性更取决于各个主要部件可靠性的布尔“与”,而不是布尔“或”
可靠性(3)
–可靠性有不同的含义
•可用性(availability)指的是系统可以正常工作的时间比例。高可靠性必须有很高的可用性。
•一般而言,系统中文件拷贝的数目越多,可用性会越好,但文件之间不一致的概率也越高,这是一种矛盾
可靠性(4)
–容错性与可靠性也有关联
•一台服务器的崩溃会让整个系统都不能正常工作吗?
•一般而言,在分布式系统中用户注意不到一两台服务器崩溃的事实,能察觉的顶多是性能上慢下来而已
可靠性(5)
–可靠性的另一层面是安全性
z在分布式系统中,不能简单的相信消息中的名字或身份,因为发送过程中可能有欺骗
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论