📜  IPC 完整表格

📅  最后修改于: 2021-09-23 06:48:12             🧑  作者: Mango

IPC代表进程间通信。它是进程通信的媒介。它是一种操作系统允许所有独立进程在通过网络连接的单个或多个系统内相互交互或通信的技术。同时,它可以处理许多请求。或者我们也可以说它用于在一个或多个进程中的多个线程之间共享数据。它们被进程用作抽象设备,但在操作系统中,它们可以通过多种方式实现。

IPC-全表格

通常,操作系统使用 IPC 来传输大量数据。这种技术会影响性能和能耗。像 DOS 这样的单进程操作系统不支持它。IPC 同步要同时执行的请求。因此,我们可以说,每个单独的进程都在运行而不相互影响,它们之间的通信可以看作是它们之间合作的一种方法。

工控机的特点

  • 同步和异步通信:
    每条消息都排队,发送进程导致消息被添加到远程队列,接收进程从本地队列中删除消息。这些发送和接收进程之间的这种通信可以是同步的,也可以是异步的。

    发送和接收消息在每条消息上都是同步的,在这种情况下,发送和接收都是阻塞操作。如果消息是由发送进程发送的,它会一直阻塞,直到接收进程发出接收消息,当进程收到消息时,它会被阻塞,直到下一条消息到达。

    发送操作的使用是非阻塞的,因为发送进程发送消息,消息的传输与发送进程并行进行,接收操作可以有阻塞和非阻塞两种变体。接收过程在发出接收操作后立即继续执行其程序。

  • 消息目的地:
    消息目的地是计算机内的本地端口,指定为整数。一个端口只能有一个接收者和许多发送者。
  • 可靠性:
    可以根据有效性和完整性来定义可靠通信。

    就有效性而言,如果消息安全传递且没有丢包或丢包,则点对点消息服务被定义为可靠的。

    为了完整性,消息到达时应该没有任何损坏和重复。

  • 订购:
    某些应用程序的要求是消息应该仅按发送方的顺序传递,如果消息超出发送方的顺序,那么这些应用程序应将这些消息视为失败。

优点

  • 共享信息是因为许多进程愿意共享同一条信息。
  • 任务可以被划分为子任务,然后可以在一个单独的处理器上运行,它们可以使用IPC来交换信息,这提高了程序的执行力。
  • 由于程序被分成多个代码块,每个代码块分别执行功能,因此维护和调试更容易。
  • 同时,单个用户可以执行多项任务。例如,用户可以同时听音乐,可以并行进行编辑和编译。

缺点

  • 它比直接函数调用慢。
  • 由于 IPC 编写 OS 部分需要编写一些必须考虑的消息传递 API。
  • 可能会出现需要解决的同步和内存保护等问题。
  • 进程不能写入相同的内存位置。