얼마전에 윈도우 7을 설치했는데 C 드라이브 용량이 ㅠㅠ 라는 글을 올렸는데요, 댓글로 의문점을 제시한 분이 계셨습니다. 왜 C 드라이브 용량을 줄이려고 노력하는지 잘 이해되지 않는다고 말이죠. 물론 다양한 이유가 있겠지만, 이 글에서는 제가 가장 중요하게 생각하는 속도라는 관점에서 설명을 드리려고 합니다.



현재 저는 C 드라이브의 크기를 20GB로 잡아서 사용하고 있습니다. 사실 저는 SSD를 사용중이고, 게다가 VHD 부팅을 활용하고 있기 때문에 이 글에서 설명드리는 내용과는 크게 관련이 없습니다. 하지만 일반 하드디스크에서 파티션을 나눌 때도 저는 항상 C 드라이브의 크기를 최소화 합니다. 그리고 많은 분들이 그렇게 하고 계십니다. 왜 그렇게 하는지 그 이유를 한번 살펴보자구요.



1. 파티션은 왜 나누는가?

우선 파티션을 왜 나누는지에 대해 생각을 해봅시다. 윈도우는 완벽하지 않습니다. 언제든지 부팅 불가능한 상태에 빠질 수 있습니다. 윈도우 7로 넘어오면서 이전 OS에 비해 확실히 안정성 면에서 나아지기는 했습니다만, 그래도 여전히 문제를 일으킬 가능성은 열려 있습니다. 예를 들어 특정 업데이트를 설치한 다음부터 일부 프로그램에서 알 수 없는 오류가 지속적으로 발생할 수 있습니다. 게다가 신기한 점은 그 업데이트를 제거했는데도 증상이 개선되지 않을 수도 있다는 것입니다. 진짜 그렇다는 말은 아니구요, 그런 경우가 있을 수도 있다는 말입니다. 윈도우 역시 소프트웨어의 하나일 뿐이고, 윈도우 7이 출시된지 이제 갓 1년밖에 지나지 않았는데 벌써 수백개의 업데이트가 서비스팩으로 기다리고 있다는 점을 보면, 그만큼 윈도우는 지속적으로 보완이 필요한, 불완전한 프로그램임을 알 수 있습니다.

또한 예전에 특정 백신 프로그램이 업데이트를 하면서 윈도우 시스템 파일을 삭제해버려 부팅 불가능한 상태로 만들어버린 경우도 있었습니다. 바이러스가 걸려서 부팅이 불가능해질 수도 있구요, 백신이 설치되어 있다고 해도 완벽하게 방어하지는 못합니다. 웹하드 그리드 프로그램들이 내가 모르는 사이에 내 컴퓨터 자원을 빼앗아 가기도 하구요, 엑티브 X 천국인 대한민국 웹 환경에서 지내다 보면 악성코드라 불리울 만큼 지독한 수준의 모 보안 프로그램을 설치해야만 하는 경우도 있습니다. 잘 되면 다행이지만 하필 그 프로그램 때문에 블루스크린을 자주 대면하는 경우도 생기고, 다른 프로그램들과 충돌을 일으키기도 합니다.

그래서 우리는 비장의 무기인 "포맷 - 윈도우 재설치" 카드를 꺼내듭니다. 포맷을 하고 윈도우를 새로 설치하면 마치 목욕재계하는 기분이 듭니다. 새로 태어난 기분을 느낍니다. 뭔가 모든 일이 다 잘 될 것 같고, 과거의 흔적은 다 지우고 새마음으로 새출발하는 기분을 느낄 수 있습니다. 그런데... 만약에 하드디스크가 1개밖에 없고, 파티션이 나누어져 있지 않다고 가정해봅시다. 그동안 소중히 모아왔던 자료들은 어떻게 하죠? 포맷을 하면 싹 다 날아가버리는데 말입니다. 다행히 외장하드라도 있으면 백업을 하면 되겠는데, 자료가 많으면 백업하는데 시간이 매우 오래 걸립니다. 또한 윈도우를 재설치하고 나서 다시 외장하드에 있는 자료를 옮겨오는 일도 여간 귀찮은게 아니지요.

따라서 하드디스크가 1개밖에 없는 경우라면 반드시 파티션을 나눠서 사용하실 것을 권장드립니다. 지워지면 안 되는 중요한 자료이거나, 동영상, 음악 같은 자료들은 D 드라이브에 보관하고, C 드라이브는 언제든지 날려버려도 상관이 없다는 태도로 컴퓨터를 활용해야 합니다. 이는 컴퓨터 관리의 기본이라고 생각합니다.



