大家可以看下我使用幕布软件画的思维导图,如果大家想使用幕布可以通过我的邀请链接注册,可免费获得一个月高级会员https://mubu.com/inv/477598
文章目录
4.1 进程通信
进程通信就是指进程之间的信息交换。
早期的时候,由于技术不发达,以及由于进程的同步和互斥需要在进程间交换一定的数据,所以不少人也将他们称为进程通信,但是实质上他们只能被成为低级的进程通信。
以信号量为例,他
- 效率低
生产者或消费者每次只能向缓冲区投放一个产品或者取出一个产品。 - 通信对用户不透明
而关于进程间通信所需的数据结构的设置和数据的传送、进程的同步和互斥,都需要程序员去完成,显然是非常不方便的。
所以高级进程通信必须满足如下特点:
- 使用方便。
OS隐藏了实现进程通信的具体细节,向用户提供了一组用于实现高级通信的命令,用户可以方便地直接利用它实现进程之间的通信。 - 高效的传送数据。
用户可以直接利用高级通信命令高效的传送大量的数据。
进程通信主要有共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。
4.1.1 共享存储器系统
共享存储器系统又分为了两种:
- 基于共享数据结构的通信方式
在这种通信方式下,要求进程公用某些数据结构,借以实现诸进程间的信息交换。这种方式仅适用于传递相对少量的数据,通信效率低下,属于低级通信