操作系统 day08(进程通信)

进程通信的概念

  • 进程间通信是指两个进程之间产生数据交互
  • 进程通信需要操作系统的支持,由于进程是分配系统资源(包括内存地址)的单位,因此各进程拥有的内存地址空间相互独立。同时为了保证安全,一个进程不能直接访问另一个进程的地址空间
    操作系统 day08(进程通信)_第1张图片

进程通信的方式

  1. 共享存储
  • 基于存储区的共享,操作系统在内存中划出一块共享存储区,通信进程控制数据的形式、存放位置,而不是操作系统控制。这种共享方式速度很快,是一种高级通信方式
    操作系统 day08(进程通信)_第2张图片
  • 基于数据结构的共享,例如共享空间里只能放一个长度为10的数组,这种共享方式速度慢、限制多,是一种低级通信方式
    操作系统 day08(进程通信)_第3张图片
  1. 消息传递
  • 进程间的数据交换以格式化的消息为单位。进程通过操作系统提供的“发送消息/接收消息”两个原语进行数据交换
  • 消息传递又分为直接通信方式和间接通信方式,
  • 直接通信方式,如下图:
    操作系统 day08(进程通信)_第4张图片
  • 间接通信方式,如下图:
    操作系统 day08(进程通信)_第5张图片
  1. 管道通信
  • 在管道通信中,数据的读写是FIFO(先进先出)的

    在这里插入图片描述

你可能感兴趣的:(操作系统,操作系统)