什麼是作業系統中的共享記憶體?


共享記憶體系統是程序間通訊的基本模型。在共享記憶體系統中,協作程序透過建立共享記憶體區域在地址空間區域進行通訊。

共享記憶體的概念基於最快的程序間通訊。

如果程序想要發起通訊並且有一些資料要共享,則在其地址空間中建立共享記憶體區域。之後,另一個程序想要進行通訊並嘗試讀取共享資料,則必須附加到發起程序的共享地址空間。

讓我們逐步瞭解共享記憶體系統的執行狀況。

工作原理

在共享記憶體系統中,協作程序進行通訊以相互交換資料。因此,協作程序在其記憶體中建立一個共享區域。程序透過讀取和寫入程序共享段中的資料來共享資料。

讓我們考慮兩個程序來討論它。下圖顯示了該圖 -

設兩個協作程序為 P1 和 P2。兩個程序 P1 和 P2 都有它們不同的地址空間。現在假設 P1 想要與 P2 共享一些資料。

因此,P1 和 P2 將必須執行以下步驟 -

步驟 1 - 程序 P1 有一些資料要與程序 P2 共享。首先,P1 採取主動權並在其自己的地址空間中建立一個共享記憶體區域,並將要共享的資料或資訊儲存在其共享記憶體區域中。

步驟 2 - 現在,P2 需要儲存在 P1 共享段中的資訊。因此,程序 P2 需要附加到 P1 的共享地址空間。現在,P2 可以從那裡讀取資料。

步驟 3 - 兩個程序可以透過讀取和寫入程序共享段中的資料來交換資訊。

優點

共享記憶體的優點如下 -

  • 共享記憶體是一種更快的程序間通訊系統。

  • 它允許協作程序同時訪問相同的資料片段。

  • 它加快了系統的計算能力,並將長任務劃分為較小的子任務,並可以並行執行。

  • 在共享記憶體系統中實現了模組化。

  • 使用者可以同時執行多個任務。

更新於:2021-11-30

17K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.