双语: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,进程间通信) 进程通信就相当于一种工作方式.沟通形式,进程通信主要指的就是操作系统提供的进程通信工具( ...
随机推荐
- Oracle数据库11gR2的卸载 - deinstall
从Oracle 11gR2开始,Oracle推荐使用deinstall来卸载Oracle数据库.使用Oracle Universal Install(OUI) 的图形方式来卸载Oracle数据库软件了 ...
- android 滑动冲突
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 通过move事件的 拦截. 在滑动组件中,重写 在拦截触摸事件的时候 这个方法, 然后 ...
- P1828 香甜的黄油 Sweet Butter
对于这道洛谷ac而我整了一下午的codevs的题,我也是很绝望啊. 原因是队列数组开小了我勒个去???我说STL怎么能过 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧 ...
- 详解没有dSYM文件 如何解析iOS崩溃日志
Xcode支持崩溃日志自动符号化,前提是本地有当时Build/Archive生成的dSYM文件,iOS崩溃日志符号化后,可以帮助开发者更好的定位问题,但如果dSYM文件丢失或拿到的崩溃日志不是标准的c ...
- [原创]SpotLight性能监控工具使用介绍
[原创]SpotLight性能监控工具使用介绍 1 Spotlight工具是什么? SpotLight 是由Quest公司出品的一款第三方性能监控的图形化工具.SpotLight有一些的产品诸如可以 ...
- jPlayer插件的使用
文讲一下本人在使用jPlayer插件时的整个过程.出现的BUG已经解决办法. 最近在做bootstrap项目,项目中需要一个响应式.兼容IE7的视频播放插件,经过上网查找,找到了所谓可以兼容到IE6的 ...
- [Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
关于管道 Channel Channel 用来同步并发执行的函数并提供它们某种传值交流的机制. Channel 的一些特性:通过 channel 传递的元素类型.容器(或缓冲区)和 传递的方向由“&l ...
- Revit API创建墙的保温层修改墙厚度
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] / ; ; ...
- delphi dxRibbon中 F10快捷键不好用的原因
最近在项目中使用ribbon ,用F10做快捷键,但是不好用, 不好用的原因是dxBarManager1 中的有个选项UseF10ForMenu, 把这项关闭就可以了
- Execute Javascript in iOS Applications
In this tutorial, I have covered How to execute JavaScript in iOS / Objective-C. You can execute Jav ...