进程间通信

简介: 进程间通信

什么是进程通信

百度百科:进程通信是指在进程间传输数据(交换信息)。

也就是说,进程通信,就是不同进程之间,来进行的信息交换。

进程间通信(IPC)的一般目的,大概有数据传输、共享数据、通知事件、资源共享和进程控制等。

为什么需要进程通信

那么为什么会需要进程通信的存在呢?

我们知道,操作系统中最核心的概念就是进程,进程是对正在运行中的程序的一个抽象,是系统进行资源分配和调度的基本单位。每个进程都有独立的代码和数据空间,系统在运行的时候会为每个进程分配不同的内存空间

也就是说,在操作系统层面,进程属于最小颗粒,两个进程之间,是没有什么关联性的,是隔离的,当两个进程间需要进行信息交换的时候,就需要用到进程通信。

进程通信的方式

这部分属于操作系统的内容,想详细了解的可以找操作系统的书来看一下

进程通信的方式有七种,分别是:

管道pipe

半双工/单项通信/父子/依赖文件系统

有名管道FIFO

全双工/不需要亲缘关系/命名管道/先进先出

共享内存shared memory

互相通信

消息队列message queue

链表 ,互相通信

信号量semophore

计数器,控制对共享资源的访问,pv操作

保护上面的 共享内存shared memory

信号sinal

异步通信,通知接收进程某个事件已经发生

以下为linux中的信号

套接字socket

不同主机间进行通信用这个,同个主机内的进程也可以用

远程调用

不同主机进程间的通信,就是通过socket,是否还有其他方式,

http应该算一种。

redis的实现

此处提到redis,是因为,redis的客户端和服务端,其实就是通过socket来连接的,可以注意一下。

相关文章
|
1月前
|
存储 人工智能 运维
日志服务&云监控全新发布,共筑企业智能运维新范式
阿里云推出Operation Intelligence新范式,通过日志服务SLS与云监控2.0,实现从感知、认知到行动闭环,推动运维迈向自决策时代。
217 1
日志服务&云监控全新发布,共筑企业智能运维新范式
|
分布式计算 Hadoop 数据挖掘
6个常用大数据分析工具集锦
6个常用大数据分析工具集锦
471 0
|
存储 SQL NoSQL
【Java面试八股文宝典之MongoDB篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day18
【Java面试八股文宝典之MongoDB篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day18
357 0
【Java面试八股文宝典之MongoDB篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day18
|
小程序 测试技术 开发工具
【小程序自动化Minium】一、框架介绍和环境搭建
【小程序自动化Minium】一、框架介绍和环境搭建
【小程序自动化Minium】一、框架介绍和环境搭建
|
消息中间件 算法 Java
如何基于Nacos集群部署方案? | 带你读《Spring Cloud Alibaba(2019)》之八
本节介绍Nacos的集群部署,Nacos对比Zookeeper、Eureka之间的区别,以及什么是分布式系统一致性算法。
8648 0
如何基于Nacos集群部署方案? | 带你读《Spring Cloud Alibaba(2019)》之八
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。