작성
·
26
0
SoC 설계 메모리 맵과 arm 에서 말하는 메모리 맵, 그리고 process 가 보는 virtual memory map 이 다 다른데요,
os 단에서 그러면 SoC 메모리 매핑 영역(memory mapped i/o) 을 모아서 운영체제에 알려주면 운영체제가 알아서 table 에 기록하게 되는 것인가요?
또 arm architecture 가 바라보는 memory map 으로 리눅스 커널의 로더 단에서 virtual memory 공간을 바꾸어주게 되는 것인가요? 역할이 다소 헷갈립니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. platf님.
SoC(System on a Chip)의 메모리 맵과 ARM 아키텍처에서의 메모리 맵, 그리고 프로세스가 보는 가상 메모리 맵은 모두 각자의 역할과 특성에 따라 다르게 구성됩니다.
SoC 설계와 메모리 매핑:
운영체제(OS)와 메모리 매핑:
ARM 아키텍처와 메모리 맵:
리눅스 커널의 로더는 시스템 부팅 과정에서 SoC의 물리적 메모리 맵과 ARM 아키텍처의 메모리 특성에 따라 가상 메모리 맵을 구성합니다. 이로 인해 각 프로세스는 자신의 가상 메모리 공간을 갖게 되고, 운영체제는 이를 통해 메모리 보호와 효율적인 자원 사용을 보장합니다.
비슷한 주제를 다룬 게시물도 참고하시면 도움이 되실 것입니다:
- ARM 아키텍처에서의 메모리 관리 개론
질문자님께서 메모리 맵핑과 관련된 다양한 역할과 구조에 대해 보다 명확히 이해하시길 바랍니다. 추가적으로 궁금한 사항이 있으시면 언제든지 문의해주세요. 저의 설명이 도움이 되셨기를 바라며, 지식공유자님의 부가적인 답변도 기다려 주시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.