[Pintos] Virtual Memory Layout 정리

2025. 5. 30. 22:14·크래프톤 정글/Code 정글(C언어)

Virtual Memory Layout 정리

Virtual Memory 구현을 시작하기 전에, Virtual Memory가 어떻게 구성되어 있는지를 팀 전체가 명확히 이해할 필요성을 느꼈는데요. 이에 따라 함께 모여서 가상 메모리 레이아웃을 보드에 정리하는 시간을 가졌습니다.

 

그 과정에서 전통적으로 코드 세그먼트(code segment)의 시작 주소는 0x400000이라는 것을 확인할 수 있었습니다. 하지만 실제로 Pintos가 프로그램을 실행할 때 사용하는 코드 세그먼트의 시작 주소는 0x08048000이라는 점도 함께 알게 되었지요.

 

또한, 가상 주소 공간에서 페이지는 세그먼트별로 연속적인 주소를 가지며 증가하지만, 실제로 이를 저장하는 물리 주소 공간에서 프레임의 주소는 할당되는 순서대로 결정되기 때문에 연속적이지 않습니다. 즉, 가상 주소의 연속적인 페이지는 물리 메모리 상에서는 서로 떨어진 프레임에 매핑될 수 있습니다.

 

이러한 매핑 방식 덕분에 물리 메모리에서는 불연속적으로 분산되어 있어도, 가상 메모리의 관점에서는 마치 연속된 공간처럼 효율적으로 관리할 수 있습니다.

 

 

가상 메모리 레이아웃

 

저작자표시 비영리 변경금지 (새창열림)

'크래프톤 정글 > Code 정글(C언어)' 카테고리의 다른 글

[Pintos] Virtual Memory 구현하기 Part1: Lazy Load 방식으로 프로그램 실행하기 (Memory Management, Anonymous Page, Stack Growth)  (1) 2025.06.06
[Pintos] OSTEP 기반 Virtual Memory 배경지식 정리: 왜 VM이 필요한가  (0) 2025.05.31
[Pintos] Virtual Memory 전체적인 큰 그림 그리기  (1) 2025.05.30
[Pintos] Pintos-Kaist Project2 User Programs Solution 및 Docker 기반 프로젝트 실습 템플릿  (0) 2025.05.27
[Pintos] User Programs 테스트 및 디버깅 정보 공유  (0) 2025.05.24
'크래프톤 정글/Code 정글(C언어)' 카테고리의 다른 글
  • [Pintos] Virtual Memory 구현하기 Part1: Lazy Load 방식으로 프로그램 실행하기 (Memory Management, Anonymous Page, Stack Growth)
  • [Pintos] OSTEP 기반 Virtual Memory 배경지식 정리: 왜 VM이 필요한가
  • [Pintos] Virtual Memory 전체적인 큰 그림 그리기
  • [Pintos] Pintos-Kaist Project2 User Programs Solution 및 Docker 기반 프로젝트 실습 템플릿
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리)
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어)
        • Equipped in 정글(나만무) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[Pintos] Virtual Memory Layout 정리
상단으로

티스토리툴바