바이트
1. 개요
바이트는 컴퓨터에서 정보를 저장하고 처리하는 데 사용되는 기본적인 단위로, 일반적으로 8개의 비트로 구성된다. 바이트는 1956년 워너 벅홀츠에 의해 처음 명명되었으며, 1 문자 또는 숫자 등을 표현하는 데 사용된다. 바이트는 킬로바이트(KB), 메가바이트(MB), 기가바이트(GB) 등과 같은 다양한 크기의 단위로 사용되며, 10진법(1000의 배수)과 2진법(1024의 배수)의 두 가지 방식으로 표현될 수 있다. 이러한 단위 표기 방식의 혼용으로 인해 저장 장치 용량 표시에 대한 논란이 발생하기도 한다.
-
8 -
팔각형
팔각형은 8개의 변과 꼭짓점을 가진 다각형으로, 내각의 합은 1080°이며, 건축 디자인에 활용되고 문화적 상징으로도 나타난다. -
8 -
천갈궁
천갈궁은 전갈자리의 한자 명칭으로, 점성학에서 강렬한 감정, 비밀, 권력 등과 연관된 물의 별자리로 해석되며, 10월 말에서 11월 말에 태어난 사람들이 해당되고, 오리온을 쏘아 죽인 전갈과 관련된 그리스 신화와 현대 대중문화에서도 활용되는 소재이다. -
원시 자료형 -
참조
참조는 프로그래밍에서 메모리 주소나 다른 데이터를 가리키는 값으로, 데이터의 효율적인 전달과 공유를 위해 사용되며, 포인터, 파일 핸들, URL 등이 그 예시이다. -
원시 자료형 -
문자열
문자열은 사람이 읽을 수 있는 텍스트를 저장하고 정보를 전달하거나 받는 데 사용되는 순서가 있는 문자들의 시퀀스로, 다양한 형태의 데이터를 표현하며 유한한 길이를 가지고, 프로그래밍 언어에서 기본 또는 복합 자료형으로 제공되고, 문자 집합과 인코딩 방식에 따라 표현 방식이 달라진다. -
1950년대 신조어 -
로큰롤
록앤롤은 1950년대 중반 시작된 국제적인 음악 스타일로, 가스펠, 블루스, 스윙 음악의 영향을 받아 미국 남부에서 시작되었으며, 알란 프리드, 엘비스 프레슬리, 척 베리, 빌 헤일리 등의 활약으로 대중화되어 십대 문화를 형성하고 사회적 변화를 반영했으나 1950년대 후반 쇠퇴 후 록 음악 발전의 기반이 되었다. -
1950년대 신조어 -
고도를 기다리며
《고도를 기다리며》는 블라디미르와 에스트라공 두 인물이 고도를 기다리는 이야기를 통해 인간의 고독과 실존적 고뇌, 삶의 부조리함을 드러내는 사무엘 베케트의 희곡이다.
2. 역사
"바이트"(byte)라는 용어는 1956년 6월 워너 벅홀츠(Werner Buchholz)가 IBM 스트레치 컴퓨터의 초기 설계를 하던 중 창안했다. 이때 비트(bit)와 혼동되지 않도록 철자를 'byte'로 바꾸었다.
초기에는 바이트의 크기가 5비트에서 12비트까지 다양했다. DEC PDP-10, NEC ACOS-6 등 초기 컴퓨터들은 6비트, 7비트, 9비트 바이트를 사용하기도 했다.
그러나 System/360을 시작으로 IBM의 메인프레임 아키텍처가 8비트 바이트를 채택하면서, 8비트 바이트가 사실상 표준으로 자리 잡았다. 미니컴퓨터인 VAX와 이후 마이크로프로세서 대부분도 8비트 바이트를 따랐다. 8비트임을 명시하기 위해 통신 분야 등에서는 옥테트라는 용어가 사용되기도 한다.
3. 정의
바이트는 몇 가지 다른 정의를 가지지만, 일반적으로 다음과 같이 정의된다.
* 일정한 개수의 비트로 이루어진 연속된 비트열이다. 최근에는 1바이트를 8비트로 간주하는 경우가 대부분이다.
* 컴퓨터의 워드 안에서 주소로 표현할 수 있는 가장 작은 단위이다. 역사적으로 6비트, 7비트, 9비트 등의 바이트가 존재했지만, 최근에는 대부분 8비트를 가리킨다.
* 모뎀 등 직렬 데이터 스트림에서 의미를 가지는 가장 작은 연속된 비트열이다. 시작 비트, 종료 비트, 패리티 비트 등을 포함할 수 있다.
* 몇몇 프로그래밍 언어의 자료형이다.
* C에서는 실행 환경에서 쓰이는 문자들을 담을 수 있을 만큼 큰 단위로 정의되며, `char` 자료형은 적어도 8비트 이상이어야 한다.
* 자바의 `byte` 자료형은 항상 부호가 있으며 8비트로 정의된다.
* .NET 프로그래밍 언어에서는 `byte`는 부호가 없는 형식으로, `sbyte`는 부호가 있는 자료형으로 각각 0에서 255, −128에서 127의 값을 저장한다.
한 바이트 안의 비트 개수가 중요할 경우에는 옥텟(octet)과 같이 크기가 일정한 단위를 쓰기도 하며, 특히 컴퓨터 네트워크와 전기통신에서 흔히 쓰인다. 프랑스어에서는 옥텟을 바이트의 뜻으로 쓰기도 한다.
바이트의 단위 기호는 IEC 80000-13, IEEE 1541 등에서 대문자 B로 지정되었다.
국제수량계 (ISQ)에서 B는 알렉산더 그레이엄 벨의 이름을 딴 전력비의 단위인 벨의 기호이기도 하지만, 혼동의 위험은 거의 없다. 벨은 거의 사용되지 않는 단위이며, 주로 데시벨 (dB)로 신호 강도 및 음압 레벨 측정에 사용된다. 반면, 10분의 1 바이트 단위인 데시바이트 및 기타 분수는 전송 속도와 같은 파생 단위에서만 사용된다.
4. 기호와 접두어
IEEE 1541에서는 바이트의 기호를 'B'로, 비트의 기호를 'b'로 정했다. 바이트는 더 큰 단위를 나타내기 위해 SI 접두어(k, M, G 등) 또는 이진 접두어(Ki, Mi, Gi 등)와 함께 사용된다. 대한민국에서는 정보통신 분야에서 킬로바이트(KB), 메가바이트(MB), 기가바이트(GB) 등의 용어가 널리 사용된다.
국제수량계(ISQ)에서 B는 알렉산더 그레이엄 벨의 이름을 딴 대수적 전력비 단위인 벨의 기호이기도 하지만, 벨은 거의 사용되지 않아 실질적인 혼동은 드물다. 벨은 주로 데시벨(dB)로 신호 강도 및 음압 레벨 측정에 사용되는 반면, 데시바이트 등은 전송 속도와 같은 파생 단위에서만 사용된다.
바이트는 추상적인 단위이므로 바이트보다 작은 단위를 나타내는 접두어는 존재하지 않는다. 다만 비트보다 크고 바이트보다 작은 단위는 몇 개 있다.
옥테트의 소문자 o는 프랑스어 및 루마니아어 등에서 옥테트의 기호로 사용되며, ko 및 Mo와 같이 미터법 접두사와 결합하여 사용되기도 한다.
4.1. 십진 접두어
바이트보다 더 큰 단위를 나타내기 위해 기호에 접두어를 붙여 쓸 수 있다. 여기에는 10진법 기준 SI 접두어와 IEC 60027-2에서 정의한 이진 접두어가 공존하고 있다. SI 접두어 뒤에 ‘i’를 붙이면 비슷한 크기의 이진 접두어가 된다. (예를 들어, 1MB = 1,000,000 바이트 ≒ 1,048,576 바이트 = 1MiB) 하지만 SI 접두어를 이진 접두어의 의미로 사용하는 경우도 흔히 볼 수 있으며 두 기준이 서로 섞이는 경우도 있다. 예를 들어 1.44MB 플로피 디스크의 실제 용량은 1.44MB(= 1,440,000 바이트)나 1.44MiB(= 약 1,509,949 바이트)가 아닌 1440KiB(= 1,474,560 바이트)이다.
바이트를 기반으로 단위 배수를 정의하는 시스템은 여러 개 존재한다. 일부 시스템은 10의 거듭제곱을 기반으로 하며, 예를 들어 접두사 킬로를 1000(103)으로 정의하는 국제 단위계(SI)를 따른다.
국제전기기술위원회(IEC)는 1 킬로바이트(기호 kB)를 1,000바이트로 정의하는 10의 거듭제곱을 사용하는 접두어를 권장한다. IEC 표준은 10008 바이트와 같은 1 요타바이트(YB)까지 8개의 배수를 정의한다. 2022년 국제도량형국(BIPM)은 10009에 대한 론나-와 100010에 대한 퀘타-라는 추가 접두어를 채택했다.
이 정의는 데이터 전송률 단위를 사용하는 컴퓨터 네트워크, 내부 버스, 하드 드라이브 및 플래시 미디어 전송 속도, 그리고 대부분의 저장 매체, 특히 하드 디스크 드라이브, 플래시 메모리 기반 저장 장치, 및 DVD의 용량에 가장 일반적으로 사용된다. macOS, iOS, 우분투, 및 데비안 운영 체제들이 이 정의를 사용한다. 또한 CPU 클럭 속도 또는 FLOPS와 같은 컴퓨팅에서 SI 접두어의 다른 용법과도 일치한다.
국제 단위계 국제 문서는, SI 접두어는 엄격하게 10의 정수승을 의미하는 것이며, 2의 거듭제곱을 나타내기 위해 사용해서는 안 된다고 규정하고 있다。따라서, 1 킬로바이트 (KB)를 1,024 (210) 바이트로 취급하는 것은 금지되어 있다.
4.2. 이진 접두어
바이트보다 더 큰 단위를 나타내기 위해 기호에 접두어를 붙여 쓸 수 있다. 여기에는 기존의 10진법 기준 SI 접두어와 IEC 60027-2에서 정의한 이진 접두어가 공존하고 있는데, SI 접두어 뒤에 ‘i’를 붙이면 비슷한 크기의 이진 접두어가 된다. (예를 들어, 1MB = 1,000,000 바이트 ≒ 1,048,576 바이트 = 1MiB) 하지만 SI 접두어를 이진 접두어의 의미로 사용하는 경우도 흔히 볼 수 있으며 두 기준이 서로 섞이는 경우도 있다. 예를 들어 1.44MB 플로피 디스크의 실제 용량은 1.44MB(= 1,440,000 바이트)나 1.44MiB(= 약 1,509,949 바이트)가 아닌 1440KiB(= 1,474,560 바이트)이다.
십진법과 이진법 해석의 차이는 킬로바이트의 경우 상대적으로 작지만(키비바이트보다 약 2% 작음), 단위가 커짐에 따라 시스템은 점점 더 크게 벗어난다(상대적 편차는 3자릿수마다 2.4%씩 증가). 예를 들어, 10의 거듭제곱 기반 테라바이트는 2의 거듭제곱 기반 테비바이트보다 약 9% 작다.
2의 거듭제곱을 기반으로 하는 단위 체계로, 1 키비바이트(KiB)는 1,024(즉, 210) 바이트와 같으며, 이는 국제 표준 IEC 80000-13에 의해 정의되었으며, 국가 및 국제 표준 기관(국제도량형국(BIPM), IEC, NIST)에서 지원한다.
| 십진법 | 이진법 | ||||
|---|---|---|---|---|---|
| 값 | SI | 값 | IEC | JEDEC | |
| 1000 | kB (킬로바이트) | 1024 | KiB (키비바이트) | KB (킬로바이트) | |
| 10002 | MB (메가바이트) | 10242 | MiB (메비바이트) | MB (메가바이트) | |
| 10003 | GB (기가바이트) | 10243 | GiB (기비바이트) | GB (기가바이트) | |
| 10004 | TB (테라바이트) | 10244 | TiB (테비바이트) | TB (테라바이트) | |
| 10005 | PB (페타바이트) | 10245 | PiB (페비바이트) | — | |
| 10006 | EB (엑사바이트) | 10246 | EiB (엑스비바이트) | — | |
| 10007 | ZB (제타바이트) | 10247 | ZiB (제비바이트) | — | |
| 10008 | YB (요타바이트) | 10248 | YiB (요비바이트) | — | |
1998년 12월, IEC는 1024의 거듭제곱을 명확하게 나타내기 위해 키비, 메비, 기비 등의 접두사를 채택했다. 따라서 1 키비바이트(1 KiB)는 10241 바이트 = 1024 바이트이고, 1 메비바이트(1 MiB)는 10242 바이트 = 1,048,576 바이트 등이다.
1999년, 도널드 커누스는 키비바이트를 "큰 킬로바이트"("KKB")라고 부르자고 제안했다.
5. 관련 단위
* octet영어: 8비트를 묶어 부르는 단위로, 바이트와 같은 의미로 사용된다. 특히 컴퓨터 네트워크와 전기통신 분야에서 8비트임을 명확히 하기 위해 사용된다. 팔중수라고도 부른다.
* 니블(nibble): 1바이트의 절반으로 보통 4비트를 가리킨다. 바이트는 상위 니블(상위 4비트)과 하위 니블(하위 4비트)로 나눌 수 있다.
* 비트(bit): 정보의 최소 단위이다.
* 워드(word): 전자통신기기에 따라 2바이트 또는 4바이트를 묶어서 부르는 단위이다.
* 킬로바이트(kbyte): 1024바이트는 1킬로바이트이다.
6. 한국에서의 활용 사례
과거 한국 인터넷 초창기, PC통신 시절에는 킬로바이트(KB) 단위의 파일 전송이 일반적이었다. 현재는 대부분의 국민이 사용하는 스마트폰 요금제의 데이터 제공량이 기가바이트(GB) 단위로 제공된다. 정부 및 공공기관에서는 테라바이트(TB) 이상의 대용량 데이터를 처리하고 저장하는 시스템을 구축하고 있다. 최근에는 인공지능, 빅데이터 등의 기술 발전으로 페타바이트(PB) 이상의 데이터를 다루는 경우도 증가하고 있다.
7. 논란과 과제
저장 장치의 용량을 표시할 때 10진 접두어(1000의 배수)와 2진 접두어(1024의 배수)를 혼용하여 사용하면서 혼란이 발생하기도 한다. 바이트의 배수에 대한 이진수 및 십진수 정의에 대한 소비자 혼란으로 인해 발생한 소송은 일반적으로 제조업체의 승소로 끝났으며, 법원은 기가바이트(GB)의 법적 정의가 1GB = 1 (109) 바이트(십진수 정의)이며, 이진수 정의(230, 즉, 1.073741824)가 아니라고 판결했다.
미국 캘리포니아 북부 지방 법원은 "미국 의회는 기가바이트의 십진수 정의를 '미국 무역 및 상업'을 위한 '선호하는' 정의로 간주했다 [...] 캘리포니아 주 의회 또한 이 주에서의 모든 '거래'에 십진수 체계를 채택했다."라고 판결했다.
이전의 소송에서는 드라이브 제조업체인 웨스턴 디지털을 상대로 한 소송과 같이 이 문제에 대한 법원 판결 없이 합의로 끝났다. 웨스턴 디지털은 이의 제기에 합의했으며, 사용 가능한 용량이 광고된 용량과 다를 수 있다는 명시적인 고지를 제품에 추가했다. 씨게이트도 유사한 이유로 소송을 당했으며, 역시 합의했다.
한국의 경우, 디지털 정보 격차 해소 및 데이터 접근성 향상을 위한 정책적 노력이 필요하다.