更多“消息缓冲通信时,当()执行到receive系统调用命令时,也产生”相关问题
  • 第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题:

    消息缓冲通信时,当发送者要发信息时,执行send系统调用命令,产生()进入操作系统核心。


    正确答案:自愿性中断

  • 第3题:

    试说明消息缓冲通信方式中消息缓冲区的数据结构。


    正确答案: 消息缓冲区是进程间通信的一个基本的单位,包含的信息如下:
    发送者进程标识符:
    消息长度:Size
    消息正文:Text
    指向下消息组冲区的指针:Next

  • 第4题:

    当一个广播消息到达接收者时,Android调用BroadcastReceiver的什么方法()

    • A、onReceive
    • B、BroadcastReceiver
    • C、Broadcast
    • D、receive

    正确答案:A

  • 第5题:

    下面关于面向对象方法中消息的叙述,不正确的是()。

    • A、键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
    • B、操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
    • C、应用程序之间可以相互发送消息
    • D、发送与接收消息的通信机制与传统的子程序调用机制不同

    正确答案:B

  • 第6题:

    当一个消息发送给某个对象时,会包含要求接收对象去执行某些活动的信息;接收到消息的对象经过解释,然后不予以响应。这种通信机制叫做消息传递


    正确答案:错误

  • 第7题:

    系统在()时,发生从用户态到核心态的转换.

    • A、发出P操作
    • B、发出V操作
    • C、执行系统调用
    • D、执行中断

    正确答案:C

  • 第8题:

    多选题
    在linux系统中,不考虑其它可能的情况下,使yes命令后台运行的操作有()。
    A

    yes>/dev/null

    B

    当yes命令处于挂起状态时,执行bg %1

    C

    当yes命令处于挂起状态时,执行fg %1

    D

    当yes命令处于前台运行状态时,执行ctrl+Z后再执行bg %1

    E

    yes>/dev/null &


    正确答案: C,D
    解析: 暂无解析

  • 第9题:

    单选题
    利用消息通信,进程可以将具有一定格式的消息发送给任意进程。UNIXSYSTEMV为消息通信提供四个系统调用,涉及到的头文件有sys/types.h、sys/ipc.h和()
    A

    stdout.h

    B

    sys/socket.h

    C

    sys/msg.h

    D

    netinet/in.h


    正确答案: A
    解析: 暂无解析

  • 第10题:

    单选题
    一段脚本如何才算彻底终止?()
    A

    当调用exit()时

    B

    当执行到文件结尾时

    C

    当PHP崩溃时

    D

    当Apache由于系统故障而终止时


    正确答案: B
    解析: 暂无解析

  • 第11题:

    单选题
    在Swing GUI编程中, setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 语句的作用是()
    A

    当执行关闭窗口操作时,不做任何操作。

    B

    当执行关闭窗口操作时,调用WindowsListener对象并将隐藏JFrame

    C

    当执行关闭窗口操作时,调用WindowsListener对象并隐藏和销毁JFrame

    D

    当执行关闭窗口操作时,退出应用程序。


    正确答案: A
    解析: 暂无解析

  • 第12题:

    填空题
    消息缓冲通信时,当发送者要发信息时,执行send系统调用命令,产生()进入操作系统核心。

    正确答案: 自愿性中断
    解析: 暂无解析

  • 第13题:

    当邻区漏配时,系统依然会向手机发送切换执行命令RRCconnetionReconfiguration消息。

    A.错误

    B.正确


    参考答案:A

  • 第14题:

    在linux系统中,不考虑其它可能的情况下,使yes命令后台运行的操作有()。

    • A、yes>/dev/null
    • B、当yes命令处于挂起状态时,执行bg %1
    • C、当yes命令处于挂起状态时,执行fg %1
    • D、当yes命令处于前台运行状态时,执行ctrl+Z后再执行bg %1
    • E、yes>/dev/null &

    正确答案:B,D,E

  • 第15题:

    下面关于COMMIT命令说法错误的是()。

    • A、执行COMMIT命令时,LGWR不会进行任何操作
    • B、执行COMMIT命令时,DBWn不会进行任何操作
    • C、执行COMMIT命令时发生的所有物理操作是LGWR进程将日志缓冲区的内容写入磁盘
    • D、当满足某些条件时,DBWn进程会将脏缓冲区写入磁盘

    正确答案:A

  • 第16题:

    当对一个流操作完毕时,可以保证操作系统将缓冲区中的数据写入到目的地,应调用方法()

    • A、available()
    • B、pack()
    • C、skip()
    • D、close()

    正确答案:D

  • 第17题:

    消息缓冲通信中的临界资源是()

    • A、消息缓冲队列
    • B、接收区
    • C、发送区
    • D、消息缓冲区

    正确答案:D

  • 第18题:

    有的消息只有在特定条件为真时才应该被调用,因此,需要在通信图中添加一组控制点,描述调用消息前需要评估的条件。控制点由一组逻辑判断语句组成,只有当逻辑判断语句为真时才调用相关的消息。


    正确答案:正确

  • 第19题:

    填空题
    消息缓冲通信时,当()执行到receive系统调用命令时,也产生自愿性中断,进入操作系统核心;操作系统将消息内容从消息缓冲区复制到接收者空间中,然后收回()。

    正确答案: 接收者,空闲缓冲区
    解析: 暂无解析

  • 第20题:

    单选题
    消息缓冲通信中的临界资源是()
    A

    消息缓冲队列

    B

    接收区

    C

    发送区

    D

    消息缓冲区


    正确答案: A
    解析: 暂无解析

  • 第21题:

    判断题
    当邻区漏配时,系统依然会向手机发送切换执行命令RRCconnetionReconfiguration消息。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    单选题
    在Swing GUI编程中,setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE)语句的作用是:()
    A

    当执行关闭窗口操作时,不做任何操作。

    B

    当执行关闭窗口操作时,调用WindowsListener对象并将隐藏JFrame

    C

    当执行关闭窗口操作时,退出应用程序

    D

    当执行关闭窗口操作时,调用WincowsListener对象并隐藏和销毁Jframe


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    NIXSYSTEMV为消息通信提供四个系统调用,其中,生成一个消息队列的系统调用是()
    A

    intmsgget(key,flags)

    B

    intmsgsnd(qid,buf,nbytes,flags)

    C

    intmsgrcv(qid,buf,nbytes,mtype,flags)

    D

    intmsgctl(qid,cmd,sbuf)


    正确答案: A
    解析: 暂无解析