단편화

위키백과, 우리 모두의 백과사전.
(외부 단편화에서 넘어옴)

단편화(斷片化, fragmentation)는 기억 장치의 빈 공간 또는 자료가 여러 개의 조각으로 나뉘는 현상을 말한다. 이 현상은 기억장치의 사용 가능한 공간을 줄이거나, 읽기와 쓰기의 수행속도를 늦추는 문제점을 야기한다.

단편화의 종류[편집]

내부 단편화[편집]

기억 장치가 의도된 바 없이 할당될 때 일어난다. 공간이 낭비된다. "내부"라는 용어는 필요 없는 기억 자료가 할당된 영역 안에 있지만 쓰이지 않는 것을 말한다.

운영체제의 메모리 관리기법 중 페이징을 이용할 때 발생할 수 있다. 일정 크기의 페이지에 프로세스 할당시, 프로세스의 크기가 페이지보다 작을 경우 내부 단편화가 발생한다.

외부 단편화[편집]

여유 공간이 여러 조각으로 나뉘는 현상을 말한다. 프로그램이 다양한 크기의 기억 장소의 남은 영역을 할당하고 할당을 해제할 때 일어나며, 할당 알고리즘이 약화된다. 비록 남은 기억 공간을 사용할 수 있지만, 조각이 너무 작게 나 있어서 응용 프로그램의 성능을 뒷받쳐 주지 못하기 때문에 효과적으로 사용하지 못하게 된다. "외부"라는 용어는 사용할 수 없는 기억 장소가 할당된 영역 밖에 있다는 것을 뜻한다.

자료의 단편화[편집]

기억장치 내의 자료가 여러 조각으로 나뉠 때 일어난다. 커다란 자료를 외부 단편화에 시달리는 기억 장치에 집어넣으려고 할 때 발생하는 것이 보통이다.

단편화 제거 기법[편집]

메모리 또는 디스크에 적용할 수 있는 기본적인 단편화 제거 방법은 통합과 집약 기법이 있다.

메모리 단편화 제거[편집]

  • 프레임 기법을 이용하여 메모리를 일정한 크기로 나누어 관리함으로써 내부 단편화 문제를 해결할 수 있다.

디스크 단편화 제거[편집]

물리적으로 디스크의 내용을 다시 정리하여 각 파일을 연속적으로 붙이면서 이러한 작업을 수행할 수 있다. 일부 단편화 제거 프로그램은 자주 접근하는 조그마한 파일들을 단일 디렉터리 안에 유지시키기도 한다.

같이 보기[편집]