메모리 단편화 (Memory Fragmentation)

kangking·2024년 6월 8일
0

CS

목록 보기
1/1

Memory Fragmentation(메모리 단편화)

메모리를 효율적으로 관리하고 공간을 효율적으로 할당하는 과정에서 발생하는 문제로 내부 단편화와 외부 단편화로 나뉜다.

내부 단편화

내부 단편화는 고정적인 메모리 크기를 할당해주는 작업 과정에서 발생하는데, 배열을 생각하면 쉽게 이해할 수 있다. 미리 크기를 할당해뒀지만 해당 크기 만큼 사용하지 않고 비워두게 되면 메모리 낭비가 발생하는데 이를 내부 단편화라 한다.

  • 예시

    예를 들어 HTTP 요청을 받기 위해 1024Byte를 할당해뒀는데, 실제 요청은 평균적으로 800Byte만 왔다면 요청마다 평균 224Byte의 크기만큼 다른 프로세스에 할당되지 못한 채 낭비되게 된다.


외부 단편화

메모리 블록 사이에 작은 빈 공간들이 흩어져 있어 전체 사용가능한 메모리 공간이 충분히 있어도 연속된 메모리 블록을 할당하지 못하는 현상

  • 예시

    위와 같이 메모리에서 프로세스들이 종료되며 빈자리가 생기는 문제를 외부 단편화라 한다.

해결방안

  • 메모리 페이징

  • 메모리 압축

  • Best Fit, First Fit, Worst Fit
profile
하루하루 의미있게

0개의 댓글