PintOS Virtual Memory

김수환·2024년 11월 23일

PintOS

목록 보기
14/15

PintOS 가상 메모리 주간이 밝았다.

본격적인 코드 분석에 앞서, 본 주차를 진행하는데 필요한 기본 지식에 대한 키워드 정리부터 진행하겠다.

주요 키워드 간략 설명

  1. Virtual Memory
    • 실제 물리 메모리보다 더 큰 메모리를 사용하는 것처럼 보이도록 설계된 메모리 관리 기술.
    • 물리적 메모리와 디스크 공간을 조합하여 프로세스마다 독립적인 메모리 공간을 제공.
    • 페이지 단위로 관리되며, 효율성과 보안을 강화.
  2. Page Table
    • 가상 주소를 물리 주소로 변환하기 위해 사용하는 데이터 구조.
    • 각 페이지의 가상 주소가 물리 메모리에서 어디에 매핑되는지 기록.
    • TLB 미스가 발생할 때 참조됨.
  3. Translation Lookaside Buffer (TLB)
    • 자주 참조되는 페이지 테이블 엔트리를 저장하는 캐시 메모리.
    • 메모리 접근 속도를 높이기 위해 사용.
    • TLB 미스가 발생하면 페이지 테이블을 탐색.
  4. Page Fault
    • 프로세스가 접근하려는 페이지가 물리 메모리에 없는 경우 발생하는 예외.
    • 운영 체제가 해당 페이지를 디스크에서 로드하여 처리.
    • 심각한 성능 저하를 방지하기 위해 최소화해야 함.
  5. Lazy Loading
    • 필요한 시점에 데이터나 리소스를 로드하는 전략.
    • 초기 로딩 시간을 단축시키고 메모리 사용량을 효율적으로 관리.
    • 페이지 페칭에서도 활용.
  6. Page Replacement Policy
    • 물리 메모리가 가득 찬 경우 어떤 페이지를 교체할지 결정하는 알고리즘.
    • FIFO, LRU, LFU 등의 알고리즘이 사용됨.
    • 성능과 효율성에 직접적인 영향을 미침.
  7. Anonymous Page
    • 특정 파일과 연결되지 않은 페이지.
    • 주로 힙이나 스택과 같은 프로그램 데이터 저장에 사용됨.
    • 디스크 스왑 영역을 사용해 관리.
  8. Swap Disk
    • 물리 메모리가 부족할 때 가상 메모리의 데이터를 저장하는 디스크 공간.
    • 느리지만 추가 메모리를 제공하는 효과.
    • 페이지가 물리 메모리에서 제거되면 스왑 디스크에 저장.
  9. File-backed Page
    • 파일의 내용과 연결된 페이지.
    • 파일 매핑 메모리에서 자주 사용됨.
    • 필요시 디스크에서 데이터를 로드하거나 저장.
  10. Direct Memory Access (DMA)
    • CPU를 거치지 않고 메모리와 I/O 디바이스 간에 데이터를 직접 전송하는 기술.
    • CPU의 부담을 줄이고 데이터 전송 속도를 높임.
    • 대용량 데이터 처리에 효과적.
profile
juniorDev

0개의 댓글