ComputerScience

[CS] 내부단편화와 내부단편화

kyungmin.yu 2021. 5. 15. 16:10

내부 단편화란?
간단히 정리하면 실제로 물리적 공간이 없어서 작업을 할당하지 못하는 경우이다

총 200MB의 공간에 하나의 클러스터 크기가 50MB일때
50MB 짜리 작업 A, B, C가 할당되어 있고 새롭게 30MB의 작업 D를 할당한 경우

남은 공간이 20MB가 있지만 클러스터의 크기가 50MB라서 새 작업을 할장하지 못하는 경우가 발생한다

이 경우 20MB만큼의 내부 단편화가 발생했다고 할수 있다.
=> 하나의 클러스터 크기가 작다면 내부 단편화의 발생 가능성을 줄일수 있다.

외부 단편화란?
물리적 공간은 충분하지만 필요한 공간이 연속적으로 할당되어있지 못하는 경우이다

총 250MB의 공간에 하나이 클러스터 크기가 50MB일때
A(50MB), B(50MB), 빈공간(50MB),C(50MB), 빈공간(50MB)이런식으로 작업이 할당되어있을때 새로게 70MB의 작업 D를 할당하려고 할때

남은 공간이 100MB만큼 있어서 작업을 할당할수 있을거 같지만 공간이 파편화 되어 있어서 할당이 불가능한 경우가 발생한다

이 겨우 100MB만큼의 외부 단편화가 발생한다고 할수 있다.