CMS专题

多选题当采用信箱进行通信时,接收原语receive( )操作中必须包含的信息是()。A指定的信箱名B取出的信件将存放的内存地址C读取信件的名称D读取信件的长度E信箱的互斥信号量

题目
多选题
当采用信箱进行通信时,接收原语receive( )操作中必须包含的信息是()。
A

指定的信箱名

B

取出的信件将存放的内存地址

C

读取信件的名称

D

读取信件的长度

E

信箱的互斥信号量

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第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题:

当采用信箱进行通信时,接收原语receive()操作中必须包含的信息是()。

A.指定的信箱名

B.取出的信件将存放的内存地址

C.读取信件的名称

D.读取信件的长度

E.信箱的互斥信号量


参考答案:A, B

第3题:

● 如果系统采用信箱通信方式,当进程调用Send原语被设置成“等信箱”状态时,其原因是 (23) 。

(23)

A. 指定的信箱不存在

B. 调用时没有设置参数

C. 指定的信箱中无信件

D. 指定的信箱中存满了信件


正确答案:D

第4题:

信箱通信机制中有哪些基本通信原语?


正确答案:send发送,receive接收,deposit投放,remove移除。

第5题:

用信箱方式实现进程间通信时,应该()

  • A、由发送信件者设立信箱
  • B、发送者在信件中指定接收者名
  • C、在原语中要指出信箱名
  • D、当信箱空时应让发送者“等信件”

正确答案:C

第6题:

如果系统采用信箱通信方式,当进程调用Send原语被设置成“等信箱”状态时,其原因是(23)。

A.指定的信箱不存在

B.调用时没有设置参数

C.指定的信箱中无信件

D.指定的信箱中存满了信件


正确答案:D
解析:为了实现进程间的通信,可以设立一个通信机构——信箱,以发送信件以及接收回答信件为进程间通信的基本方式。
  采用信箱通信的最大好处是,发送方和接收方不必直接建联系,没有处理时间上的限制。发送方可以在任何时间发信,接收方也可以在任何时间收信。
  由于发送方和接收方都是独立工作的,如果发得快而收得慢,则信箱会溢出。相反,如果发得慢而收得快,则信箱会变空。因此,为避免信件丢失和错误的送出信件,一般而言通信应有如下的规则:
  (1)若发送信件时信箱已满,则发送进程应被置等信箱状态,直到信箱有空时才被释放。
  (2)若取信件时信箱中无信,则接收进程应被子置成等信件状态,直到有信件时才被释放。

第7题:

采用信箱方式进行进程通信时,信箱()

  • A、是由发送信件者设立的
  • B、用指针指示其大小
  • C、是一种数据结构
  • D、用receive来存入信件

正确答案:C

第8题:

用信箱实现通信时,应有( )和( )两条基本原语。


参考答案:发送、接收

第9题:

若进程用信件来传递信息,那么发送信息者的进程名应()

  • A、存放在信件中
  • B、作为send原语的参数
  • C、作为receive原语的参数
  • D、存放在信箱说明中

正确答案:A

第10题:

当采用信箱进行通信时,接收原语receive( )操作中必须包含的信息是()。

  • A、指定的信箱名
  • B、取出的信件将存放的内存地址
  • C、读取信件的名称
  • D、读取信件的长度
  • E、信箱的互斥信号量

正确答案:A,B

更多相关问题