欢迎您访问福建自考网!  今天是
当前位置: 网站首页 > 串讲笔记 >

2018年福建自考《网络操作系统》简答题笔记(7)

2018-11-14 11:33来源:福建自考网
  7、什么是同步原语?
 
  当一个进程调用一个send原语时,在消息开始发送后,发送进程便处于阻塞状态,直至消息完全发送完毕,send原语的后继语句才能继续执行。当一个进程调用一个receive原语时,并不立即返回控制,而是等到把消息实际接收下来,并把它放入指定的接收区,才返回控制,继续执行该原语的后继指令。在这段时间它一直处于阻塞状态。上述的send和receive被称为同步通信原语或阻塞通信原语。
  什么是异步原语?发送进程在调用send原语后,并不进入阻塞状态,它不等消息发送完就继续执行其后继语句。
  在使用异步通信原语时,发送者在消息发送完成前为什么不能使用缓冲区?
  因为倘若发送进程在消息发送完成之前,即在消息发送期间使用或修改原来的缓冲区,将会造成错误。
  如何解决?
  有两种办法(应采用异步原语):
  ①采用带拷贝的非阻塞原语,即让内核把消息拷贝到内核缓冲区,允许调用进程继续运行。
  ②带中断的非阻塞发送,即当消息发送完成后,中断发送进程,通知发送进程此时缓冲区可用。
 
上一篇:2018年福建自考《网络操作系统》简答题笔记(6)

下一篇:2018年福建自考《网络操作系统》简答题笔记(8)