목차
소비자들도 64비트 컴퓨터를 손쉽게 구입할 수 있는 시대가 열리고 있다.
시작은 AMD, 본격화는 인텔
왜 64비트 윈도우를 말하는가?
무한 자원을 목표로 - 64비트 주소공간
가상주소공간의 변화
결론적으로 64비트 윈도우가 가고자 하는 방향
시작은 AMD, 본격화는 인텔
왜 64비트 윈도우를 말하는가?
무한 자원을 목표로 - 64비트 주소공간
가상주소공간의 변화
결론적으로 64비트 윈도우가 가고자 하는 방향
본문내용
훨씬 큰 크기의 주소 공간을 제공하는데 64비트 윈도우에서 프로세스의 사용자 모드 주소 공간은 기본적으로 8TB이며 커널 모드 주소공간도 8TB이다. 32비트 윈도우의 사용자 모드 기본 주소공간이 2GB이므로 4,096배에 해당하는 엄청난 공간이다.
그리고 <그림 2>와 같이 64비트 윈도우는 최대 32GB(일부 윈도우 서버 에디션은 최대 1TB)의 물리 메모리를 지원하고 프로세스 간에 이 영역을 공유하지 않고도 사용할 수 있을 만큼 크기 때문에 메모리 페이지의 디스크 스왑이 많이 발생하지 않을 수 있고 프로세스의 수행 성능이 높아질 수 있다.
<그림 2> 64비트 윈도우에서의 메모리 사용 예
그렇다면 64비트 프로세스라도 기존의 32비트 프로세스처럼 2GB만 사용자 모드 주소공간으로 사용할 수도 있을까? 답은 ‘그렇다’이다. 예를 들어 2GB 주소공간이면 충분한 애플리케이션이거나 소스코드 내에서 너무 많은 포인터 연산과 포인터와 정수형 간에 형변환이 발생해서 포인터 사용이 안전하지 않을 경우에는 기존의 32비트 소스코드를 크게 수정하지 않고 64비트 프로세스로 사용할 수 있는 방법이 있다.
이 방법은 컴파일 시 특수한 스위치인 /LARGEADDRESSAWARE:NO를 사용하게 되는데 이 옵션을 이용해 컴파일된 64비트 프로세스는 시스템이 메모리 할당을 2GB 안에서만 하게 되고 64비트 포인터 중 32비트만 유효한 상태가 되기 때문에 포인터 사용이 안전해진다. 그러나 주의할 점은 64비트 프로세스에서 사용하게 되는 다른 DLL들이 64비트 주소공간 모두를 의미 있게 사용하게 될 경우 심각한 오류를 발생시킬 수도 있다. 다른 DLL들까지 2GB 안에서만 주소공간을 사용하도록 강제하는 것이 아니기 때문이다.
결국 64비트 프로세스에서 기존의 32비트 프로세스처럼 2GB만 주소공간으로 사용하려면 프로세스 안에서 사용되는 모든 모듈을 /LARGEADDRESSAWARE:NO 스위치로 컴파일해야 하지만 현실적으로는 어려움이 많으며 빠른 시일 안에 64비트 윈도우를 위한 완벽한 소스코드를 작성하는 것이 좋다.
결론적으로 64비트 윈도우가 가고자 하는 방향은 기존의 32비트와 64비트 모두를 원활하게 지원하고 하나의 소스코드를 이용해 32비트와 64비트 애플리케이션 개발을 할 수 있으며 향후 기업 환경이나 엔터프라이즈 환경에 맞는 진정한 64비트 애플리케이션을 개발하기 쉬운 환경을 제공하는 것을 목표로 하고 있다.
그리고 <그림 2>와 같이 64비트 윈도우는 최대 32GB(일부 윈도우 서버 에디션은 최대 1TB)의 물리 메모리를 지원하고 프로세스 간에 이 영역을 공유하지 않고도 사용할 수 있을 만큼 크기 때문에 메모리 페이지의 디스크 스왑이 많이 발생하지 않을 수 있고 프로세스의 수행 성능이 높아질 수 있다.
<그림 2> 64비트 윈도우에서의 메모리 사용 예
그렇다면 64비트 프로세스라도 기존의 32비트 프로세스처럼 2GB만 사용자 모드 주소공간으로 사용할 수도 있을까? 답은 ‘그렇다’이다. 예를 들어 2GB 주소공간이면 충분한 애플리케이션이거나 소스코드 내에서 너무 많은 포인터 연산과 포인터와 정수형 간에 형변환이 발생해서 포인터 사용이 안전하지 않을 경우에는 기존의 32비트 소스코드를 크게 수정하지 않고 64비트 프로세스로 사용할 수 있는 방법이 있다.
이 방법은 컴파일 시 특수한 스위치인 /LARGEADDRESSAWARE:NO를 사용하게 되는데 이 옵션을 이용해 컴파일된 64비트 프로세스는 시스템이 메모리 할당을 2GB 안에서만 하게 되고 64비트 포인터 중 32비트만 유효한 상태가 되기 때문에 포인터 사용이 안전해진다. 그러나 주의할 점은 64비트 프로세스에서 사용하게 되는 다른 DLL들이 64비트 주소공간 모두를 의미 있게 사용하게 될 경우 심각한 오류를 발생시킬 수도 있다. 다른 DLL들까지 2GB 안에서만 주소공간을 사용하도록 강제하는 것이 아니기 때문이다.
결국 64비트 프로세스에서 기존의 32비트 프로세스처럼 2GB만 주소공간으로 사용하려면 프로세스 안에서 사용되는 모든 모듈을 /LARGEADDRESSAWARE:NO 스위치로 컴파일해야 하지만 현실적으로는 어려움이 많으며 빠른 시일 안에 64비트 윈도우를 위한 완벽한 소스코드를 작성하는 것이 좋다.
결론적으로 64비트 윈도우가 가고자 하는 방향은 기존의 32비트와 64비트 모두를 원활하게 지원하고 하나의 소스코드를 이용해 32비트와 64비트 애플리케이션 개발을 할 수 있으며 향후 기업 환경이나 엔터프라이즈 환경에 맞는 진정한 64비트 애플리케이션을 개발하기 쉬운 환경을 제공하는 것을 목표로 하고 있다.
추천자료
- 국회의원 선거구획정의 문제점과 새로운 선거구획정위의 운영 및 절차
- 통일 한국의 바람직한 경제체제의 모색
- 너싱홈의 개설현황을 조사하고, 너싱홈 운영의 강점과 약점에 대한 설명
- 조직관리론 - 책임운영기관
- 특별활동의 가치, 특별활동의 특징, 특별활동의 기본원리, 특별활동의 시간편성, 특별활동의 ...
- 재량활동 교육과정의 교육적 의미와 필요성, 재량활동 교육과정의 목표와 기본원칙, 재량활동...
- 학교운영위원회의 권한, 학교운영위원회의 의무, 학교운영위원회의 기능, 학교운영위원회의 ...
- 원격교육의 개념, 원격교육의 현황, 사이버연수(원격연수)의 동향, 사이버연수(원격연수)의 ...
- 유아교육기관운영관리A+(유아교육기관의 평가에 관하여 보육시설과 유치원으로 나누어 설명)
- 시장경제의 운영원리를 설명하고, 그의 발전조건에 대하여 논의하시오
- 세계주요국가의 과학기술 행정체계(행정체제), 간접 유도형 행정체계(행정체제), 아시아의 행...
- [기술혁신]기술혁신과 지역경제발전, 지역혁신체제(RIS), 기술혁신과 국가혁신체제(NIS), 기...
소개글