본문 바로가기
IT 이론/운영체제

내부단편화와 외부단편화 정말 쉽게 이해하자

by 아이들링 2017. 7. 8.

1기가의 메모리가 있다고 가정하자.


1GB



1. 세그먼트 기법일 때


300MB

200MB

100MB 빈공간

200MB

200MB 빈공간


300MB의 빈공간이 있으나 띄엄띄엄 있어서 300MB짜리 프로세스를 올릴수가 없다.

이런 상황을

외부 단편화(External Fragmentation) 라고 한다.



2. 페이징 기법일 때


메모리를 100MB짜리 페이지로 나눠서 사용한다고 가정하자 350MB의 프로세스를 메모리에 올리려고 한다.

그럼 아래와 같이 하나의 페이지는 100MB를 다 쓰지 못하고 50MB만 사용하게 될 것이다.


100MB

100MB

100MB 중 50MB사용

100MB 빈공간

100MB 빈공간


이렇게 페이지 내부에서 공간이 허비되는 것이 내부 단편화(Internal Fragmentation) 이라고 한다.


실제론 페이지를 저렇게 100MB씩 나누지 않는다. 4Kb정도의 작은 용량으로 페이지를 구성하기 때문에 내부단편화는 그 낭비가 미미하다.


3. 결론 


페이징 기법이 더 현대적이고 더 합리적인 방식이고 현재 대부분 페이징 기법을 쓰고 있으며

외부 단편화가 내부 단편화보다 훨씬 심각한 문제이다.

댓글0