8.在进程间通信怎么样保证消息不会丢失?
为了保证消息被他们收到,可使用靠谱原语。具体作法是:顾客向服务器方发一请求后,服务器对这一请求,由其内核向顾客内核返回一个确认ACK,当顾客内核收到这一消息后,就唤醒顾客进程。在顾客与服务器之间的请求/应答共需四个消息:①从顾客向服务器的请求②从服务器内核向顾客内核返回一个确认③从服务器到顾客的应答④从顾客的内核向服务器内核返回一个确认。
9.远程过程调用:在互联网或分布式系统中,设有任意两个节点A、B,节点A上的进程调用节点B上的一个进程时,节点A上的进程被挂起,在节点B上实行被调用的过程,消息以参数的形式从调用进程传送到被调用进程,并将被调用过程实行的结果返回给调用进程。这种通信方法称为远程过程调用。
其基本原理是什么?
允许某一节点上的程序调用其他节点上的过程或函数。比如节点机A上的进程调用节点机B上的过程,节点机A的调用进程被挂起,在节点机B上实行被调用过程。消息以参数的形式从调用过程传到被调用过程,被调用过程实行的结果再返回给调用过程。对技术员来讲,他看不到消息传递过程和I/O处置过程。
10.RPC的透明性指的是什么?
指的是要致使远程过程调用尽量像当地调用一样。调用过程应该不了解被调用过程是在另外一台计算机上实行,反过来也是这样,被调用过程也不应该了解是由什么机器上的进程调用的。怎么样保证这一透明性:远程过程调用为达成其透明性,在顾客机上设置一个顾客代理,同样在服务器机上设置一个服务器代理。
11.简述远程过程调用的步骤。
①顾客过程以一般方法调用顾客代理。②顾客代理架构一个消息并陷入内核。③当地内核发送消息给远程内核。④远程内核把消息送给服务器代理。⑤服务器代理从消息包中取出参数并调用服务器。⑥服务器完成相应的服务,将结果送给服务代理。⑦服务代理将结果打包形成一个消息并陷入内核。⑧远程内核发送消息给顾客机内核。⑨顾客机内核把消息传送给顾客代理。⑩顾客代理取出结果,返回给顾客的调用程序。并以实例说明。
12.试说明远程过程调用的优势和弊端。
优点:格式化好、用便捷、透明性好;
缺点:缺少灵活性。
在具体达成上尚有什么难题需要解决?
①远程过程调用的参数在系统内不同机型之间的通用能力有所不足。②缺少在一次调用过程中多次接收返回结果的能力。③远程过程调用缺少传送很多数据的能力。
13.什么叫组通信?
在互联网系统中,一个相互用途的进程集合称为组。一个发送者在一次操作中将一个消息发送给多个接收者的通信,称为组通信。
它应用于何种场所?在互联网系统中可以使用组通信方法。
组通信的主要特点是?当一个消息发送给这个组时,该组的所有成员都可以接收,组通信具备一对多的形式,即一个发送者,多个接收者。
组通信的达成?组通信的达成在非常大程度上依靠于硬件。在一些互联网系统中,可以为组指定一个特殊的互联网地址。可使用多播式、广播式、单播式。