32비트 응용 프로그램이 여전히 사용되는 이유
- 운영체제(OS)
- 2022. 10. 17.
이젠 대다수의 컴퓨터가 64비트 운영체제를 탑재하고 있음에도 불구하고 여전히 32비트로 개발된 애플리케이션이 많이 사용됩니다. 이유는 두 가지로 요약할 수 있습니다.
1. 64비트 os에서도 문제없이 32비트 애플리케이션을 사용할 수 있습니다.
2. 32비트로도 충분히 구동되는 애플리케이션이 많이 존재합니다.
32비트 애플리케이션 사용되는 이유
1. 64비트 OS에선 32비트도 사용 가능합니다.
아이테니엄처럼 순수하게 64비트 애플리케이션만 처리할 수 있는 아키텍처도 존재합니다. 그러나 일반 소비자용과 기업용을 모두 포함해서 가장 흔하게 사용되는 아키텍처는 AMD64와 x86-64입니다. 이 기반에선 64비트와 32비트 애플리케이션을 모두 정상적으로 처리합니다.
예를 들어, 64비트 윈도우에는 wow64
라는 하위 시스템이 존재합니다. 이 하위 시스템은 독립된 32비트 전용 시스템이기 때문에 별도의 수정 없이도 32비트 애플리케이션을 동작시킬 수 있습니다. wow64는 windows 32 on windows 64라는 뜻입니다. 64라는 숫자가 붙었지만 32비트를 위한 공간입니다.
64비트 윈도우에서는 시스템 모듈도 64비트 모듈은 System32
폴더에, 32비트 모듈은 SysWOW64
폴더에 각각 저장됩니다.
2. 여전히 32비트로도 충분합니다.
32비트로 충분히 동작하는 프로그램은 굳이 64비트로 개발할 필요를 못 느낄 수 있습니다. 32비트 응용 프로그램의 경우 윈도우에서 2GB까지 메모리 지정이 가능한데, 게임처럼 많은 메모리가 필요한 소프트웨어가 아니면 무리 없이 작동 가능한 경우도 많기 때문입니다.
같은 맥락에서, 32비트로 만들면 64비트 os와 32비트 os 모두 커버가 가능하기 때문에 추가 개발을 굳이 할 필요가 없을 수 있습니다. 물론 대부분의 소프트웨어는 두 버전을 모두 제공하긴 하지만요.
윈도우 컴퓨터 사용자라면 C드라이브 하위에 있는 program files
와 program files(x86)
폴더 내 설치된 파일을 비교해보셔도 좋을 거 같습니다. x86 쪽에 은근히 많은 exe 파일이 있을 겁니다.
'운영체제(OS)' 카테고리의 다른 글
리눅스 SysVinit, Systemd 차이 (0) | 2022.10.19 |
---|---|
리눅스 su, sudo 차이 (sudo 사용이 권고되는 이유) (0) | 2022.10.18 |
리눅스 비트, 아키텍처, CPU 정보 확인 방법 (0) | 2022.10.15 |
리눅스 실행중인 서비스 확인 방법 (systemd, SysVinit) (0) | 2022.10.13 |
WinDbg로 프로세스 크래시 감지해 덤프 생성하는 방법 (0) | 2022.10.12 |