운영체제를 선택할때 32bit와 64bit를 선택한다
많은 사람들이 32bit는 4GB까지 밖에 메모리 지원이 되지 않는걸 안다
하지만 왜?! 도대체 왜 그런지 아는 사람은 5%미만 일 것이다 심지어 전산실에 근무하고있는 사람 조차 모르는 사람이 있다..(IT 전공자가 모른다면 문제가 있다.)
1. 32bit와 64bit의 의미
가. 속도의 측면에서: 데이터를 한 번에 몇 개 보낼 수 있는지를 나타내는 지표가 32비트와 64비트의 차이이다. 흔히 고속도로에 비유해서 32비트는 차선이 32개인 차선이고 64비트는 64개의 차선이라고 표현한다. 그렇다 데이터를 2배나 더 많이 보낼 수 있기 때문에 속도가 향상된다.
나. 메모리의 측면에서: 32비트 컴퓨터는 메모리 주소를 32비트로 표현하고, 64비트 컴퓨터는 메모리 주소를 64비트로 표현한다. 무슨 말인고 하니 32비트 컴퓨터는 2의 32승 = 4,294,967,296 = 4 x 1024 x 1024 x 1024 바이트 즉 4GB 메모리를 가리킬 수 있는 주소를 가지게 됩니다. 이러한 이유로 32bit 컴퓨터는 4GB 이상의 메모리를 지원 할 수 없다는 이유이다!
64비트는 물론 2의 64승 = 18,446,744,073,709,551,616바이트 까지 지원한다. 수가 너무 커진다 그냥 꼽으면 꼽는데로 메모리를 늘릴 수 있다고 생각하자.
그래서 32bit를 쓸때 포인터 변수의 크기는 32bit 즉 4바이트고 64bit일때는 64bit 즉 8바이트다
2. 메모리에 대하여(가르킨다, Point!)
- 설명하기 쉽게 8bit 컴퓨터로 메모리에 대해서 이야기 해보자 한다
8비트 컴퓨터니깐 요즘 많이쓰는 32bit, 64bit 컴퓨터에 비해서 속도가 느리고(속도적 측면) 수용할 수 있는 메모리도 작을것이다(메모리 측면).
8비트 컴퓨터는 2의 8승 = 256바이트를 표현 할 수 있다.(메모리의 주소는 0000 0000부터 1111 1111까지)
※ 아래의 그림을 보면 메모리 주소 한 개는 1바이트를 가리킨다
3. 메모리 주소는 16진수로
- 컴퓨터가 0과 1로 이루어진 2진수로 표현된다고 했는데 정작 메모리 주소를 이야기할때는 16진수로 이야기한다. 16진수가 좀 더 멋져서 폼잡을라고 쓰는가 했는데 16진수를 쓰면 2진수보다 짧고 간결하게 표현 할 수 있기 때문에 쓴다는걸 알았다.(사람은 배워야한다)
위의 8비트를 표현할때 메모리주소를 표현하려면 0000 0000 8자리가 필요하지만 16진수를 쓰면 0x00으로 두자리로 간단하게 표현된다.
아래는 8비트의 2진수 0000 0001을 hex 즉 16진수로 바꿔보았다 0x01 짧아서 좋다...
'컴퓨터 기본' 카테고리의 다른 글
Thread 란? (0) | 2020.05.07 |
---|---|
컴퓨터 하드웨어 구성(CPU) (0) | 2020.02.11 |
클래스 관계 HAS-A 상속(합성, 통합) (0) | 2019.11.08 |
class의 static이란?(실무에서 바로 통하는 자바) (0) | 2019.10.28 |
유니코드 vs 아스키코드 (0) | 2019.06.14 |