问答题在客户/服务器模式下进程通信过程中,为了实现可靠通信原语有哪两种方法?

题目
问答题
在客户/服务器模式下进程通信过程中,为了实现可靠通信原语有哪两种方法?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

进程通信就是进程之间进行信息交换。系统中各进程异步执行,但有些进程之间必须保持

一定的联系,以便协调一致地完成指定任务。这种联系就是通过交换一定数量的信息实现的。

消息缓冲通信技术是一种高级通信机制,由Hansen首先提出。其基本思想是:根据“生产者—消费者关系”原理,利用公共消息缓冲区实现进程之间的信息交换。

1.试叙述高级通信机制与低级通信机制P、V原语操作的主要区别。

2.试解释消息缓冲通信技术的基本原理。

3.消息缓冲通信机制中提供发消息的原语Send(receiver,a)和接受消息原语Receive(a)。调用参数a分别表示发送消息的内存区首地址或接受进程的内存消息区首地址。试设计相应的数据结构,并用P、V操作原语实现Send和Receive原语。


正确答案:1.要点:进程间通信时所交换的通信量可多可少。少的时候仅是一些状态和数据的交换或者仅是一个简单的唤醒信号:多则可交换大量的信息。前者称为进程同步与进程互斥也称为进程间低级通信:后者称成为进程间的高级通信。 2.要点: (1) 由操作系统在系统空间维护一组缓冲区; (2) 由操作系统提供两个进程高级通信原语Send和Receive: (3) 发送进程要发送消息时执行Send系统调用命令产生自愿性中断进入操作系统核心; (4) 操作系统为发送进程分配一个空缓冲区并将所发送的消息内容从发送进程空间拷贝到该缓冲区中然后将此缓冲区连接到接受进程的消息队列尾。发送进程就完成了发送返回到用户态继续执行; (5) 当接受进程执行到receive系统调用时也产生自愿性中断进入操作系统核心; (6) 操作系统将载有消息的缓冲区从消息队列中取出并将消息拷贝到接受进程空间中然后收回空闲缓冲区:接受进程完成了消息接受返回到用户态继续执行; 3.要点: (1) 消息缓冲区的数据结构: type Message=record sender(消息发送者) size(消息长度) text(消息正文) pointer(消息队列指针) end; (2) 设置信号量如下: 每个接受进程有一个m-mutex:互斥对消息队列的操作初值为1; buffer:管理空闲缓冲区初值为空闲缓冲区个数; b-mutex:互斥操作空闲缓冲区初值为1; message:管理接受进程消息初值为0。 (3) Send(receivera) begin 根据参数receiver寻找接受进程如果没有找到则出错返回: P(buffer): P(b-mutex): 从消息缓冲区链上摘取一个空闲消息缓冲区; V(b-mutex); 将消息长度及消息正文由a地址由发送区拷贝到消息缓冲区中; 将发送进程的名字也刻录在该缓冲区中; P(m-mutex); 将消息缓冲区挂到接受进程消息队列的尾部; V(m-mutex): V(message) end; (4) Receive(a) begin P(message); P(m-mutex): 从消息队列中取一个载有消息的缓冲区: V(m-mutex); 将消息长度以及消息正文由消息缓冲区拷贝到接受区(由a指示); P(b-mutex); 将空闲缓冲区挂到系统消息区链尾; V(b-mutex); V(buffer) end;
1.要点:进程间通信时所交换的通信量可多可少。少的时候仅是一些状态和数据的交换,或者仅是一个简单的唤醒信号:多则可交换大量的信息。前者称为进程同步与进程互斥,也称为进程间低级通信:后者称成为进程间的高级通信。 2.要点: (1) 由操作系统在系统空间维护一组缓冲区; (2) 由操作系统提供两个进程高级通信原语Send和Receive: (3) 发送进程要发送消息时,执行Send系统调用命令,产生自愿性中断进入操作系统核心; (4) 操作系统为发送进程分配一个空缓冲区,并将所发送的消息内容从发送进程空间拷贝到该缓冲区中,然后将此缓冲区连接到接受进程的消息队列尾。发送进程就完成了发送,返回到用户态继续执行; (5) 当接受进程执行到receive系统调用时,也产生自愿性中断,进入操作系统核心; (6) 操作系统将载有消息的缓冲区从消息队列中取出,并将消息拷贝到接受进程空间中,然后收回空闲缓冲区:接受进程完成了消息接受,返回到用户态继续执行; 3.要点: (1) 消息缓冲区的数据结构: type Message=record sender(消息发送者) size(消息长度) text(消息正文) pointer(消息队列指针) end; (2) 设置信号量如下: 每个接受进程有一个m-mutex:互斥对消息队列的操作,初值为1; buffer:管理空闲缓冲区,初值为空闲缓冲区个数; b-mutex:互斥操作空闲缓冲区,初值为1; message:管理接受进程消息,初值为0。 (3) Send(receiver,a) begin 根据参数receiver寻找接受进程,如果没有找到,则出错返回: P(buffer): P(b-mutex): 从消息缓冲区链上摘取一个空闲消息缓冲区; V(b-mutex); 将消息长度及消息正文由a地址由发送区拷贝到消息缓冲区中; 将发送进程的名字也刻录在该缓冲区中; P(m-mutex); 将消息缓冲区挂到接受进程消息队列的尾部; V(m-mutex): V(message) end; (4) Receive(a) begin P(message); P(m-mutex): 从消息队列中取一个载有消息的缓冲区: V(m-mutex); 将消息长度以及消息正文由消息缓冲区拷贝到接受区(由a指示); P(b-mutex); 将空闲缓冲区挂到系统消息区链尾; V(b-mutex); V(buffer) end;

