Part of the Programming glossary:

In computer programming, shared memory is a method by which program processes can exchange data more quickly than by reading and writing using the regular operating system services. For example, a client process may have data to pass to a server process that the server process is to modify and return to the client. Ordinarily, this would require the client writing to an output file (using the buffers of the operating system) and the server then reading that file as input from the buffers to its own work space. Using a designated area of shared memory, the data can be made directly accessible to both processes without having to use the system services. To put the data in shared memory, the client gets access to shared memory after checking a semaphore value, writes the data, and then resets the semaphore to signal to the server (which periodically checks shared memory for possible input) that data is waiting. In turn, the server process writes data back to the shared memory area, using the semaphore to indicate that data is ready to be read.

Other forms of interprocess communication (IPC) include message queueing, semaphores, and sockets.

This was last updated in August 2005
Contributor(s): Jeff Loiselle
Posted by: Margaret Rouse

Related Terms

Definitions

  • NetBeans

    - NetBeans is a Java-based integrated development environment (IDE). The term also refers to the IDE’s underlying application platform framework.  (SearchSOA.com)

  • scraper site

    - A scraper site is a website that features content stolen from other sites and presented as original. Scraper sites copy valuable content from legitimate websites and republish it on their own sites. (WhatIs.com)

  • site scraper

    - A site scraper is a type of software used to copy content from a website. Site scrapers work similarly to web crawlers, which essentially perform the same function for the purposes of indexing web... (WhatIs.com)

Glossaries

  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.