[操作系统学习笔记] 处理器管理 1.4
最编程
2024-03-11 06:56:56
...
【操作系统学习笔记】处理器管理1.4
参考书籍: 王道考研
视频地址: Bilibili
进程通信
进程间通信 IPC 是指两个进程之间产生数据交互
进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立
为了保证安全,一个进程不能直接访问另一个进程的地址空间
共享存储
通过增加页表项/段表项即可将用一片共享内存区域映射到各个进程的地址空间中
- 为避免出错,各个进程对共享空间的访问应该是互斥的
- 各个进程可使用操作系统内核提供的同步互斥工具(PV 操作)
基于存储区的共享:操作系统在内存中划出一块共享存储区,数据的形式,存放位置都由通信进程控制,而不是操作系统。这种共享方式速度很快,是一种高级通信方式
基于数据结构的共享:比如共享空间里只能放一个长度为 10 的数组。这种共享方式速度慢、限制多,是一种低级通信方式
消息传递
进程间的数据交换以格式化的消息为单位。进程通过操作系统提供的发送消息/接收消息两个原语进行数据交换
- 消息头: 发送进程 ID、接收进程 ID、消息长度
- 消息体
分类
- 直接通信方式: 需要指明接收进程 ID
- 间接通信方式: 不需要直接接收进程 ID,需要通过信箱间接进行通信
管道通信
管道是一个特殊的共享文件,又名 pipe 文件。起始就是在内存中开辟应该大小固定的内存缓冲区
- 与共享存储的区别是,管道是先进先出的单向半双工数据流
- 各进程要互斥地访问管道(由操作系统实现)
- 当管道被写满时,写进程将阻塞,直到读进程将管道中的数据取走,即可唤醒写进程
- 当管道被读空时,读进程将苏泽,直到写进程将管道中写入数据,即可唤醒读进程
- 管道当中的数据一旦被读出,就会彻底消失,因此多个进程读取同一个管道时可能会导致错乱
- 一个管道允许多个写进程,一个读进程
- 允许多个写进程多个读进程,但是系统会让各个读进程轮流读数据
推荐阅读
-
老大哥的信息技术管理学习笔记(15):软件质量与软件维护
-
数据结构(邓俊辉)学习笔记】数据结构(邓俊辉)学习笔记向量 02 - 动态空间管理-3.
-
[技术管理]为什么要学习管理(开篇) - 学习笔记
-
CS 学习笔记 | 5. 如何构建有效载荷处理器
-
安卓学习笔记_64_手机安全卫士知识点(4) 流量统计 日志管理 混淆打包 添加广告 自动测试 Bug 管理
-
操作系统学习笔记 - 并发:互斥和同步
-
操作系统学习笔记-6:进程同步与进程互斥(III):经典问题
-
大数据]Flink 学习笔记 - 状态管理
-
PMP】Head First PMP 学习笔记 第 11 章 风险管理
-
五分钟商学院管理学习笔记