메모리 할당

From CS Wiki


연속적 할당[edit | edit source]

Contiguous Memory Allocation
  • Base and Limit 방식, 세그먼테이션(Segmentation) 방식

할당 방법[edit | edit source]

  • First Fit: 가장 먼저 발견되는 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 14에 할당
  • Best Fit: 가장 크기가 비슷한 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 12에 할당
  • Worst Fit: 가장 여유가 큰 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 16에 할당

장점[edit | edit source]

  • 빠른 속도
  • 단순한 구성

단점[edit | edit source]

비연속적 할당[edit | edit source]

Non-contiguous Memory Allocation
  • 페이징(paging) 방식

구성[edit | edit source]

  • Page Table: 실제 메모리의 어느 지점에 할당되었는지 주소를 저장하는 테이블
  • TLB(Table Lookaround Buffer): 페이지 테이블의 캐시
  • Two Level Page: 하나의 페이지 테이블에 모두 담을 수 없어 계층형으로 구성

장점[edit | edit source]

  • 메모리 공유 가능
  • 외부 단편화 해소

단점[edit | edit source]

출처[edit | edit source]