分布式操作系统本章内容提要分布式系统概述分布式操作系统概述分布式系统的实现●通信问题●进程管理●死锁问题●文件系统●中间件10.1分布式系统概述10.1.1分布式系统概述1.分布式系统特征分布式系统是多个处理机通过通信线路互连而构成的松散耦合系统,它对用户是透明的。一般认为,分布式系统应具有以下四个特征:①分布性②自治性③并行性④全局性10.1.2分布式系统的优点(1)资源共享(2)加快计算速度(3)可靠性高(4)方便快捷的通信▲缺点主要是可用软件不足,系统软件、编程语言、应用程序以及开发工具都相对很少;还存在通信网络饱和或信息丢失以及网络安全问题,方便的数据共享同时意味着机密数据容易被窃取。10.2分布式操作系统概述10.2.1分布式操作系统简介分布式操作系统是配置在分布式系统上的共用操作系统。用户利用透明的方式访问系统内的远程资源,即用户访问远程资源的方式和访问本地资源相同。它有如下三个基本功能:①进程管理②通信管理③资源管理10.2.24种多机系统的比较多处理器系统(MultiprocessorSystems)▲每个节点只有一个CPU,所有外部设备都是共享的▲共享同一个内存,彼此紧密地耦合在一起▲整个系统共享同一操作系统多计算机系统(MulticomputerSystems)▲每个节点除CPU外,还有本地内存和网卡,有时也有用于分页的硬盘▲多计算机的各个节点运行同样的操作系统▲整个系统共享同一个文件系统,且是集中式管理方式网络系统(NetworkSystems)▲每个节点是一个完整的计算机,不仅有CPU、内存,还有完整的一组设备▲各节点上有本地操作系统,其上加上网络软件,构成网络操作系统分布式系统(DistributedSystems)▲分布式系统有很多特征与网络系统相同▲分布式系统是虚拟的单机系统,通常各节点上运行统一的操作系统,利用消息机制实现通信,具备数据迁移、计算迁移和进程迁移等功能。10.2.3分布式系统的设计目标1.透明性▲分布式系统的一个重要特征是系统的分布性对用户是完全透明的▲可在两个层次上实现透明性:对用户隐藏分布性;系统对程序透明类别含义位置透明性软硬件资源分布在各处,而用户不清楚资源的确切位置迁移透明性资源可以随意移动,而不必改变它们的名字复制透明性系统可以任意复制文件或其他资源,用户不清楚多个副本存在并发透明性多个用户可以自动共享资源,彼此不会注意对方的存在并行透明性任务被并行地执行,而用户并不知道(理论上要靠编译器、运行系统及操作系统三者的共同支持,目前尚无法实现这一点)分布式系统不同种类的透明性分布式系统的设计目标2.灵活性分布式操作系统的内核模型有两种:单内核模型和微内核模型▲单内核模型基本上是在现有的集中式操作系统上附加一些网络设施,再集成一些远程服务。▲微内核模型是一种新式结构。微内核是操作系统的极小核心。它将各种操作系统共同需要的核心功能提炼出来,形成微内核的基本功能。所有其他的系统服务都通过微内核之外的服务器实现。分布式操作系统的两种内核模型3.可靠性▲可靠性涉及的方面包括可用性(Availability)、安全性和容错性。①可用性表示系统可以正常工作的时间比例②安全性指文件和其他资源必须受到保护,防止未授权使用。③容错性指在一定限度内对故障的容忍程度。4.高性能▲性能指标包括多个方面,如执行速度、响应时间、吞吐量、系统利用率、网络通信能力,等等。●通信是影响分布式系统性能的基本问题5.可扩展性▲扩展可分为水平扩展和垂直扩展水平扩展指添加或移去客户工作站,对系统性能影响很小垂直扩展指移植到更大的或更快的服务器或多服务器上。10.3分布式系统的实现10.3.1通信问题在分布式系统中没有共享内存,通过传递消息实现通信。本质上,协议就是规定通信如何进行的一系列规则,在广域分布式系统中这些协议划分为多个层次,每一层都有自己的目标和规则。基于局域网的系统通常采用客户-服务器模型针对客户-服务器模型中通信要做大量输入/输出的缺陷,提供了远程过程调用(RPC)方法。组通信方式10.3.2进程管理1.进程迁移(1)数据迁移(DataMigration)整体传送是把文件整体地从节点B传送到节点A部分传送仅把用户当前需要的那部分文件从节点B传送到节点A(2)计算迁移(ComputationMigration)在某些情况下,传送计算比传送数据更有效。(3)进程迁移(ProcessMigration)进程迁移是计算迁移的逻辑延伸。当一个进程被提交执行时,并不一定始终都在同一节点上运行,整个进程(或者其中一部分)可能在不同的节点上执行。采用进程迁移方式可使各节点的工作负载均衡;加速计算,减少整个进程的周转时间;提高硬件适宜性和软件适宜性;提高远程大量数据访问的效率。有隐式和显式两种技术可用于进程迁移2.同步问题▲时钟同步系统中的时钟并不需要绝对同步▲事件排序对系统中所发生的事件进行排序前趋关系若A和B是两个相关事件,并且A在B之前发生,则有前趋关系A→B。并发事件▲如果两个事件A和B彼此没有前趋关系,即A不先于B,B也不先于A,则称这两个事件为并发事件。▲唯一重要的是,任何关心两个并发事件的进程都认可某个次序。逻辑时钟表示在进程内部各事件发生先后顺序的惟一记数值。一个事件的时间戳就是该事件的逻辑时钟值。3.互斥问题(1)集中式算法▲其基本思想是:在系统的所有活动进程中选择一个进程作为协调者(即运行在最高网址的机器上的某个进程),由协调者负责对临界区进行管理。●优点:能够实现互斥,不会出现饥饿现象,且易于实现。●缺点:①协调者是单点失效,会使整个系统瘫痪;②大型系统中单一的协调者会成为系统性能的瓶颈。(2)分布式算法▲其思想是:进程想进入临界区时,就建立并发送消息;得到许可,就可以进入临界区。退出临界区时,发送OK消息,并从队列中删除这些进程。●优点:弥补集中式算法的不足。●缺点:比集中式算法更慢、更复杂,代价也更高。(3)令牌环算法▲令牌本身是一种特定格式的报文。进程持有令牌,便能进入临界区。■能够正确地实现进程互斥,而且不会出现饥饿现象;但也存在令牌丢失和进程失效两个问题。10.3.3死锁问题■在分布式系统中从不使用死锁避免方法,也很难实现预防。所以普遍使用死锁检测和恢复方法。■分布式系统所采用的死锁检测算法的基本原理与集中式系统相同10.3.4文件系统1.文件传送文件传送分成上传/下载模式和远程存取模式两种类型。分布式系统文件传送的两种类型2.目录结构层次文件系统设计分布式文件系统的一个关键问题是,所有机器(和进程)的目录层次结构视图是否完全相同。与之密切相关的一个问题是,是否有一个全局根目录,即所有机器都以它作为根。3.命名透明性透明性有两种形式——位置透明性和位置无关性。4.文件共享语义当多个用户共享同一文件时,必须精确定义读/写语义,以免出现歧义问题。对所有操作按绝对时间排序,返回值总是最近的一个,这种模式称做顺序一致性。如果进程A修改了某个文件,当A关闭该文件时,它把副本发送给服务器,以后进程执行读操作时就得到新值。这种语义规则称做会话语义。10.3.5中间件中间件在分布式系统中的位置示意图中间件中间件中间件中间件1.中间件概念2.中间件结构中间件在客户-服务器结构中的作用示意图中间件中间件Bye!下一章(NEXT):第11章-安全性与保护机制==