2. 하드디스크의 구조




하드디스크는 위 그림에서 보시는 바와 같이 원판 모양의 플래터라는 녀석에 자료가 기록됩니다. 이 플래터가 스핀들에 의해 회전을 하는 동안 헤드가 부지런히 움직이면서 자료를 읽고 쓰는데요, 이 원판 구조라는 특징 때문에 하드디스크에서는 재미있는 현상이 나타납니다.



위 스샷은 제가 작년에 구매한 삼성 1TB Spinpoint F3 HD103SJ (SATA2/7200/32M) 하드의 속도 측정 자료입니다. 보시다시피 처음에는 읽기 속도가 140MB/s 근처까지 나오는데 뒤로 갈 수록 점점 그 속도가 줄어들면서 마지막에는 70MB/s 근처까지 떨어지게 됩니다. 왜 초반과 후반의 속도가 이렇게 다르게 나타나는 것일까요? 그 이유는 하드디스크의 바깥쪽이 안쪽보다 선속도가 더 빠르기 때문입니다.

뿐만 아니라 노란색 점도 보이시죠? 저 노란색 점은 Access 타임을 측정하는 것인데 (파일에 접근하는 시간) 초반에는 10ms 아래쪽에서 출발을 하다가 뒤로 갈 수록 20ms를 넘어가게 됩니다. 즉 뒤로 갈 수록 Access 타임이 점점 더 길어지고 있고, 달리 말하면 뒤로 갈 수록 속도가 점점 더 느려지고 있다는 말입니다.


하드디스크는 고정된 각속도로 회전합니다. 일반적으로 7,200RPM 하드를 많이 사용하죠. 7,200RPM은 1분에 7,200번 회전한다는 뜻이고 즉 1초에 120바퀴를 돈다는 말입니다. 그런데 아래 그림을 보시죠.



쉽게 이해할 수 있도록 개념을 단순화 시켜서 설명해보겠습니다. 우선 각 트랙에 있는 블럭을 하나의 파일이라고 가정하겠습니다. 그러면 가장 바깥쪽에 있는 보라색 부분에는 트랙 하나에 16개의 파일을 기록할 수 있습니다. 반면에 가장 안쪽에 있는 붉은색 부분에는 트랙 하나에 9개의 파일밖에 기록하지 못합니다.

똑같이 한 바퀴를 돌았을 때, 바깥쪽에선 파일을 16개나 읽어들일 수 있지만, 안쪽에서는 9개밖에 읽어들이지 못합니다. 어느 쪽이 속도가 더 빠른가요? 당연히 바깥쪽이 안쪽보다 속도가 더 빠르다고 말할 수 있습니다. 동일한 시간동안 (동일한 회전수에서) 바깥쪽이 안쪽보다 더 많은 파일을 읽어들일 수 있기 때문입니다.

바꾸어 말해보겠습니다. 만약에 160개의 파일을 읽어들어야 한다고 가정해보죠. 바깥쪽 보라색 영역에서는 10바퀴만 돌면 160개의 파일을 읽어들일 수 있습니다. 하지만 안쪽 붉은색 영역에서는 무려 18바퀴를 돌어야만 160개의 파일을 전부 읽어들일 수 있습니다.

이제 대략적인 개념은 이해가 되시죠? 따라서 윈도우같은 운영체제는 수많은 파일을 수시로 읽어들여야 하기 때문에 속도가 가장 빠른 바깥쪽 영역에 저장되어야 동작 속도가 빠르게 유지됩니다. 자주 사용하는 파일은 바깥쪽에 기록해두고, 자주 사용하지 않는 파일은 안쪽에 기록해둔다면 속도 면에서 매우 효율적이라 볼 수 있겠습니다. 다행히 하드디스크는 가장 바깥쪽 0번 트랙부터 시작해서 점점 안쪽으로 들어가며 기록을 합니다. 그리고 파티션 역시 가장 바깥쪽 영역부터 먼저 할당이 됩니다. 따라서 상대적으로 속도가 빠른 바깥쪽 부분에 C 드라이브 영역을 할당해주고, 거기에 윈도우를 설치해야 컴퓨터의 구동 속도를 최상으로 끌어올릴 수 있습니다.



3. C 드라이브 용량을 작게 잡아야만 하는 이유

