首页学历类考试高等教育自学考试工学类02335《网络操作系统》
(简答题)

使用异步通信原语时,发送者在消息发送完成以前为什么不能使用缓冲区?该如何解决?

正确答案

因为倘若发送进程在消息发送完成之前,即在消息发送期间使用或修改原来的缓冲区,将会造成错误。
有两种办法解决(应采用异步原语):
①采用带拷贝的非阻塞原语,即让内核把消息拷贝到内核缓冲区,允许调用进程继续运行。
②带中断的非阻塞发送,即当消息发送完成后,中断发送进程,通知发送进程此时缓冲区可用。

答案解析

相似试题

  • (简答题)

    在消息缓冲通信方式中,发送原语和接收原语的主要功能是什么?

    答案解析

  • (单选题)

    消息发送原语中一般要包含要发送消息的内存指针和()

    答案解析

  • (填空题)

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

    答案解析

  • (填空题)

    实现在一个操作下将一个消息发送给多个接收者的通信机制称之为()的机制。

    答案解析

  • (简答题)

    什么是同步通信原语和异步通信原语?

    答案解析

  • (填空题)

    对于同步通信原语而言,进行调用send原语将消息发出后便处于()状态。

    答案解析

  • (简答题)

    请描述什么是同步原语、异步原语。

    答案解析

  • (简答题)

    什么是低级通信原语和高级通信原语?

    答案解析

  • (简答题)

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

    答案解析

快考试在线搜题