进程间通信

文章目录


进程通信

进程间通信就是两个进程或多个进程实现数据层面的交互,但是进程是相互独立的存在进程之间的独立性,导致了进程之间实现通信的话成本是很高的,那么要如何做到进程之间可以通信?只需要让不同进程看到同一份资源就可以了,通过管道文件,命名管道,消息队列等等实现进程之间通信。
为什么要进行进程之间通信?
就是将数据放松给对方,放松命令(一个进程控制另外一个进程)父子进程,或者进程之间有某种协同,也就要让不同进程看到同一个资源,让他们通信起来。进程之间通信就是让不同进程看到同一份资源。
进程通信目的
数据传输:一个进程需要将它的数据发送给另一个进程
资源共享:多个进程之间共享同样的资源。
通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止
时要通知父进程)。
进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另
一个进程的所有陷入和异常,并能够及时知道它的状态改变。
进程之间怎么做到通信?
进程通信的前提是让不同进程看见同一份资源,这也是进程通信的本质。那么这个资源是什么?是一个特定形式的内存空间,就是两个进程通信相当于两个人接头,要去一个指定地方完成信息交互(数据交换)!
这个资源是谁提供的?一般是由操作系统提供的!因为要保证两个进程之间的独立性不破坏彼此进程之间,就如绑匪与被绑者家属他们不会见面,然后让家属拿着赎金到指定地点,而这个公共场所不是两个之中任何一人提供,存在第三方。
在这里插入图片描述

而进程访问由操作系统提供的空间,进程通信也就变成了访问操作系统,而进程是代表用户,所有操作系统不允许直接去访问它的资源,这个资源从创建到使用释放都不允许用户直接使用,而是由操作系统提供了一个系统接口给用户以便使用(操作系统不信任用户)
在操作系统中,不止存在几个进程通信,也就导致了会存在大量的公共资源,这些通信资源越来越多,操作系统要对这些资源管理–>先描述再组织。
所有从底层设计,从接口设计都有操作系统独立设计操作系统要有独立设计模块,这一个模块隶属于文件系统!而通信这一方面在早期的时候有不同的通信准则也就就是标准,进程之间通信是有标准的!system V和posix。system 是用于本机内部之间通信,操作系统内部,posxi是用于网络之间通信,制定不同通信准则使用进程通信的人要去遵守,并且这些准则是较为成熟且让人信服的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值