단편화

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

단편화의 종류

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

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

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

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

단편화 제거 기법 

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

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

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

같이 보기 
 단편화 제거
 최적화 소프트웨어

파일 시스템
데이터 관리
파일 시스템 관리