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 系统的实现问题
评论0
最新资源