32비트(32bit), 64비트(64bit) 무슨 말일까?

    안녕하세요. 이번 시간에는 32비트와 64비트의 응용프로그램에 대해서 간단하게 알아보도록 하겠습니다.

     

    컴퓨터를 사용하시면서 내 컴퓨터에 들어가신다거나 어떤 프로그램이든 설치해본 경험이 있다면 아마도 32비트와 64비트로 설치 파일이 나눠져 있는 것을 자주 본 적이 있을 것입니다.

     

    내 컴퓨터에서 운영 체제 방식(64bit)을 확인할 수 있습니다.

    32비트 응용프로그램이란, 32비트 CPU의 기계어로 번역되는 프로그램을 말하는데, 2의 32제곱만큼 즉 약 4GB 정도의 메모리 주소를 사용할 수 있으며 CPU와 메모리 간의 데이터가 32비트 단위로 이동할 수 있습니다. 게다가 CPU 내 레지스터 크기가 32비트이기 때문에 한 번에 계산할 수 있는 데이터는 32비트로 제한됩니다.

    최근에 사용하는 컴퓨터는 거의 대부분 64비트 운영체제인데, 64비트 운영체제는 32비트 응용프로그램이 기본적으로 호환되기 때문에 32비트, 64비트를 크게 구분 짓거나 불편함을 느낄 필요 없이 실행할 수 있습니다.

     

    (물론 64비트 운영체제에서 실행된다고 하지만 기본적인 제약은 32비트 응용프로그램의 스펙을 따라갑니다. 그리고 32비트 방식으로 실행한다고 명시하는 설정을 걸어두어야 문제 없이 실행되는 프로그램의 경우도 있습니다.).

    64비트 운영체제에서 32비트 프로그램이 실행되기 위해 중간에 이를 변환하는 Layer가 하나 존재하는데, 아래의 화면에서 확인할 수 있는 Wow64(Windows 32bit on Windows 64)입니다.

     

    또 하나의 중간 층을 거쳐간다는 것은 곧 32비트 응용프로그램이 64비트 운영체제 안에서 실행될 때에 32비트 운영체제 안에서 실행할 때에 비해서 느리다는 단점이 발생하는 것을 의미합니다.

     

    Wow64: 32비트 프로그램이 64비트 운영체제에서 실행되도록 변환하는 Layer

    반면 64비트 응용프로그램의 경우에는 2의 64제곱까지 메모리 주소로 할당받아서 사용할 수 있으며, 이는 약 16EB 정도의 엄청난 크기이지만, 실제로는 약 8TB 정도를 할당 받아 사용할 수 있다고 합니다.

    이 밖에 레지스터 크기나 데이터 이동이 32비트 응용프로그램의 2배이기 때문에 속도도 2배 정도 빠르다고 볼 수 있습니다.

    특히 MS에서 배포하는 서버용 운영체제의 경우에는 2008 R2 버전 이후로는 계속 64비트 운영체제만 출시되고 있다고 하니, 64비트 운영체제와 응용프로그램에 익숙해진다면 서버 내에서 개발 할 때에 편리하지 않을까 생각합니다.

    질문이나 보완해야 할 내용에 대해서는 댓글로 남겨주시거나 여기로 메일을 보내주세요. 감사합니다.

    댓글

    Designed by JB FACTORY