进程间通信的方式有:管道、FIFO、消息队列、信号量、共享内存。
这是互联网上给出的普通答案,但它不是试题答案。
汤书中介绍了进程通信的“高级进程通信”,鉴于该课本的普及率,大多数试题中考察的应当是这个。
高级通信机制可归结为三大类:共享存储器系统、消息传递系统以及管道通信系统。
这是课本中给出的答案,王道书中也采纳了这一说法,但它不够好。
注意到课本中又介绍了一种方式:客户机-服务器通信,这是一种主流的通信实现机制,可以分为套接字Socket、远程过程调用和远程方法调用。同时,不少试题里“进程通信的分类”有四个空,笔者认为答案如下。再次查阅资料,注意到《计算机操作系统学习指导与题解第四版》印证了这一说法。
高级通信/进程间通信主要分为:共享存储器系统、消息传递系统、管道通信系统、客户机-服务器系统。(4空)
高级通信/进程间通信可以分为:共享存储器系统、消息传递系统以及管道通信系统。(3空)
知识补充:
共享存储器系统可以分为基于共享数据结构的通信方式和基于共享存储区的通信方式。
消息传递系统可以分为直接和间接通信方式,其中间接通信中的信箱通信又可以分为私用、公用和共享。