第2题:

在程控交换系统中,进程之间的通信普遍采用的方法是()。

A.直接通信

B.消息间接传输

C.消息缓存通信

D.原语直接通信


参考答案:C

第3题:

即时通信系统—般采用和客户机/服务器模式和______两种通信模式。


正确答案:客户机/客户机模式或P2P模式
客户机/客户机模式或P2P模式 解析:即时通信系统一般采用两种通信模式,一种是客户机/服务器模式,另外一种是客户机/客户机模式。

第4题:

简述进程通信的概念,最基本的通信原语有那些?


正确答案: 为了进行进程协调,进程间应具有一定联系,这种联系通常采用进程间交换数据的方式进行,称为进程通信。
最基本的通信原语有发送原语和接收原语。

第5题:

用电信息采集远程通信有三种通信模式:客户机模式、服务器模式和混合模式。江苏采用的是()

  • A、客户机模式
  • B、服务器模式
  • C、混合模式

正确答案:C

第6题:

NetWare中客户机进程和服务器进程间的通信采用()。

A.信箱

B.消息传递

C.通信原语

D.协议栈


参考答案:D

NetWare中的进程间通信有两种形式:
(1)客户机进程与服务器进程之间的通信,采用协议栈的方式。
(2)在同一台机器(服务器机)中进程之间的通信,采用IPX内部网络的方式。

第7题:

试描述在基于TCP/IP协议网络通信的客户/服务器模式下,利用WinSock进行通信的过程.


正确答案: 在基于TCP/IP办议网络通信客户/服务器模式下,利用Winsock进行通信的过程:
服务器方应用程序的工作是:
(1)申请套接字,打开通信信道,通知本地主机在一个端口上接收客户机的请求.
(2)等待客户机请求到达指定端口.
(3)接收到客户机的请求后,启动一个新进程处理来自客户机的用户请求,同时释放旧进程以响应新的客户请求,当服务完成时,关闭服务器进程,
(4)继续等待客户机的请求.
(5)如果服务器不想响应客户机请求,则关闭服务器进程,
客户方应用程序的工作是:
(1)申请一套接字,打开通信信道,并将其连接到服务器机上的保留端口,该端口对应服务器上的TCP/IP进程.
(2)服务器发出请求消息(报文),等待接收应答.
(3)接受服务器来的应答,当不再请求时关闭信道并终止客户进程.

第8题:

实现进程通信机制中的Send(N,M)原语的功能是:将信件( )送到指定的信箱( )中。


参考答案:M N

第9题:

原语的设计上,通信原语分为()和()、缓冲原语和非缓冲原语、可靠原语和非可靠原语。


正确答案:同步原语;异步原语

第10题:

多自理机系统中进程间的通信有哪两种方式?


正确答案: 在多自理机系统中进程间的通信有两种方式:主要适用于紧耦合多处理机系统的基于共享变量的通信方式和主要适用于松耦合多处理机系统的基于消息传递的通信方式.