1概述:

上文说到,每个进程都有自己的地址空间,包括什么呢?向下生长得栈,向上生长的堆,代码段,数据段等,这些都是进程私有的,如何实现通信的呢?通信需要媒介,这个媒介很重要。

对于研发人员来说,进程不是孤立的,而是相互关联的一个整体,有一些进程需要团结协作来完成任务,所以首先他们就要通信,那通信的方式有哪些呢?首先我们粗略的知道以下几种:

1、管道:pipe 和named pipe.什么是管道?简单的说就是把一个进程的输出当做另一个进程的输入,后面再说。pipe:有亲缘关系的才能通信,named pipe: 没有亲缘关系的也能通信(通信的格式是字节流,无格式)

2.信号:有一本说上的说的好,那就是组成原理中的中断,信号是中断的一种封装(它承载的信息量很少)。

3。消息队列: 简单而言,把消息加入队列和取走信息,但是权限问题很重。

4信号量: OS上的PV操作,看看

5.socket :网络上不同主机进程通信,java网络编程重点。

以下就有5篇文章分别进行详略得当的描述,重点是信号量和socket。

ref:

http://www.ibm.com/developerworks/cn/linux/l-ipc/#toggle

最新文章

  1. MapReduce工作原理图文详解
  2. 线程(三)__Interrupt 、setDaemon()、join
  3. HDU 4348 To the moon 可持久化线段树
  4. 21335592 ROWS
  5. WPF-数据绑定:日期时间格式
  6. opencv视频播放
  7. JavaSE中Collection集合框架学习笔记(1)——具有索引的List
  8. Eclipse使用Git检出项目
  9. Django对于模型的数据操作
  10. 无法从带有索引像素格式的图像创建graphics对象
  11. 11.ingress服务
  12. java内存模型与volatile变量与Atomic的compareAndSet
  13. java构造函数修饰符
  14. 如何通过 Terminal 设置截图存储的位置
  15. RabbitMQ使用注意
  16. mysql更新表数据时报错 You can't specify target table 'RES_CATALOG_CLASSIFY' for update in FROM clause
  17. manacher模板
  18. Mac为nginx安装nginx-sticky-module
  19. go-002-语言结构
  20. asp.net如何实现负载均衡方案讨论

热门文章

  1. Windows下ANSI、Unicode、UTF8字符编码转换
  2. leetcode problem 10 Regular Expression Matching(动态规划)
  3. 禁止选择文本和禁用右键 v2.0
  4. 表格td、th强制换行
  5. STM32的GPIO
  6. BZOJ2191Splite
  7. Hbase案例分析(二)
  8. BZOJ 1634: [Usaco2007 Jan]Protecting the Flowers 护花
  9. hdu 4454 Stealing a Cake
  10. DJANGO:根据不同的环境,配置不同的SETTINGS文件,读取不同的DB,JENKINS,SALT配置