ALERT

[LAST CHANCE] Data Layer: Modern Business, Defined

Shared Memory

Definition - What does Shared Memory mean?

Shared memory for software is a type of memory that can be shared by multiple applications or processes with the intent of providing inter-application communication or avoid redundant data copies. This is an efficient means of sharing or passing data because it removes the need to use other process like input/output (I/O). One application saves the data in shared memory, while another application may use it when found.

In the context of processors, shared memory is a part of random access memory (RAM) that can be accessed by all the processors in a multi-processor system.

Techopedia explains Shared Memory

Shared memory for software is a way for different programs to communicate and pass data without more overhead from communications processes. With shared memory, one program writes to the shared memory any data it needs another program to receive.

For example, if Program A wants to give a list to Program B, it saves the data in shared memory and marks it with a semaphore or other flagging system to signal that it is ready to be read by Program B.

When Program B finds the file, it checks the semaphore to see if it is allowed to touch that file. If allowed, then it does what it needs to do to the file, puts it in shared memory or updates it. It also updates the semaphore, so that Program A knows that it should take the file.

In terms of hardware, specifically microprocessors, shared memory is a large block of RAM used by multiple processors. It is easy to program because all processors share the same view of data, facilitating faster communication. However, this can get complicated because processors cache memory for faster access, which can lead to problems like cache coherence.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
Tweat cdn.techopedia.com
"Techopedia" on Twitter


'@Techopedia'
Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Resources
The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.