Índice:
Definição - O que significa Memória Compartilhada?
Memória compartilhada para software é um tipo de memória que pode ser compartilhada por vários aplicativos ou processos com o objetivo de fornecer comunicação entre aplicativos ou evitar cópias de dados redundantes. Esse é um meio eficiente de compartilhar ou transmitir dados, pois elimina a necessidade de usar outro processo, como entrada / saída (E / S). Um aplicativo salva os dados na memória compartilhada, enquanto outro aplicativo pode usá-los quando encontrados.
No contexto de processadores, a memória compartilhada faz parte da memória de acesso aleatório (RAM) que pode ser acessada por todos os processadores em um sistema com vários processadores.
Techopedia explica Memória Compartilhada
A memória compartilhada para software é uma maneira de diferentes programas se comunicarem e passarem dados sem mais sobrecarga dos processos de comunicação. Com a memória compartilhada, um programa grava na memória compartilhada todos os dados que precisa de outro programa para receber.
Por exemplo, se o Programa A deseja fornecer uma lista ao Programa B, ele salva os dados na memória compartilhada e os marca com um semáforo ou outro sistema de sinalização para sinalizar que está pronto para ser lido pelo Programa B.
Quando o Programa B encontra o arquivo, ele verifica o semáforo para ver se é permitido tocar nesse arquivo. Se permitido, ele faz o que precisa fazer com o arquivo, coloca-o na memória compartilhada ou atualiza-o. Ele também atualiza o semáforo, para que o Programa A saiba que deve levar o arquivo.
Em termos de hardware, especificamente microprocessadores, a memória compartilhada é um grande bloco de RAM usado por vários processadores. É fácil programar, porque todos os processadores compartilham a mesma visualização de dados, facilitando a comunicação mais rápida. No entanto, isso pode ficar complicado porque os processadores armazenam em cache a memória para acesso mais rápido, o que pode levar a problemas como a coerência do cache.