공유 메모리
보이기
공유 메모리(Shared memory)는 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리이다. 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 고안되었다. 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행할 수 있다. (예를 들어 여러 개의 스레드 간에) 하나의 프로그램 안에서 통신을 위해 메모리를 사용하는 일은 일반적으로 공유 메모리로 부르지 않는다.
하드웨어에서
[편집]컴퓨터 하드웨어에서 공유 메모리는 멀티프로세서 컴퓨터 시스템에서 각기 다른 여러 중앙 처리 장치(CPU)가 접근할 수 있는, 일반적으로 큰 랜덤 액세스 메모리(RAM) 블록을 가리킨다.
공유 메모리는 다음을 사용할 수 있다:[1]
- 균일 기억 접근 장치(UMA)
- 불균일 기억 장치 접근(NUMA)
- 캐시 전용 메모리 구조(COMA)
소프트웨어에서
[편집]컴퓨터 소프트웨어에서 공유 메모리는 다음 중 하나이다
- 프로세스 간 통신(IPC) 방식
- 가상 메모리 매핑을 사용하거나 프로그램의 명시적 지원이 있을 때 하나의 인스턴스에 대한 데이터 사본으로의 접근을 지시하면서 메모리 공간을 보존하는 방식
같이 보기
[편집]각주
[편집]- ↑ El-Rewini, Hesham; Abd-El-Barr, Mostafa (2005). 《Advanced Computer Architecture and Parallel Processing》. Wiley-Interscience. 77–80쪽. ISBN 978-0-471-46740-3.
외부 링크
[편집]- (영어) 공유 메모리 인터페이스
- (영어) Shared Memory Introduction, Ch. 12 from book by Richard Stevens "UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications".