윈도우에는 자체적인 조각 모음 도구가 내장되어 있어서 한 번쯤 사용해 보셨을 겁니다. 그런데 윈도우의 파일 저장 방식을 들여다보면, 운영체제가 생성하는 임시 파일들 때문에 오히려 조각화(fragmentation)가 더 심해지기 쉽습니다. 아마 그래서 마이크로소프트가 기본적으로 조각 모음 도구를 제공하는 것이겠죠. 이 글에서는 이 도구를 '윈도우 조각 모음'이라고 부르겠습니다.
파일 조각화란 무엇인가?
윈도우는 하드디스크에 파일을 어떻게 저장할까요? 답은 의외로 간단합니다. 윈도우는 먼저 하드디스크에서 파일 크기에 해당하는 빈 섹터를 찾습니다. 그런 다음 그곳에 파일을 저장하는데, 이때 나중에 파일이 커질 것을 대비해 약간의 여유 공간(패딩)을 함께 확보해 둡니다. 문제는 이 여유 공간의 크기를 정확하게 계산하기 어렵다는 점입니다. 파일이 앞으로 얼마나 커질지는 결국 사용자의 사용 패턴에 달려 있기 때문입니다.

예를 들어 워드 문서를 새로 만들고 단어 두 개만 입력한 뒤 저장 버튼을 눌렀다고 가정해 봅시다. 윈도우는 그 두 단어(여유 공간 포함)를 담기에 충분한 공간을 찾아 문서를 저장합니다. 이후 문서에 계속 내용을 추가하면, 윈도우는 처음에 확보해 둔 여유 공간 안에 추가된 내용을 넣으려고 시도합니다.
그러나 윈도우는 사용자가 앞으로 몇 단어를 더 입력할지 알 수 없습니다. 따라서 파일 끝의 여유 공간이 가득 차면, 윈도우는 그 다음 빈 공간을 찾아 추가 내용을 하드디스크의 다른 섹터, 어쩌면 완전히 다른 트랙이나 플래터에 저장해야 합니다.
여기에 하나 더, 파일을 다루다 보면(특히 프로그램을 설치하거나 오피스 파일을 열 때) 윈도우가 임시 파일을 만드는 것을 본 적이 있을 겁니다. 이 임시 파일 역시 일반 파일과 같은 방식으로 하드디스크에 기록됩니다. 즉, 작업이 진행되는 동안 하드디스크의 연속된 빈 공간이 임시 파일들로 채워진다는 뜻입니다. 결과적으로 저장 버튼을 누를 때마다 조각난 파일이 만들어집니다. 설치가 끝나고 임시 파일이 삭제되고 나면, 정작 내 파일은 하드디스크 곳곳의 서로 다른 섹터와 플래터에 흩어져 있는 것을 발견하게 됩니다.
정리하자면, 파일을 저장·수정·삭제할 때마다 조각화가 발생합니다. 파일에 가한 변경 사항은 종종 다른 위치에 저장되고, 변경이 거듭될수록 더 많은 위치에 분산됩니다. 시간이 지나면 파일뿐 아니라 하드디스크 전체가 조각화되고, 컴퓨터는 하나의 파일을 열기 위해 여러 곳을 뒤져야 하므로 속도가 느려질 수 있습니다.
이제 원리를 이해했으니, 마이크로소프트가 이 문제를 해결하고 더 쉽고 편리한 조각 모음 경험을 제공하기 위해 디스크 조각 모음 도구를 어떻게 개선했는지 살펴보겠습니다.
윈도우 조각 모음 도구의 개선 사항
윈도우 XP까지의 조각 모음 도구는 메모리와 CPU 자원을 지나치게 많이 소모하는 것으로 악명이 높았습니다. XP 이하 버전에서 디스크 조각 모음을 실행하면 작업이 끝날 때까지 컴퓨터에서 다른 작업을 할 수 없다는 것은 잘 알려진 사실이었습니다. 시스템 기본 도구임에도 불구하고 메모리와 CPU를 과도하게 사용했던 셈으로, 누구에게나 부담스러운 리소스 오버헤드였습니다.
하드디스크 용량이 커지고 많은 사용자가 서드파티 조각 모음 프로그램으로 갈아타자, 마이크로소프트는 윈도우 비스타에서 한층 개선된 조각 모음 도구를 선보였고, 이후 윈도우 7/8/10을 거치며 더욱 발전시켰습니다. 새롭게 탈바꿈한 윈도우 조각 모음 도구는 놀라울 정도로 빠릅니다. 또한 컴퓨터가 유휴 상태일 때 백그라운드에서 자동으로 작동하기 때문에 시스템 자원을 붙잡아 두지 않습니다.
윈도우 7, 정확히는 비스타부터 적용된 또 다른 개선점은, 파일을 저장하기 전에 운영체제가 가장 큰 연속된 빈 공간을 먼저 찾는다는 것입니다. 즉, 윈도우는 다음 두 가지 방법으로 조각화를 피하려 합니다:
- 비교적 큰 덩어리의 빈 공간을 찾는다
- 파일 끝에 여유 공간(패딩)을 추가한다
조각 모음 자체도 이제 두 가지 중요한 단계로 진행됩니다:
- 빈 공간을 파악하고, 조각난 파일들을 인접한 트랙과 섹터에 모두 담기도록 통째로 옮긴다.
- 빈 공간을 하나로 모아, 앞으로 윈도우가 조각화되지 않은 상태로 파일을 저장하기 쉽게 만든다.
즉, 윈도우 조각 모음을 실행하면 파일의 조각을 모으는 것뿐 아니라, 하드디스크 공간 자체를 최적화하여 향후 조각화를 어느 정도 예방하는 효과도 얻게 됩니다.
이 글이 윈도우에서 조각화가 왜 발생하는지, 그리고 윈도우 조각 모음 도구를 활용해 조각화를 어떻게 예방할 수 있는지 이해하는 데 도움이 되었기를 바랍니다.
함께 읽으면 좋은 글:
- 윈도우 디스크 조각 모음 도구 문제 해결 방법
- 윈도우에서 MFT, 페이지 파일, 레지스트리, 시스템 파일 조각 모음 하는 방법