进程管理(三)

本文介绍了进程间通信(IPC)的两种主要方法:共享内存和消息传递。共享内存涉及在用户进程之间创建共享区域,而消息传递则通过内核控制的数据交换实现。消息传递系统提供了send和receive操作,支持直接和间接通信,其中间接通信通过邮箱或端口进行。直接通信涉及明确指定接收者,而间接通信则允许进程通过邮箱进行异步通信。关键词包括进程间通信、共享内存、消息传递、邮箱、同步通信。
摘要由CSDN通过智能技术生成

进程间通信(IPC)
IPC有两种方法
1,共享内存(用户进程控制)
2,消息传递(内核控制)

共享内存系统
采用共享内存的进程间通信需要通信建立共享内存区域

消息传递系统
消息传递机制允许进程不必通过共享地址空间来实现通信和同步,这在分布式环境中特别有用。
消息传递工具至少提供两种操作
发送(send)和接受(receive)
如果进程P和Q需要通信,他们必须彼此相互接收和发送消息,它们之间必须有通信线路(communication link)

通信线路的实现:
物理:

  • 共享内存
  • 硬件总线
  • 网络

逻辑

  • 直接或间接通信
  • 同步或异步通信
  • 自动或显式缓冲

直接通信
通信的每个进程必须明确地命名通信的接收者或发送者。
send(P, message):发送消息给进程P
receive(Q, message):接收来自Q的消息

特性

  • 每对进程自动建立路线,只需要知道相互的标识符
  • 一条线路只与两个进程有关
  • 每对进程只有一条线路
  • 线路可能是单向的,但通常是双向的

间接通信
通过邮箱或端口来发送和接收信息,邮箱可以抽象成一个对象,进程可以在其中存放消息,也可以删除消息。每个邮箱都有一个唯一的标识符。

假设进程P1,P2,P3都共享邮箱A,进程P1发送一个消息到A,进程P2和P3都能对A执行receive。
接收方案:

  • 允许一个线路最多与两个进程相关联;
  • 最多允许一个进程执行receive( )操作
  • 允许系统随意选择一个进程以接收消

邮箱是独立存在的,并不属于某个特定对进程。所以操作系统允许进程有以下操作:

  • 创建新邮箱
  • 通过邮箱发送和接收信息
  • 删除邮箱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值