본문 바로가기
개발/컴퓨터 사이언스

[운영체제] Memory Management

by Dahna 2022. 12. 4.

Memory Management

목차

  • Segmentation 기법
    • segment 단위로 메모리를 관리
      • external fragmentation
    • Buddy system
    • Paging
      • Page table
      • TLB
      • internal fragmentation
      • virtual memorySegmentation 기법

Segmentation 기법

segment 단위로 메모리를 관리

  • memory segment : 같은 성격의 데이터를 모아둔 곳 (ex) code segment, static/global segment, const segment, heap segment, stack segment
  • 단점 : external fragmentation (외부 단편화)

Buddy system

  • 메모리 저장 영역을 선택하는 방법으로, 메모리를 1/2씩 분할하여 크기를 비교하며, 데이터가 저장 가능한 공간에 저장함 -> 데이터를 가능한 한 인접하게 저장해서 fragmentation을 줄임

Paging

  • page(4KB) 단위로 메모리를 관리하기 때문에 internal fragmentation이 발생한다.
  • 논리적으로 메모리를 관리하기 때문에 page table을 logical address를 physical address로 바꿔줘야한다.
  • page table - logical address -> physical address -> frame
    • 메모리 일정 공간이 page table 영역으로 정해져있음
    • logical address -> physical address 거쳐야 메모리에 접근할 수 있음
      • 메모리에 접근하기 위해서 2번 메모리에 접근해야 함 -> 속도가 느려짐
      • 해결: TLB(Translate look-ahead/ look-aside buffer)
        • page table 영역 일부를 캐싱하여 logical address를 physical address로 바꾸는 속도를 늘렸다.(메모리 접근 횟수를 줄임)
        • TLB에 없으면 TLB miss -> page table 영역 검사
  • internal fragmentation은 page내부에서 발생하는 fragmentation이기 때문에 낭비하는 메모리가 적다.
  • logical address로 연속된 공간에 있지 않아도 연속된 공간에 있는것처럼 추상화할수 있다.
  • virtual memory
    • page table physical address에 frame뿐 아니라 HDD와 같은 저장장치를 저장할 수 있도록 함(저장장치를 메모리로 사용)
    • page fault -> physical address가 메모리에 없다는 뜻으로, HDD에 있다는 것이다.

'개발 > 컴퓨터 사이언스' 카테고리의 다른 글

스케쥴링  (0) 2022.11.20
Process와 Thread  (1) 2022.10.11
운영체제와 Kernel  (2) 2022.10.04
Instruction과 Pipelining  (0) 2022.09.27
CPU와 RAM  (1) 2022.09.21

댓글