操作系统---关于进程通信

操作系统–进程通信

1、概念:进程之间的通信就是进程之间的信息交换

2、为什么有进程通信:

 进程是一个独立的单位,拥有的内存地址空间都是独立的。
 但是信息交换也是必须的,所以要有进程之间的通信。

3、进程通信方法—共享存储

  操作系统为通信进程分配共享的空间,但是需要互斥访问。
  基于数据结构的共享:比如共享空间只能放长度为10的数组,速度慢,是一种低级通信方式
  基于存储区的共享:操作系统提供一块共享存储区,但是数据的存放形式,存放位置都是进程自己控制,是一种高级的通信方式

4、进程通信方法—管道

 管道:连接读写进程的一个共享文件,大小是固定的 管道采用半双工的通信.
 一个时间段只能实现单向的传输,需要实现双向的通信就要两个管道。
每个进程需要互斥的访问管道
数据是以字符流的形式写入管道的,管道写满,写进程的write()系统调用就会被阻塞,等待数据被取走。
读进程把数据全部取走后,管道变空,此时读进程的read()系统调用就会被阻塞
如果没有被写满,不允许读,没有读完,就不允许写 数据读出后,就会被管道抛弃,意味着读进程只能有一个,避免读数据错误。

5、程通信方法—消息传递

   进程间的通信通过格式化消息为单位,格式化的消息包括消息头与消息尾。
   需要使用到操作系统的发送与接收原语
   直接通信:把消息直接挂在进程的消息缓冲队列上。
   间接通信:需要首先把消息先发送到一个中间体--信箱。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值