什么是进程间通信 (IPC)?


在操作系统中执行的不同类型的进程以及将不同类型的任务连接到操作系统的进程称为进程间通信。

进程间通信用于计算机和不同类型的任务与操作系统的互连。

在操作系统中并发执行的进程可以是独立进程或协作进程。

独立进程

它是一个独立的进程,不受系统中其他正在执行的进程的影响。任何不与任何其他进程共享数据的进程都是独立的。

协作进程

它是一个协作进程,受系统中其他正在执行的进程的影响。任何与其他进程共享数据的进程都称为协作进程。

原因

允许进程间通信的几个原因如下:

  • 信息共享 - 进程间通信用于指令共享,以及通过共享操作系统到任务来执行计算机中的多个任务和命令。需要共享信息以便执行任务。

  • 计算速度 - 进程间通信也有助于计算,以便我们可以找到输出结果,并且它在进程间通信的帮助下,操作系统和不同任务之间存在直接通信。

  • 模块化 - 用户以模块化方式构建系统,它还将进程分离成不同的模块,这称为模块化,并且可以在不同的模块中执行不同的进程。

  • 便利性 - 单个用户可以同时处理许多任务,用户可以编辑、收听音乐并同时执行所有类型的任务,因为由于进程间通信,操作系统非常方便。

现在让我们看看进程间通信 (IPC) 技术:

  • 管道-管道是 UNIX OS(操作系统)的基本版本。管道在单个系统进程之间提供单向通信。管道可以在管道系统调用的帮助下创建。

  • FIFO - 先进先出 (FIFO) 是一种单向数据流。FIFO 进程在某种程度上类似于管道;主要区别在于 FIFO 可以通过名称在文件系统中轻松识别。

  • 共享内存 - 在共享内存中,数据在程序之间传递。进程创建可供另一个进程访问的内存空间。因此,在共享内存进程通信中,为数据创建了一个内存空间,可以读取和写入该内存空间的数据。

  • 内存映射 - 在内存映射进程通信中,共享内存或文件用于在不同的处理器之间共享。内存映射机制加快了文件访问速度,并提供 IPC。

  • 消息队列 - 消息队列进程通信帮助开发人员通过一个或多个消息队列来传递消息。此通信由系统内核管理。API(应用程序编程接口)协调消息。

  • 套接字 - 套接字进程通信用于网络上的客户端和服务器之间。套接字进程提供一个标准连接,该连接独立于所使用的计算机类型和操作系统。

更新于: 2021-12-01

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告