双语:Interprocess Communication 进程通信
when one process creates a new process, the identity of the newly created process is passed to the parent.
当一个进程创建一个新的进程,这个新进程的id传给父母进程。
父母进程可能结束他的孩子进程的原因:
• The child has exceeded its usage of some of the resources that it has been allocated.
孩子进程超额使用它被分配到的资源。
• The task assigned to the child is no longer required.
不再需要分配给孩子进程的任务
• The parent is exiting
父母进程结束
Any process that does not share data with any other process is independent.
任何没有和其他进程共享数据的进程都是独立的
Any process that shares data with other processes is a cooperating process.
任何和其他进程共享数据的进程都是合作进程。
进程需要合作的原因:
• Information sharing.
信息共享
• Computation speedup. Notice that such a speedup can be achieved only if the computer has multiple processing cores.
提高运行速度。注意这样的提示只能在多核环境中实现。
• Modularity.
模块化运行。互不影响其他进程,线程。
• Convenience.
便利。一个用户也会运行多个任务
There are two fundamental models of interprocess communication: shared memory and message passing.
有两个主要的进程间通信的模式:共享内存和信息传递。
In the shared-memory model, a region of memory that is shared by cooperating processes is established.
在共享内存模式中,会确立一个区域的内存被合作进程共享。
Processes can then exchange information by reading and writing data to the shared region.
进程可以通过读取该区域内存交换信息。
In the message-passing model, communication takes place by means of messages exchanged between the cooperating processes.
在信息传递模式,通信任务由合作进程间交换信息完成的。
Message passing is useful for exchanging smaller amounts of data, because no conflicts need be avoided.
在交换小量数据的时候信息传递比较有效,因为不会发生数冲突。
Shared memory can be faster than message passing, since message-passing systems are typically implemented using system calls and thus require the more time-consuming task of kernel intervention.
共享数据模式会比信息传递模式要快,因为信息传递模式需要通过系统调用,就需要kernel干涉,要求更多的时间消耗任务。
In shared-memory systems, system calls are required only to establish shared memory regions.
在数据共享系统中,系统调用只在建立共享数据区域的时候需要。
Once shared memory is established, all accesses are treated as routine memory accesses, and no assistance from the kernel is required.
一旦共享数据建立起来,所有的访问都只是被认为是一般的内存访问,不需要kernel的协助。
Recent research on systems with several processing cores indicates that message passing provides better performance than shared memory on such systems.
最近的研究表明在多核系统环境中,信息传递比共享数据模式提供了更好的性能。
Shared memory suffers from cache coherency issues, which arise because shared data migrate among the several caches.
共享数据模式有缓冲一致性的麻烦,因为数据共享区域会跨多个缓冲。
双语:Interprocess Communication 进程通信的更多相关文章
- WPF 进程间通讯----inter-process communication
进程间通讯--inter-process communication 进程间相互通讯的方法有很多,如用web services,xml 等互相读取, 网络的可以使用socket 等. 2个WinFo ...
- linux 之进程间通信-------------InterProcess Communication
进程间通信至少可以通过传送打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里,都使用了这种方法.但一般说来,进程间 通信(IPC:InterProcess Communi ...
- Linux下进程通信之管道
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...
- 进程间通信IPC (InterProcess Communication)
一.进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区, ...
- linux 进程通信之 管道和FIFO
进程间通信:IPC概念 IPC:Interprocess Communication,通过内核提供的缓冲区进行数据交换的机制. IPC通信的方式: pipe:管道(最简单) fifo:有名管道 mma ...
- android跨进程通信(IPC)——AIDL
转载请标明出处: http://blog.csdn.net/sinat_15877283/article/details/51026711: 本文出自: [温利东的博客] 近期在看 @任玉刚 大神编写 ...
- 【APUE】Chapter15 Interprocess Communication
15.1 Introduction 这部分太多概念我不了解.只看懂了最后一段,进程间通信(IPC)内容被组织成了三个部分: (1)classical IPC : pipes, FIFOs, messa ...
- java多线程上篇(三) -- 进程通信和线程死锁简单介绍
进程通信指的是进程间的信息交换 ,IPC(Inter-Process Communication,进程间通信) 进程通信就相当于一种工作方式.沟通形式,进程通信主要指的就是操作系统提供的进程通信工具( ...
随机推荐
- mysql索引原理剖析
一.索引的原理 所谓索引,即是快速定位与查找,那么索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(B+树相比B树,其非叶子节点占用更小的空间,可以有更多非叶子节点存放在再内存中,减少大量的IO ...
- 修改无线wifi网络名称。注册表。windows 无线属性 windows 无线 配置文件
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha windows 无线属性 windows 无线 配置文件 ======= 修改完成,之后 ...
- hihoCoder.1465.后缀自动机五 重复旋律8(后缀自动机)
题目链接 \(Description\) 给定母串S,求模式串的循环同构串在S中的出现次数. \(Solution\) 将模式串s复制一遍,在母串的SAM上匹配,记录以每个位置作为后缀所能匹配的最大长 ...
- Android中,利用Intent传递对象值
在很多情况下,调用startActivity(Intent) 方法,跳转到另外一个Activity或其他component,需要传递一个对象给它. 可以让这个要传递的对象所属类实现Serializab ...
- 完全卸载oracle11g步骤(转)
转自:http://blog.csdn.net/machinecat0898/article/details/7792471 完全卸载oracle11g步骤:1. 开始->设置->控制面板 ...
- [原创]用Charles模拟App各种网络带宽测试介绍
[原创]用Charles模拟App各种网络带宽测试介绍 相信每个测试在进行自己公司App测试时,都会碰到一个问题,如何去模拟各种App在各种带宽下的测试情况,估计很少有公司直接去采用2g/3g/4g卡 ...
- Linux Shell脚本入门--wc命令
wc 统计文件里面有多少单词,多少行,多少字符. wc语法 [root@www ~]# wc [-lwm] 选项与参数: -l :仅列出行: -w :仅列出多少字(英文单字): -m :多少字符: 默 ...
- 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰
[教程]新手如何制作简单MAD和AMV,学不会那都是时 http://tieba.baidu.com/p/2303522172 [菜鸟教你做MAD]Vegas制作MAD入门教程 http://tieb ...
- GetKeyState(vk_control)
GetKeyState(vk_control) 返回负数 , 说明按键被按下了
- OData查询ASP.NET Web API全攻略
本篇使用ASP.NET Web API来体验OData各种query. 首先是本篇即将用到的Model.使用的OData版本是4.0. public class Customer { public i ...