回顾一下操作系统,本章讲解进程通信的知识点😁
1.进程通信
指进程之间的信息交换。
进程是分配系统资源的单位,所以个进程拥有各自独立的内存地址空间。
导致一个进程不能直接访问一个进程的地址空间。为了提供进程之间的通信采用以下三种通信方式
2.共享存储
两个进程互斥的访问共享空间
- 基于数据结构
共享区采用限定了长度的数组。(速度慢、限制多、低级通信) - 基于存储区
共享区域、数据的形式、存放位置都由进程控制(高级通信)
3.管道通信
- 采用半双工通信
- 各进程互斥访问管道
- 数据以字符流的形式写入管道,满时write()被阻塞,空时read()被阻塞
- 管道没写满就不能读
- 读进程最多只能有一个
4.消息传递
以格式化的信息为单位
消息头:发送进程ID、接受进程ID、消息类型、消息长度
消息体:
- 直接通信方式
进程1发送原语,添加到进程2的消息缓冲队列中 - 间接通信方式
进程1和2,通过中间实体(信箱)作为通信的载体