inflearn logo
강의

Course

Instructor

Linux IPC Programming - Theory and Practice

Shared Memory (memory mapped)

fork() 후 address

Resolved

40

random123

5 asked

0

28:07

Anonymous 맵핑을 통해서 어떤 메모리를 맵핑을 했잖아요.

맵핑을 해온 다음에 그 다음에 fork를 하는 거예요.

그럼 얘는 이미 어떤 영역에 맵핑된 것 자체를 그대로 주소를 갖고 오게 되죠.

그래서 얘가 address 그 자체가 다르지만 실제 이 가상의 파일에 맵핑됐다 라는 점은 변함이 없죠.

 

address가 다르다고 하셨는데,

mmap으로 반환된 그 address값 자체는 parent나 child나 같은 게 아닌지요??

 

 

linux

Answer 2

0

learnit

안녕하세요 random123님

말씀하신 대로 address 값 자체는 parent와 child에서 같은 것이 맞습니다. 제가 강의 레코딩을 하면서 프로세스의 어드레스 스페이스가 다르지만 이 가상의 파일에 매핑됐다는 점은 변함이 없다고 설명하려고 하다가 말이 헛나온 것 같습니다.ㅠㅠ

꼼꼼하게 수강하시고 질문주셔서 감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. random123님.

fork() 함수는 부모 프로세스의 메모리 공간 전체를 자식 프로세스에 복제합니다. 따라서 메모리 맵 파일을 mmap()으로 매핑한 후 fork()를 호출하면, 부모와 자식은 동일한 물리 메모리 주소를 가리키지만, 각자의 가상 메모리 주소 공간에서 접근하게 됩니다. 이 말은 가상 메모리 주소는 부모와 자식 프로세스에서 다를 수 있다는 것을 의미합니다.

관련된 질문과 답변은 다음 링크들을 참고하시면 도움이 될 것 같습니다:

이 게시물들에서는 fork()와 메모리 매핑의 내부적인 작동 원리에 대해 다루고 있어, 관련된 이해를 높이는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

bind(): Address already in use

0

59

2

POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법

0

215

2

강의 순서

0

262

1

강의자료 질문

0

243

1

수업 관련 질문

0

354

3

안녕하세요! 메세지 큐 방식에 대해 질문있습니다.

0

268

1

리눅스는 디버깅이 없나요?

1

722

1

fcntl 에서 Read/Write 기능

1

354

1

시스템 프로그래밍 향후 공부

1

507

1

Shared Memory와 동기화 관련

1

1182

1

거의 모든 함수를 static 선언하시는 이유는 무엇인가요?

1

2327

1

SHM_REMAP

1

317

2

recvfrom 질문

1

715

6

컴파일 질문입니다

1

675

1

partial send/recv에 관하여

1

670

1

스레드끼리의 통신에도 적용가능한가요?

1

375

1

File Lock API - 정리 table에서 multi-thread 사용가능시....

1

412

1

WSL Ubuntu에서 메시지 큐

1

464

1

shared memory(14강) live programming file mapping 에 관한 질문입니다.

1

204

1

에러 - bind(): Address already in use

1

1137

1

POSIX MQ의 설정 문의

1

603

2

accept 함수에 대한 문의

1

294

1

datagram socket 구현시 recvfrom에서 블록킹됩니다.

1

1506

1

counting semaphore에 대해서 질문이 있습니다

0

307

3