32비트 운영체제? 64비트 운영체제?

32비트 운영체제, 64비트 운영체제 말은 많이 들어봤는데 개념을 모르겠어요.
어떤 차이가 있나요?

전문적이고 기술적인 답변이 아니고 상식선의 답변이라도 만족하신다면…

32비트 운영체제는 32비트 CPU 시스템에 설치되고, 64비트 운영체제는 64비트 CPU 시스템에 설치됩니다. 32비트 운영체제는 64비트 CPU 시스템에 설치될 수도 있으나 예외적인 상황입니다. 즉, 데이터와 어드레스에 각각 32비트 혹은 64비트 레지스터가 이용된다는 것이죠.

32비트 운영체제 (32비트 CPU)에서는 데이터도 메모리 주소도 32비트입니다. 즉, 최대 2의 32승 (4 GiB)의 메모리에 주소를 줄 수 있습니다. 64비트 운영체제 (64 비트 CPU)는 이론 상 2의 64승 (즉, 16 EiB, Exbi bytes, 혹은 17,179,869,184 GiB)의 메모리에 주소를 줄 수 있습니다. 적어도 현재로서는 엄청난 메모리죠.

64비트 운영체제에 관심을 가지는 근본 원인은 32비트 운영체제가 가진 메모리 한계 때문입니다. 그런데 사실은 32비트 운영체제 (32비트 CPU)에서도 소위 PAE 기능을 지원하는 경우에는 최대 64 GiB의 메모리를 사용할 수 있습니다. 그러나, 이 경우에도 시스템 메모리를 그렇게 사용할 수 있다는 것이지, 개별 프로세스 (혹은 프로그램)가 사용할 수 있는 메모리 한계는 4 GiB로 제한됩니다. (사실은 3 GiB 남짓 정도입니다.) 실질적인 관점에서는 이 제한이 훨씬 심각한 문제입니다. MySQL에서 대량 데이터를 취급하는 경우, 혹은 공학 설계용 프로그램 등, 이 한계를 가볍게 넘어가는 경우가 허다합니다.

64비트 운영체제를 사용하는 경우, 프로그램들도 속도 개선이 좀 있다고 합니다. 그러나, 이것이 근본 원인인 경우는 그리 많지 않을 수 있습니다. Application 마다 다르므로 일률적으로 크게 개선된다 아니다를 말할 사안은 아니죠.

아무튼, 위에 언급한 문제점을 근본적으로 해결하는 것이 64비트 운영체제죠. 설치 메모리의 한계를 벗어날 수 있고, 무었보다도 개별 프로세스의 메모리 한계가 3 GiB 남짓의 한계를 넘어 시스템에 설치된 메모리로 확대되니까요. 물론, 64비트 운영체제라고 해서 막대한 메모리를 쓸 수 있는 것은 아닙니다. 비용의 문제 등으로 인하여 CPU에서 지정할 수 있는 메모리에 한계가 있고, 운영체제 커넬도 제한이 있고, 마더보드도 CPU 한계에 맞추어 설계하니까요. 이는 시간이 감에 따라 점점 확대되겠죠.