进程通信的含义

含义

进程是转入内存并准备执行的程序,每个程序都有私有的虚拟地址空间,由代码,数据以及它可利用的系统资源(如文件,管道)组成.多进程/多线程是windows操作系统的一个基本特征.Linux系统一般都统称为进程.
由于不同的进程运行在各自不同的内存空间中,其中一个进程对于变量的修改另一方是无法感知的,因此,进程之间的消息传递不能通过变量或其他数据结构直接进行,只能通过进程间通信来完成. 进程间通信是指不同进程间进行数据共享和数据交换 .

进程通信的分类

根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信( 低级通信 )和大批数据信息的通信( 高级通信 ).
低级通信主要用于进程之间的同步,互斥,终止和挂起等等控制信息的传递.
高级通信主要用于进程间数据块数据的交换和共享,常见的高级通信有管道,消息队列,共享内存等.
进程通信的方式

1)文件和记录锁定

为避免两个进程间同时要求访问同一资源而引起访问和操作的混乱, 在进程对共享资源进行访问前必须对其锁定 , 该进程访问完后再释放 . 这是为共享资源提供的互斥性保障.

2)管道

管道是一种半双工的通信方式,数据只能单向流动,而且 只能在具有亲缘关系的进程间使用 . 进程的亲缘关系一般指的是父子关系.管道一般用于两个不同进程之间的通信.当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式.

3)有名管道

有名管道也是一种半双工的通信方式,但是它 允许无亲缘关系进程间的通信 .

4)FIFO

FIFO是一种先进先出的队列.它类似于一个管道,只允许数据的单向流动.每个FIFO都有一个名字,允许你不相关的进程访问同一个FIFO,因此也成为命名管.

5)信号量

信号量是一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值