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

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

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

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

独立流程

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

合作流程

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

原因

允许进程间通信的原因有以下几个 -

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

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

  • 模块化- 用户以模块化方式构建系统,并将过程分为不同的模块,称为模块化,不同的过程可以在不同的模块中执行。

  • 便利- 个人用户可以同时处理许多任务,用户可以一次编辑、听音乐和完成所有类型的任务,因为操作系统由于进程间通信而非常方便。

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

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

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

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

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

  • 消息队列- 消息队列进程通信可帮助开发人员在单个或多个消息队列的帮助下传递消息。这种通信由系统内核管理。API(应用程序接口)协调消息。

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