进程间通信的概述2

---恢复内容开始---

1.进程、线程与信息共享

(1)多个进程共享存留于文件系统中某个文件上的某些信息。为了访问文件系统的信息,必须穿越内核(如read、write、lseek等)。当文件更新时,既可以保护多个写入者,防止相互干扰,也可保护多个读出者,防止写入者的干扰。

(2)多个进程共享于内核中的某些信息,System V消息队列 和System V信号量也是。只要访问共享信息的每次操作涉及对内核的一次系统调用。

(3)多个进程都能用于双方访问共享内存区。进程之间一旦分配好共享的内存区,就能根本不涉及内核而访问其中的数据。

2.IPC对象的持续性

定义:该类型的一个对象一直存在多长时间。

(1)随进程持续IPC:一直存在打开着IPC对象的最后一个进程关闭该对象为止。如管道和FIFO就是这种对象。

(2)随内核持续的IPC:一直存在到内核重新自举或者显示删除IPC对象为止。如System V的消息队列、信号量、共享内存区就是这种对象。

(3)随文件系统持续的IPC:一直存在到显示删除IPC对象为止。

3.名字空间

当两个或者多个无亲缘关系的进程使用某种类型的IPC对象彼此交换信息,该IPC对象必须有一个某种形式的名字或者标识符,这样其中一个进程可以创建IPC对象,其余进程可以指定同一个IPC对象。

---恢复内容结束---

时间: 2024-08-07 09:27:16

进程间通信的概述2的相关文章

进程间通信_01概述

先了解一些词汇 进程间通信:interprocess communication 简称IPC 可移植操作系统接口:Portable Operating System Interface  简称POSIX (X 表明其对Unix API的传承) 采用IPC的目的是什么? 1 数据传输,一个进程需要传输一定量的数据给另一个进程.(如 消息队列  管道  socket) 2 资源共享,几个进程同步访问同一块内存区域.       (如 共享信号量/互斥量内存  等) 3 通知事件,知会某一事件的发生.

Linux环境编制之IPC进程间通信(一):IPC概述

进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区.但是,系统空间却是"公共场所",所以内核显然可以提供这样的条件.除此以外,那就是双方都可以访问的外设了.在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过"注册表"或其它数据库中的某些表项和记录交换信息.广义上这也是进程间通信的手段,但是一般都不把这算作"进程间通信&

一起talk C栗子吧(第八十七回:C语言实例--使用管道进行进程间通信概述)

各位看官们,大家好.上一回中咱们说的是进程间通信的样例.这一回咱们说的样例是:使用管道进行进程间通信. 闲话休提,言归正转. 让我们一起talk C栗子吧! 我们在前面的的章回中介绍了使用管道进行进程问的通信,时间不长,相信大家还记得.今天.我们介绍第二种进程间通信的方式:管道.大家都知道,我们使用信号在进程间通信时,本质上发送的是一个数值,假设想在进程之间发送一些数据时信号就无能为力了.此时,管道就派上了用场. 我们能够通过管道在进程之间发送数据. 接下来我们就具体介绍一下管道. 管道相似我们

进程间通信概述

进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源(例如打开的文件描述符). 但是,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要进程间通信( IPC:Inter Processes Communication ). 进程间通信的目的: 数据传输:一个进程需要将它的数据发送给另一个进程. 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要

Unix/Linux进程间通信(IPC) -- 概述

序 Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的.而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同.前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内:后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制.Linux则把两者继承了下来,如图示: 其中,最初Unix IPC包括:管道.FIFO

linux进程间通信-概述

一 进程间通信有如下的目的: 1.数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间:2.共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到:3.通知事件,一个进程需要向另一个或一组进程发送消息,通知它们发生了某件事情:4.资源共享,多个进程之间共享同样的资源.为了做到这一点,需要内核提供锁和同步机制:5.进程控制,有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知

Linux系统编程——进程间通信:共享内存

概述 共享内存是进程间通信中最简单的方式之一.共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针.当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改. 共享内存的特点: 1)共享内存是进程间共享数据的一种最快的方法. 一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容. 2)使用共享内存要注意的是多个进程之间对一个给定存储区访问的互斥. 若一个进程正在向共享内存区写数据,则在它做

Hadoop学习笔记_2_Hadoop源起与体系概述[续]

Hadoop源起与体系概述 Hadoop的源起--Lucene Lucene是Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 早期发布在个人网站和SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎 对于大数据的

IP地址概述(待更新)

IP地址概述 1.为了识别网络上的主机和设备,为每台主机和设备分配一个在Internet上唯一的ip地址.根据相应的ip地址即可找到对应的主机和设备. 2.ip地址由4个字节共32位二进制数组成.为方便阅读,通常写成十进制. 例: 二进制表示:00111111 . 00000000 . 00000000 . 00000000 . 00000000 十进制表示:  127   .   0   .   0    .   0    .   1 3.ip地址由网络地址和主机地址两部分组成.网络地址标识主