网站大量收购闲置独家精品文档,联系QQ:2885784924

第2章进程通信解答.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 进程通信 2.2 不同节点上的进程间通信 端口服务员 顾客 服务员 1.申请端口 端口 2.分配端口 3.申请句柄 4.返回句柄 5.使用句柄通信 RPC建立通信的过程 : 第二章 进程通信 2.2 不同节点上的进程间通信 设计和实现远程过程调用主要考虑的问题包括以下方面: RPC认证。在一个分布计算系统中,顾客可能需要对服务员的身份进行认证,或者服务员希望对顾客的身份进行认证。 RPC调用语义。调用语义确定了同一个调用的多次重复请求所造成的后果。 第一种是恰好一次语义(Exactly-Once)。 第二种是最多一次语义(At-Most-Once)。 第三种是至少一次语义(At-Least-Once)。 第四种是多次中最后一次语义(Last-of-Many-Call)。 第五种是幂等语义(Idempotent)。 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例1:socket进程通信 socket地址 struct in_addr{ u_long s_addr; /* 32_bit netid/hosted */ /* network byte ordered */ }; struct sockaddr_in{ short sin_family; /*AF_INET*/ u_short sin_port; /*16_bit port number*/ /*network byte ordered*/ struct in_addr sin_addr; /*32_bit netid/hostid*/ /*network byte ordered*/ char sin_zero[8]; /*unused*/ }; 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例1:socket进程通信 Socket原语 (1) s=int socket(domain,type,protocol)。 (2) int bind(s,localaddr,addrlen)。 (3) int connect(s,server,serverlen)。 (4) listen(s,n)。 (5) new_sock=int accept(s,from,fromlen)。 (6) send(s,buf,buflen,flags)。 (7) recv(s,buf,buflen,flags)。 (8) close(s)。 (9) shutdown(s,how)。 (10) sendto(s,buf,buflen,flags,to,tolen)。 (11) recvfrom(s,buf,buflen,flags,from,fromlen)。 (12) select(nfds,readfds,writefds,exceptfds,timeout)。 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例1:socket进程通信 Socket通信模型:TCP socket() bind() listen() accept() 等待来自顾客的连接 recv() 数据处理 send() socket() connect() send() recv() 建立连接 数据(请求) 数据(回答) 服务员 顾客 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例1:socket进程通信 Socket通信模型:UDP 服务员 socket() bind() recvfrom() 等待来自顾客的数据 数据处理 sendto() 顾客 socket() bind() sendto() recvfrom() 数据(请求) 数据(回答) 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例2:MPI进程通信 MPI中进程地址 MPI中通信总是发生在一个已知的进程组中,每个进程组都被赋予了一个组标识符(groupID),进程还有一个进程标识符(processID)。(groupID,processID)唯一地指出了报文的源地址或目的地址,不使用传输层地址。在一个计算中可能发生多个进程组重叠的现象,并且这多个进程组可以同时执行。 第二章 进程通信 2.2 不同节点上的进程间通信 报文传递实例2:MPI进程通信 MPI进程通信原语: (1) MPI_bsend原语。 (2) MPI_send原语。 (3) MPI_ssend原语。 (4) MPI_sendrecv原语。 (5) MPI_isend原语。 (6) MPI_issend原语。 (7) MPI_recv原语。 (8) MPI_irec

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档