공유 메모리(Shared memory)는 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리이다. 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 고안되었다. 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행할 수 있다. (예를 들어 여러 개의 스레드 간에) 하나의 프로그램 안에서 통신을 위해 메모리를 사용하는 일은 일반적으로 공유 메모리로 부르지 않는다.
컴퓨터 하드웨어에서 공유 메모리는 멀티프로세서 컴퓨터 시스템에서 각기 다른 여러 중앙 처리 장치(CPU)가 접근할 수 있는, 일반적으로 큰 랜덤 액세스 메모리(RAM) 블록을 가리킨다.
공유 메모리는 다음을 사용할 수 있다:[1]
컴퓨터 소프트웨어에서 공유 메모리는 다음 중 하나이다