什麼是作業系統中的共享記憶體?
共享記憶體系統是程序間通訊的基本模型。在共享記憶體系統中,協作程序透過建立共享記憶體區域在地址空間區域進行通訊。
共享記憶體的概念基於最快的程序間通訊。
如果程序想要發起通訊並且有一些資料要共享,則在其地址空間中建立共享記憶體區域。之後,另一個程序想要進行通訊並嘗試讀取共享資料,則必須附加到發起程序的共享地址空間。
讓我們逐步瞭解共享記憶體系統的執行狀況。
工作原理
在共享記憶體系統中,協作程序進行通訊以相互交換資料。因此,協作程序在其記憶體中建立一個共享區域。程序透過讀取和寫入程序共享段中的資料來共享資料。
讓我們考慮兩個程序來討論它。下圖顯示了該圖 -

設兩個協作程序為 P1 和 P2。兩個程序 P1 和 P2 都有它們不同的地址空間。現在假設 P1 想要與 P2 共享一些資料。
因此,P1 和 P2 將必須執行以下步驟 -
步驟 1 - 程序 P1 有一些資料要與程序 P2 共享。首先,P1 採取主動權並在其自己的地址空間中建立一個共享記憶體區域,並將要共享的資料或資訊儲存在其共享記憶體區域中。
步驟 2 - 現在,P2 需要儲存在 P1 共享段中的資訊。因此,程序 P2 需要附加到 P1 的共享地址空間。現在,P2 可以從那裡讀取資料。
步驟 3 - 兩個程序可以透過讀取和寫入程序共享段中的資料來交換資訊。
優點
共享記憶體的優點如下 -
共享記憶體是一種更快的程序間通訊系統。
它允許協作程序同時訪問相同的資料片段。
它加快了系統的計算能力,並將長任務劃分為較小的子任務,並可以並行執行。
在共享記憶體系統中實現了模組化。
使用者可以同時執行多個任務。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP