brunch

You can make anything
by writing

C.S.Lewis

by 이동인 Jun 16. 2020

MiB와 MB는 어떻게 다른가?

서버 모니터링

International System of Unit(국제 단위 시스템: SI라고 함)에서 K, M, G 는 10의 제곱으로 인정하고 이습니다. 우리가 익히 알고 있는 MB는 1,000,000 Byte를 의미합니다. 하지만 우리가 1MB짜리 메모리를 구매했다면 정확하게는 1,048,576 Byte 입니다. Byte는 이진법을 사용하고 있습니다. 2진법으로 1,000과 비슷한 값을 갖는 것은 1,024 즉 2의 10승입니다. 그래서 1KB는 1,000 Byte가 아닌 1,024 바이트이지만 대략 비슷한 값이기 때문에 1KB라고 표시하기 시작했습니다. 예를 들어 공대생은 문과대생에게 Byte를 설명하는 것보다 KB가 1,000 Byte 라고 설명하는 것이 쉽다는 것을 알기 시작했습니다. 1024 Byte를 1KB라고 표시했기 때문에 1MB는 1,000,000 Byte가 아닌 (1,024)의 제곱인 1,048,576 Byte를 의미합니다. 결국 K, M, G는 10의 3승, 10의 6승, 10의 9승을 의미하지만 Byte와 함께 쓰일때는 암묵적으로 조금 다른 값? 정도로 치부되어 여지껏 사용되어 왔습니다. 


하지만 이렇게 사용하는 것은 조금씩 혼란을 가져오기 시작했습니다. KB와 MB에서는 큰차이가 안났지만 GB 단위가 사용되면서 1,000의 삼승과 1,024의 삼승의 차이가 훨씬 커지기 시작했습니다. 그래서 이 문제를 해결하기 위해 IEC (International Electrotechnical Commission)는 2의 제곱에 대한 새로운 접두사 표준 인 2 진 접두사를 제시했습니다. 해결책은 첫 글자와 "B"사이에 "i"를 추가하는 것입니다. 전체 접두사도 정의되었습니다. 접두사 사양에 따라 Kilo-에 대응하는 2 접두사의 거듭 제곱은 Kibi-입니다. 접두사 Kilo-는 10 ^ 3을 나타내고 Kibi-는 2 ^ 10을 나타냅니다. 이는 1KB가 1,000 B이고 KiB가 1,024 Byte임을 의미합니다. Mega- 또한 마찬가지입니다. 접두사 Mega-는 1,000 ^ 3 을 나타내고 Mebi- 는 1,024 ^ 3을 나타냅니다. 


1 kibibyte (KiB) = 2^10 bytes = 1024 bytes.
1024 kibibytes = 1 mebibyte.


KiB와 MiB등의 단위를 만들어야 한다는 의견은 1995년부터 제기되었고 International Electrotechnical Commission (IEC)에서 KB단위가 1,024로 쓰이는 대체하기 위해 KiB를 만든것이 1998년 입니다. 이제 KB는 1,000 Byte이며 KiB는 1,024 Byte로 정의되어 있지만 아직도 많은 분야에서 MiB와 MB가 혼용되고 있습니다. 

매거진의 이전글 메모리 압축
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari