인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

류돌프님의 프로필 이미지
류돌프

작성한 질문수

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. multi process환경에서 process간에 데이터를 어떻게 주고 받을까요? (외 2문제)

IPC - 공유 메모리 방식의 작은 궁금증 있습니다.

작성

·

544

2

노션에서 IPC - 메모리 공유 방식을 설명할 때, "주소 공간의 일부를 공유" 한다고 하더라구요. 

이 말은 이미 RAM 메모리 어딘가에 적재된 프로세스는, 메모리 상의 주소 공간을 가질 것이고, 그 주소 공간을 복사(?) 하여 공유 한다는 개념으로 이해하면 될까요? 

답변 1

0

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 파이후님!!

 

IPC에서 메모리공유 방식을 설명드릴 때, "주소 공간의 일부를 공유"한다고 말씀 드렸습니다. 해당 강의의 4분정도에서 그림으로 설명드렸듯이 이 말뜻은 다음과 같아요.

 

 

 

RAM메모리상에 올려져 있는 process1의 공간과 process2의 공간은 잘 나누어져 있고, 서로 침범할 수 없습니다.

shared memory는 process1과 process2가 모두 접근할 수 있는데, 실제 RAM메모리 상에서는 process1와 process2에 어느곳에도 속하지 않습니다.

 

하지만 논리적으로는 process1 입장에서는 shared memory는 내가 접근할 수 있는 공간이고 (그림의 왼쪽 부분), process2 입장에서도 shared memory는 내가 접근할 수 있는 메모리 공간이기 때문에(그림의 오른쪽 부분), 그 메모리 공간을 공유하고 있게 되는 것입니다.

 

파이후님께서 말씀해주신 "주소를 복사하여 공유"하는 개념은 아닙니다~

 

혹시 궁금증이 풀리지 않은게 있다면 더 질문해 주세요 :)

 

 

 

 

 

 

 

 

류돌프님의 프로필 이미지
류돌프

작성한 질문수

질문하기