什么是操作系统中的共享内存?
共享内存系统是进程间通信的基本模型。在共享内存系统中,协作进程通过建立共享内存区域在地址空间区域进行通信。
共享内存的概念基于最快的进程间通信。
如果进程想要发起通信并且有一些数据要共享,则在其地址空间中建立共享内存区域。之后,另一个进程想要进行通信并尝试读取共享数据,则必须附加到发起进程的共享地址空间。
让我们逐步了解共享内存系统的运行状况。
工作原理
在共享内存系统中,协作进程进行通信以相互交换数据。因此,协作进程在其内存中建立一个共享区域。进程通过读取和写入进程共享段中的数据来共享数据。
让我们考虑两个进程来讨论它。下图显示了该图 -
设两个协作进程为 P1 和 P2。两个进程 P1 和 P2 都有它们不同的地址空间。现在假设 P1 想要与 P2 共享一些数据。
因此,P1 和 P2 将必须执行以下步骤 -
步骤 1 - 进程 P1 有一些数据要与进程 P2 共享。首先,P1 采取主动权并在其自己的地址空间中建立一个共享内存区域,并将要共享的数据或信息存储在其共享内存区域中。
步骤 2 - 现在,P2 需要存储在 P1 共享段中的信息。因此,进程 P2 需要附加到 P1 的共享地址空间。现在,P2 可以从那里读取数据。
步骤 3 - 两个进程可以通过读取和写入进程共享段中的数据来交换信息。
优点
共享内存的优点如下 -
共享内存是一种更快的进程间通信系统。
它允许协作进程同时访问相同的数据片段。
它加快了系统的计算能力,并将长任务划分为较小的子任务,并可以并行执行。
在共享内存系统中实现了模块化。
用户可以同时执行多个任务。
广告