Computer Science/Operating System

[OS] 18장: 메모리 가상화의 Paging

kyxxn 2024. 6. 30. 01:30
728x90

18장: 메모리 가상화의 Paging

  • 세그먼트 복습
    • 주소 변환 = Segment Table
    • 공유 및 보호 기능 제공
    • 빈 공간 탐ㅅ맥 오버헤드 및 외부 단편화 문제

페이징 개요

  • 주소변환 = 페이지 테이블 사용

  • 가상 주소 공간

    → 동일한 크기의 페이지로 분할

  • 물리 주소 공간

    → 동일한 크기의 페이지 프레임으로 분할

페이징 장점

  • 유연성

    • 프로세스 주소공간 상관없이 효율적임
    • heap, stack, .. 신경 X
  • 단순성

    • 페이지 크기 = 페이지 프레임 크기
    • 빈공간 관리가 간단함

페이징 단점

→ 내부 단편화

페이징 사용

  • 물리 주소 = 128byte
  • 가상 주소 = 64byte
  • 페이지 프레임크기 = 16byte

주소 변환

  • 가상 주소의 두 가지 요소
    • VPN = Virtual Page Number (위 사진에선 4개만 필요 = 2비트)
    • Offset
  • 물리 주소를 알려면 ?
    • 가상 페이지 → 페이지 프레임 정보를 얻어야 함

만약 가상 주소에서 21번지가 선택됐다면 ?

10101, VPN = 1, Offset = 0101

Page Table[VPN] = 7, 페이징 프레임 = 11

페이지 테이블 저장 및 내용

어디에 저장 ?

→ 메모리에 저장함

페이지 테이블 내용은 ?

→ PTE (Page Table Entry): 가상주소에 대응하는 물리주소

전체적으로 1차원 배열

퀴즈

가상주소공간 64byte = 6비트

물리주소공간 128byte = 7비트

한 페이지 크기 = 16byte

  • 0x31

    0011 0001

    VPN = 11, Offset = 0001

    물리주소 0010 0001 = 0x21

  • 20

    010100

    VPN = 01, Offset = 0100

    물리주소 = 111 0100 = 0x74

  • 0b1001

    001001

    VPN = 00, Offset = 1001

    물리주소 = 011 1001 = 0x39

'Computer Science > Operating System' 카테고리의 다른 글

[OS] 28장: Locks  (0) 2024.07.02
[OS] 19장: TLB (Translation Lookaside Buffers)  (1) 2024.07.01
[OS] 17장: Free-Space Management  (0) 2024.06.29
[OS] 16장: Segmentation  (0) 2024.06.28
[OS] 15장: 주소 변환의 원리  (0) 2024.06.27