上交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进程间通信

posted @ 2022-06-24 22:10  抿了抿嘴丶  阅读(27)  评论(0编辑  收藏  举报