4테라짜리 외장하드를 사서 윈도우에 물려 봤더니 3.6테라로 나온다. 컴퓨터 업계에서는 오래된 의문이고 불만인데, 이건 컴퓨터 주변기기에 10진수 계산과 2진수 계산 표기가 혼용되어서 그렇다.

 

즉, 1 KB를 1024 Byte(바이트)로 계산하느냐, 1 KB를 1000 바이트로 계산하느냐의 차이다.

 

하드디스크 제조업체에서는 용량 계산을 10진수 체계를 사용한다. 그래서 1 KB = 1,000 Byte, 1 MB = 1,000 KB, 1 GB = 1,000 MB로 계산한다. 따라서 1 TB = 1,000,000,000,000 Byte 이다.

 

하지만 윈도우(Microsoft Windows) 운영체제에서는 하드 용량을 2진수로 계산한다. 즉, 1 KB = 1,024 Byte, 1 MB = 1,024 KB 등으로 계산한다. 그래서 하드디스크에 1 TB라고 표기된 것이 931 GB로 표시된다.

 

하드디스크에서 십진수로 표기된 1 TB는, 이진수로 환산하면 0.909 TB이므로, 윈도우에서 표시하는 용량으로 계산하려면 표시된 숫자를 곱해보면 된다. 

 

윈도우에 표시되는 테라 용량(TB) = 하드디스크 테라 용량(TB) x 0.909

 

즉, 4테라라고 적혀 있는 하드는 윈도우에서 3.63테라로 나온다.

 

4테라 외장하드가 3.6테라

 

 

왜 하드 용량 표기가 다를까

 

이런 혼동은 SI단위(국제단위계)와 컴퓨터 업계 관행이 서로 엇갈려서 생긴 것이다.

 

옛날에 컴퓨터 주변기기 용량이 그리 크지 않았을 때는 그리 큰 문제가 없었다. 1킬로바이트를 1000바이트라고 하든, 1024바이트라고 하든 크게 차이가 나지 않았으니까. 하지만 용량이 커지고 단위가 커지면서 차이가 점점 벌어졌고, 일반인들도 널리 컴퓨터를 사용하면서 표기법 문제가 커졌다.

 

처음에는 SI단위의 킬로(K)가 1000이고, 2의 10승이 1024바이트이므로, 비슷한 숫자에 착안해서 1 KB라는 단위를 쓰기 시작했다고 한다. 1 Kg = 1000 g, 1 Km = 1000 m라는 것을 생각해보면 된다.

 

 

단위 혼용의 역사는 좀 오래됐지만, 하드디스크가 널리 보급되면서 문제가 커졌다. 컴퓨터 업계 사람들은 2진수로 생각하는게 습관화 돼서, 하드디스크의 십진수 표기를 용량 뻥튀기라며 비난하기도 했다.

 

하지만 하드 제작업체 쪽은, '우린 국제표준인 SI단위를 지키는 건데'하면서 꿋꿋하게 십진수 표기법을 지켰다. 아마 초창기 보급형 하드디스크 제작시에 조금 더 빨리 더 큰 용량을 내놓고자 하는 욕심도 있었을 테고, MBR이나 배드섹터 보완용 여유공간이 들어가기 때문에 따지고 보면 이진수로 표기한 거나 별 차이 없다는 생각도 있었을 테다.

 

하지만 단위가 MB를 넘어 GB 정도 되자 차이가 너무 커졌고, 급기야 1990년대 말경 국제 전기 표준 회의(IEC)에서 새로운 단위 표준을 내놨다. 이진수 표기를 위해서는 키비(Ki), 메비(Mi), 기비(Gi) 같은 표기를 사용하라는 것이다.

 

이 표기법에 따르면, 1024 Byte = 1 KiB로 표기해야 한다.

 

IEC 단위 표준

 

 

약 10년쯤 지난 후, 2009년에 애플(Apple)은 Mac OS X v10.6 스노우 레오파드를 내놓으면서, 국제 표준을 지키겠다며 하드디스크 용량을 십진수 단위로 계산해서 보여주기 시작했다.

 

2010년엔 우분투가 이진수 표기와 십진수 표기를 함께 보여주기 시작했다. 예를 들면, "하드디스크 용량: 1000 GB / 931 GiB"로 두가지를 동시에 표기하는 것이다.

 

하지만 2018년 현재 윈도우즈는 아직도 이진수 표기법으로 하드디스크 용량을 표시하고 있다.

 

맥북 같은 것을 사용하는 사람들이 늘어나면서, 똑같은 외장하드인데도 맥과 윈도우에서 용량이 달라진다는 사람들이 생겼는데, 이런 사정을 몰라서 생기는 해프닝일 뿐, 당연히 용량 자체는 아무 변화가 없다.

 

사람에 따라서도 아직 받아들이는 것이 다르다. 컴퓨터 자체가 이진수를 기반으로 하는데 왜 킬로 단위부터 갑자기 십진수 표기를 하느냐는 사람도 있고, 이왕 이렇게 됐으니 국제 표준을 쓰자는 사람도 있고, 하드 용량 늘어나 보이니 십진수 쓰자는 사람도 있으며, 하드디스크 자체도 섹터 단위는 이진수 값을 가지고 있는데 뭔 소리냐는 등, 이걸로 깊이 들어가면 목소리가 높아지고 개싸움이 된다. 실제로 깃헙 같은 곳에서 이 표기법으로 시비 거는 사람들이 가끔 있다. 서로 생각에 따라 다를 수 있으니, 그냥 조금씩 이해하도록 하자.

 

 

p.s. 참고자료

* Snow Leopard's new math (Macworld, 2009)

* ubuntu wiki - UnitsPolicy

* International System of Units (NIST)

* units - decimal and binary prefixes(Linux Programmer's Manual)

 

Posted by 빈꿈