공유 메모리는 프로세스들 간에 필요한 데이터를 빠르고 쉽게 공유하기 위해 만들어진 방법이다.
이 공유 메모리를 통해 직접적으로 데이터 엑세스가 가능하기 때문에 여러 개의 프로세스가 데이터를 주고 받을 때에 이 공유 메모리를 사용한다.
공유 메모리를 사용하기 위해 C라이브러리에서는 다음과 같은 함수들을 제공한다.
1. shmget() : shared memory get
synopsis - int shmget(key_t key, size_t size, int shmflg);
공유 메모리 키 값을 인자로 사용하여 공유 메모리의 ID값을 리턴한다.
2. shmat() : shared memory attach
synopsis - void *shmat(int shmid, const void *shmaddr, int shmflg);
shmget() 등을 이용해 얻은 공유 메모리 ID를 인자로 사용하여 공유 메모리 주소 포인터를 리턴한다.
3. shmdt() : shared memory detach
synopsis - int shmdt(const void *shmaddr);
공유 메모리 주소 포인터를 인자로 사용하며 공유 메모리 주소를 해제한다.
'Backend > OS★' 카테고리의 다른 글
자료 표현 (0) | 2012.04.12 |
---|---|
ObjDump 사용하기 (0) | 2012.04.12 |
자바 공부 시작하고 처음으로 만들어본 앱~! (BMI 측정기 - 나는 뚱뚱한가?) (1) | 2011.06.08 |
Linux 시스템에서.. (0) | 2011.05.27 |
유용한 리눅스 명령어들. (0) | 2011.05.27 |