티스토리 뷰
공유메모리
보통은 프로세스에서 사용하는 메모리 영역은 해당 프로세스만 사용할 수 있다.
하지만, 프로프레임 영역에서는 한 서비스와 연동되는 기타 서비스들 모두가 함께 쓰는 영역이 필요할 때가 있다.
이러한 일들이 공유메모리가 가능케 해준다
모든 프로세스는 업무를 처리하기 위한 공간을 가지게 된다.
이런 공간에 들어가는 내용들은 커널 명령어, 초기화된 데이터, 함수호출시 필요한 정보, 동적할당이 이뤄지는 데이터등이 있다.
메모리 공간을 얻기 위해선 커널에 요구를 해야한다. 그 뒤, 만들어진 공간은 요청한 프로세스만 접근이 가능하다.
요청한 프로세스뿐 아닌, 다른 여러 프로세스가 이러한 공간접근이 필요할 경우, 공유 메모리를 사용한다.
공유메모리는 IPC중에서 가장 빠른 수행속도를 보여준다.
-> IPC : 프로세스 간 통신
하나의 메모리에 접근하다보니, 오버헤드가 생기지 않아 빠른 접근이 가능하다.
다만, 공유메모리를 사용하는 여러 프로세스중 2개이상 프로세스가 같은영역을 건드리게 된다면 데이터가 훼손이 될수있는 여지가 있다.
따라서, 하나의 프로세스만이 메모리에 접근할 수 있음을 보장해줘야 한다.
* 세마포어 : 공유된 자원의 데이터를 여러 프로세스가 접근하지 못하게 막는것.
* 뮤텍스 : 공유된 자원의 데이터를 여러 쓰레드가 접근하지 못하게 막는것.
'IT > Linux command' 카테고리의 다른 글
방화벽문제 해결 (0) | 2021.06.16 |
---|---|
[리눅스] C언어 getopt 예시 (0) | 2021.06.15 |
[Secure CRT] 화면 클리어 단축키/초간단 (1) | 2020.03.24 |
[LINUX]Vi 사용시 나타나는 에러/E576: viminfo (0) | 2020.03.23 |
[linux] ldd 사용법/사용 예시/ldd 명령어 초간단 정리/ (0) | 2020.03.03 |
댓글