上交os lec7 进程间通信
2022/6/26 5:23:13
本文主要是介绍上交os lec7 进程间通信,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
7.1进程间通信背景和基础
- 将一个应用实现为一个进程,非常冗余比如本来,两个进程本来可以共享数据库实现其次是比较低效,由于本来实现一个邮件应用本来应该只关注邮件任务逻辑,但是将完整的应用设计为一个应用,其数据库也需要自己设计最后是即使将一个应用设计为一个进程,仍然需要进程间通信,需要进程间共享
- 进程间的协作但是需要进程间的依赖与互相影响
- 进程间通信
7.2 共享内存
- 共享内存需要处理好同步
- 共享内存基本实现
- 共享内存的问题轮询浪费时间,固定时间检查又时延长
7.3 消息传递
- 消息立马转发
- 消息传递的两个原语
- 双向通信
- 间接通信
- 间接通信到信箱中
- 信箱共享的挑战
7.4 消息传递的问题与解决方法
- 消息传递的阻塞与非阻塞异步中的超时机制
- 同步通信与超时机制
- 快递桌充当缓冲的作用
7.5 Unix管道
- 两个进程之间的一根通信管道
- 定义管道
- xv6的管道
- pipewrite
- piperead
- sleep/wakeup通信机制
- 管道的优缺点
7.6 Unix消息队列
- 带类型的消息传递
- 消息队列先进先出,按照类型取值
- 消息队列可以有多个发送者,接收者消息队列是FIFO与基于类型查询
7.7 轻量级远程方法调用LRPC
- unix之间的通信机制通常很重
- 之前的RPC非常复杂
- 数据传输慢?RPC中可以共享参数栈和寄存器
7.8 ChCore进程间通信
这篇关于上交os lec7 进程间通信的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升