그렇다면 왜 C 드라이브의 용량을 작게 잡아야만 하는 것일까요? 일단 하드디스크의 바깥쪽이 안쪽보다 더 빠르다는 것은 다들 이해하셨으리라 생각합니다. 그런데 왜 C 드라이브의 크기가 작을수록 좋은지에 대해서는 이해하지 못하겠다는 분들이 계실 것 같습니다. 제가 댓글로 자주 달았던 비유인데 이 상황에 적절한 비유가 될런지는 잘 모르겠네요.

사막 한가운데서 동전을 찾는 것과, 내 방에서 찾는 것 중 어느 쪽이 쉬운가?

당연히 내 방에서 동전을 찾는 편이 훨씬 더 쉽습니다. 마찬가지로 C 드라이브의 영역이 커지게 되면 자주 읽어들이는 파일이 넓은 지역에 분산될 확률이 크게 되고, 따라서 파일을 찾아내는데 걸리는 시간은 더 길어지게 됩니다. 헤드가 물리적으로 비교적 먼 거리인 안쪽과 바깥쪽을 반복해서 왔다갔다 해야하기 때문입니다.



위 그림에서 빨간색 구슬 7개를 전부 찾아내야 한다면 당연히 왼쪽보다 오른쪽 부분이 더 쉽겠지요? 찾아내야 할 대상 공간이 좁기 때문입니다. 좀 더 정확히 표현하자면 물리적으로 헤드가 이동해야할 거리가 짧아지기 때문 + 동일 회전수에서 더 많은 파일을 읽어들일 수 있기 때문에 오른쪽 그림에서 훨씬 더 빨리 찾아낼 수 있는 것입니다.


물론 디스크 조각모음이라는 방법도 있습니다. 요즘 나오는 디스크 조각모음 도구들은 똑똑하기 때문에 자주 사용하는 윈도우 시스템 파일들은 알아서 가장 빠른 바깥쪽 영역으로 옮겨주고, 상대적으로 자주 사용하지 않는 파일들은 비교적 느린 안쪽 영역으로 이동시켜 줍니다. 하지만 디스크 조각모음을 생각하기 이전에, 최상의 성능을 제공하는 영역을 C 드라이브로 할당해주는 것이 최적의 시나리오가 아닐까요? 더불어 앞서 말씀드렸듯이 시스템 유지/보수 측면에서도 파티션을 분리해서 C 드라이브에는 윈도우와 프로그램만 설치하고, 자료는 D 드라이브에 보관하는 편이 효율적이고 안정적이라 봅니다. 따라서 저는 C 드라이브의 크기를 최소화 하는 편이 좋다고 생각합니다.

예전에 SSD가 대중화 되기 이전에는 (지금도 대중화 까지는 아니지만) 랩터 하드를 레이드로 묶어서 앞자르기 해서 사용하시는 분들이 계셨습니다. 앞자르기가 뭐냐하면... 속도가 가장 빠른 바깥쪽 부분 10%만 파티션을 할당하고 나머지 공간은 그냥 버리는 것입니다. 어찌보면 참 돈이 아깝다는 생각도 들지만, 그렇게 해서라도 시스템 속도를 더 향상시키고자 했던 분들이 많이 계셨습니다. 그만큼 C 드라이브의 속도가 중요하다는 것이겠지요.


그렇다면 C 드라이브의 크기는 어느정도로 할당하는 것이 좋을까요? 정답은 없겠지만 저는 전체 디스크 크기의 10~20% 정도를 추천합니다. 작으면 작을수록 좋지만, 컴퓨터를 활용하는 스타일에 따라서 저처럼 20GB만으로도 충분한 사람이 있는가 하면 100GB는 줘야 부족하지 않다는 분들도 계시니 (주로 게임이 용량을 많이 차지하죠) 속도와의 적절한 타협점을 찾으시기 바랍니다. 그리고 지금까지 파티션을 나누지 않고 통으로 사용하셨던 분들이 계시다면 다음번에 포맷할 때는 반드시 파티션을 나눠주세요. 유지/보수 뿐 아니라 성능 면에서도 좋기 때문에 제가 이렇게 긴 글을 통해 권장드리는 것입니다.



※ 며칠간 지방에 내려가 있을 예정이라 블로그는 쉬겠습니다. 지난번에 봤던 면접 결과가 금요일에 발표나는데 좋은 소식 들려드릴 수 있으면 좋겠네요. ^^