1.论述下分布式操作系统的透明性是什么?设计、实现一个分布式操作系统时,实现透明性的难点是什么?位置透明:用户不知道资源位于何处迁移透明:资源可以不改名地随意移动复制透明:用户不知道有多少个拷贝存在并发透明:多个用户可以自动的共享资源并行透明:系统活动可以在用户没有感觉的情况下并行发生所谓分布式透明性就是在编写程序时好像数据没有被分布一样。实现透明性的难点在于创建一个分布式数据库系统可提供有效的存取手段来操纵这些结点上的子数据库。2.论述远程过程调用RPC与本地调用的区别?论述RPC调用语义,系统实现中的问题。A、区别数据表示问题如果RPC是在两种异构的机器上进行的,不同机器数据表示可能不同,包括机器的字长等。指针在不具备共享地址空间的情况下,RPC不可能允许在网络范围内传递指针。故障调用者和被调用者都可能在调用期间发生故障B、调用语义:对于故障,由于调用者无法知道到底出现了那种情况,因此,系统需要提供一些基本的保护机制来确保RPC的正确效果。不同RPC实现方案定义的这种效果或RPC语义是有差别的,以下是几种常用的RPC调用语义。At-Most-Once(最多一次)•相同RPC的重复调用,服务器不处理。At-least-Once(至少一次)•RPC将被执行至少一次,可能多次。Last-of-Many-Call(最近调用)•每个调用包含一个标识,client接收最近调用者的返回值。(1)、last-of-many对执行一个远程过程调用而言,被调用的过程可能执行若干次,但规定其最后一次执行的结果作为返回结果(2)、at-most-once若调用者收到了回复消息,则被调用的过程正确地完成了它的一次(仅仅一次)执行。如果调用者没收到回复消息,或者,如果调用者在获得回复消息之前发生故障,那么,这时的调用效果就看作是根本就没有执行相应的过程(3)、at-least-once在场点正常情况下,则远程过程至少执行一次,且回复消息可能返回一次或多次。在场点故障时,就不能保证远程过程是否已被执行或曾返回任何回复消息(4)、exactly-once若server正常,则远程过程将恰好执行一次,并返回一个调用结果。同ssend/reveive通信原语有许多变种一样,RPC也有一些不同的形式。例如可以允许异步远程过程调用,因此,调用者和被调用者可以并行执行,调用者负责在稍后某一时刻执行一个所谓的会和(rendezvous)来获取调用结果问题:C、问题RPC系统的实现问题RPC协议族•面向连接的面向非连接的•选择标准通用协议,还是专门为RPC设计的协议•信包和报文的长度确认•停等协议(stopandwaitprotocol)•爆发协议(blastprotocol)缓冲区缓冲池计时管理失败情况下的PRC语义,可能出现的问题及其解决方法服务器必须被正确定位指针与复杂的数据结构难以传送;全局变量很难使用;很难有精确的RPC语义;实现RPC时要解决的典型问题包括:(1)参数编组与解组,(2)调用语义或在不同地址空间的参数传递语义,(3)在客户端与服务器之间的控制与数据传输协议,还有(4)绑定或如何发现一个服务提供者,以及如何从客户端连接它。3.分布式操作系统中的负载是什么?负载平衡算法的组成,影响动态平衡算法效率的因素有哪些?A、负载CPU队列的长度(比如进程的数目)某段时间内CPU队列的平均长度可用内存的大小上下文切换的速率系统调用的速率CPU的利用率B、负载平衡算法的组成转移策略选择策略定位策略信息策略•收集信息的方式:集中式(多对一,一对多)和分布式(多对多的指令)•收集的时机:周期或非周期•收集的范围:全局还是局部收集的负载信息内容:节点机的负载信息。在运行的静态和动态阶段所收集的负载信息内容应该是不同的。C、影响动态平衡算法效率的因素有哪些?算法网络拓扑结构•结点的度数Davg=∑D(I,j)/N(N-1)执行动态负载平衡代码的频率•确定负载平衡的粒度负载平衡中其他相关因素编码文件和数据文件•比如地理上分布的系统,移动所需的代价。系统的稳定性系统体系结构•总线连接系统中传递文件的成本比超立方体的要高。4.分布式操作系统中事务的并发控制采用什么机制?给出两种并发控制方法,并比较两种方法的优点和缺点。A、机制加锁乐观并发控制时间戳定序B、两种并发控制方法C、比较乐观并发控制的优缺点优点:避免了死锁,允许最大的并行度。缺点:有时会失效,所有的事务都必须退回重新运行一遍。在重负载的情况下,比较严重。时间戳定序优缺点优点:不会出现死锁。缺点:在于实现的复杂性,这将导致降低性能。加锁:锁的粒度越小,加锁就可以越精确,也就能实现更大的并行度。同时,锁的粒度越小,就需要更多的锁,这样开销也就越大,也就更容易导致死锁5.假设有5台计算机、10部智能移动终端构成局域网,通过局域网,计算机、5部只能移动终端之间可以相互读写其他机器硬盘上的数据,基于这个环境,设计一个分布式文件系统,给出主要实现技术,说明一下,该分布式文件系统中一个文件多副本的更新过程。6.剥夺式(preemptive)调度,又称抢先式调度。当进程/线程正在处理器上运行时,系统可根据所规定的原则剥夺分配给此进程/线程的处理器,并将其移入就绪列队,选择其他进程/线程运行7.