윈앤위


 윈앤위는 웹표준을 준수하는 브라우저들을 대상으로 최적화 되어 있습니다.
 IE7, IE8, 파이어폭스, 사파리, 크롬, 오페라, 플록을 권장(MS IE6 비권장)
 
동일한 주제의 여러글이 있어도 구글 전체 사이트 검색은 한 페이지만 찾습니다. 페이지 오른쪽의 사이트 맞춤검색이나 태그구름을 이용하시면 최신 정보를 찾을 수 있습니다!

Windows 7 가상 주소 공간과 가상 메모리 뷰어, 잡답

  News and Blogging, Posted 배우기(Mr.Learn) on 2009년 10월29일 AM 05:12
emptyemptyemptyemptyemptyemptyemptyemptyemptyempty 구독자 평가 : 0/10, 총 0 명이 참여하셨습니다.
Windows는 전문적이고 방대한 분야입니다. 스터디하지 않고는 10년을 사용한들 Windows 메커니즘을 이해하기는 어렵기 때문에 많은 시간 MS 기술문서를 참조합니다. 이러한 과정에서 얻은 올바른 지식을 윈앤위 방문자님이나 멤버님들과 공유하고 있습니다.
-
궁금한 사항은 포탈 카페나 지식 서비스를 비롯 타 커뮤니티에서 질의나 논의를 하기보다는 글을 작성한 퍼브리셔와 직접 소통하는 것이 유익합니다. 오히려 잘못된 답변과 함께 어처구니 없게도 퍼브리셔의 무지함으로 몰아가는 경우가 종종 있습니다.
-
궁금한 사항은 언제든 윈앤위 열린 질문 포럼을 이용하세요. 멤버 등록이나 가입절차 없이 누구든지 이용할 수 있도록 열려있습니다. 타 사이트에 링크를 걸기 보다는 직접 글을 작성한 퍼브리셔와 소통하십시오. 애석하게도 링크가 걸린 글들을 읽어 보면 Windows를 제대로 이해하고 답변한 경우가 거의 없을 정도입니다.
 우리 사용자들이 메모리 용량을 확인할 때 흔히 사용하는 것이 Windows 작업관리자입니다. 또 다른 GUI로는 실행 상자에서 msinfo32를 실행해서 시스템 요약으로 확인이 가능합니다. 제 경우는 주로 systeminfo | more를 활용합니다. 그런데 과연 이것으로 Windows의 가상 주소 공간을 확인할 수 있을까요? 애석하게도 확인이 불가능합니다. 우선 이미 잘 알려진 4기가 바이트 램 튜닝에서 스위치 /3GB를 주게 되면 가상 주소 공간의 기본 레이아웃이 커널 모드 2GB + 유저 모드 2GB = 4GB 가상 주소 공간이 커널 모드 1GB + 유저 모드 3GB로 조정이 되어서 기존 보다 1GB 많은 공간을 어플리케이션이 사용 가능하지만, 이것을 msinfo32로 확인할 수는 없습니다. 확인한다고 데이타를 제시하는 사람도 실제로 있지만.^^ 단순하게 Windows가 보고하는 메묘리 용량일 뿐이지 가상 주소 공간과는 무관합니다. 단, 작업 관리자의 프르세스를 통해서 각 프로세스가 얼마의 메모리 용량을 사용하는지 파악은 가능합니다. 그렇지만 이 역시 4GT가 적용이 되어서 실제 메모리 튜닝이 일어났지는 파악하기가 불가능 합니다. 그렇다면 가상 주소 공간을 무엇으로 확인을 해야 할까요? 바로 가상 메모리 맵 뷰어라는 프로그램(Virtual Memory Map Viewer)입니다. 누구라도 다운이 가능하도록 무료로 제공이 가능하지만, 일반 사용자들 보다는 주로 개발자들이 사용하는 도구입니다. 일단 4GT를 통해서 Windows 7의 실행 결과를 살펴 보겠습니다.

 
다운 로드 : vmmap.zip

 상단 이미지의 왼쪽은 왼쪽 4GT가 적용된 상태이고, 오른쪽은 4GT가 적용되지 않은 상태로 캡처한 이미지입니다. 그리고 X표가 있는 영역은 msinfo32.exe라는 시스템 정보 도구입니다. 4GT가 적용이 되던지 안되던지 변화가 거의 없습니다. 그러나 가상 메모리 맵 뷰어의 프라이빗(private)에는 기존에 볼 수 없었던 대략 1GB의 용량이 늘어난 것을 확인할 수 있습니다. 이 프라이빗은 작업 관리자에서는 개인 메모리(집합)이라고 하며, 프로세스가 단독으로 할당 받아 사용하는 메모리입니다. 실제 메모리(램)가 4GB 또는 1GB라고 해도 4GT를 적용하면 프라이빗 메모리가 1GB 정도 늘어나게 됩니다. 따라서 사용자들은 프로세스가 단독으로 사용할 수 있다는 이 프라이빗의 용량이 1GB가 증가함으로써 유저 모드가 2GB에서 3GB로 늘었다는 실체를 확인을 할 수 있습니다. 그렇지만 또 여기서 끝나는 것이 아니지요. 응용 프로그램이 Large Address Aware라고 인식을 시켜야 최대 3GB의 메모리까지 사용이 가능하게 됩니다. 이렇게 4GT라는 것도 복잡합니다.

 다음은 PAE라는 실제 확장 주소인데요. 배우기(Mr.Learn)가 이 PAE도 메모리 튜닝으로 실제 4GB의 램에서 커널 모드 1GB + 유저 모드 3GB로 조정이 된다라고 주장을 합니다. 그런데 이것을 검증한 바는 없습니다.^^ 물론 MS기술 문서 모두를 섭렵했다라고 할 수 없지만, 어쨋거나 PAE가 메모리 튜닝이라고 설명한 글도 없습니다. 그리고 이것이 최근 짜증 대박을 내었습니다. 어떤 방문자가 PAE는 가상 주소와 는 하등의 관계가 없다고 하더군요. 그렇다면 PAE를 사용하면 프로그램이 직접 램속으로 들어가서 바로 실행이 되는지 모르겟습니다.^^ 4GT나 PAE나 모두 가상 주소를 통해서 실제 메모리가 접근을 하지만, PAE의 특징은 오로지 실제 메모리만을 사용한다는 것입니다. 물론 가상 주소 맵핑을 통해서 실제 메모리에 접근하지만, 실제로 4GB 이상을 넘어서는 것이 4GT와는 분명하게 구분이 되고 Large Address Aware가 아닌 AWE API가 사용되어야 한다는 것입니다. 그러나 이 PAE도 가상 주소를 32비트에서 36비트로 재지정하는 변환과정이 필요합니다.

 당연히 배우기(Mr.Learn)가 Windows에 호기심이 많기 때문에 과연 PAE 커널이 로드가 되면 어떤 변화가 일어나는지 궁금 합니다만 아직 까지는 뭔가를 발견할 것이 없습니다. 단지 커널만 올려져고 기존의 구동 메커니즘에는 아무런 변화를 느끼지 못합니다만, 마찬가지로 msinfo32로 확인이 불가능합니다. 그런데 이와 관련해서 재미있는 생각을 했습니다.

1, 가상 주소 공간의 변화가 없다라고 가정을 해서 ...
 변화가 없다면 커널 2GB + 유저 2GB가 그대로 유지가 되는데, 마이크로소프트는 왜 Maximum memory support with PAE, 4GB라고 하면서 4GB라는 표기를 하는가? 물론 PAE를 제외하고도 32비트에서는 당연히 4GB 밖에사용되지 않기 때문에 한도 4GB인 것은 당연하고 기존의 가상 주소 공간을 유지하는데, XP에서 굳이 4GB로 제한을 하면서 PAE를 지원할 필요는 없다는 생각입니다.

2. PAE가 AWE API와 함께 사용되면 커널 공간을 밀어 버릴까?
 AWE API가 어떤 놈인지 모르겟습니다만, API라는 인터페이스가 사용되면 기존의 가상 주소 공간의 커널 모드 2GB를 1GB로 밀어 버리고 작동한다는 것은 전혀 아닌 듯 한데, 굳이 AWE API를 4GB에서 지원할 필요가 있을까라는 생각이 듭니다. 그것이 아니라면 PAE 커널이 올라오면서 커널 모드 1GB + 유저 모드 3GB라는 변화를 준다고 봐야하는데, 이러한 가상 주소 공간의 변화를 찾는 것이 쉽지가 않습니다.(msinfo32로 확인은 역시 불가능)

3. AWE API와 단지 Large Address Aware의 차이일까?
 뮬론 PAE + AWE가 적용이 되어야 4GB 이상을 사용할 수 있습니다만, Maximum memory support with PAE, 4GB인 상태에서는 결국 AWE API와 Large Address Aware라는 차이 밖에 나지 않습니다. 따라서 PAE커널을 올리고 API차원에서 지원을 하느냐 아니면, 기존 커널 차원에서 이미 프라이빗(private) 메모리를 확보해서 단순하게 Large Address Aware만으로 가능하느냐라는 차이가 납니다.

 결국은 고민끝에 Windows 사용자로써 생각한 것이 PAE도 가상 주소 공간의 확인은 어렵지만 커널 1GB + 3GB로 조정이 된다라는 생각을 가지게 된 것입니다. 그리고 아래 처럼 [PAE(실제 주소 확장) x86 및 응용 프로그램 메모리 조정]라는 마이크로소프트 설명을 보니까 이것이 4GT와 혼란스럽던데, 문장을 잘 파악해 보면 4GT를 뜬금없이 연관을 시킨다는 것이 문장 흐름상 맞지는 않고, API가 직접 가상 주소 공간의 레이아웃을 바꾼다는 것도 그렇고 결국 PAE가 활성화되어 메모리 튜닝이 되는 쪽으로 생각하게 됩니다. 4GT라고 박박 우기는 사람도 있지만 ...

PAE(실제 주소 확장) x86 및 응용 프로그램 메모리 조정

PAE(실제 주소 확장) X86 및 4GT(4GB 조정)라고도 하는 응용 프로그램 메모리 조정 기능은 Intel 프로세서를 사용하는 컴퓨터를 위한 보조 기술입니다.

응용 프로그램 메모리 조정 기능은 운영 체제에의 가상 메모리 사용을 줄임으로써 응용 프로그램이 좀 더 많은 가상 메모리를 사용할 수 있도록 합니다. PAE X86은 Intel Pentium Pro 프로세서 이상 및 Windows Server 2003, Enterprise Edition 또는 Windows Server 2003, Datacenter Edition이 설치된 컴퓨터에서 실행되는 AWE(Address Windowing Extensions) API 집합을 사용하는 소프트웨어가 응용 프로그램의 가상 주소 공간에 보다 많은 실제 메모리를 매핑할 수 있도록 합니다.

예를 들어 컴퓨터에 Pentium Pro 프로세서 이상 및 16GB의 실제 메모리(응용 프로그램 조정 기능이 지원하는 최대 양)가 있으면 응용 프로그램 메모리 조정 기능을 사용하여 3GB의 가상 메모리를 응용 프로그램에 할당할 수 있습니다(1GB는 운영 체제용). 이렇게 하면 지정된 응용 프로그램은 해당 실제 메모리를 잠글 수 있습니다. 응용 프로그램은 AWE API 집합 및 PAE X86 커널을 사용하여 나머지 12GB의 실제 메모리를 캐싱에 사용할 수 있습니다. 결과적으로 응용 프로그램은 최대 15GB의 실제 메모리에 액세스할 수 있습니다.

 게으르즘과 귀차지즘에 뭐 눈도 아프고 실제로 ... MS 기술 문서라는 것이 쉽지도 않고 ... ^^
 옆집 개똥아빠 보면 꼭 자기말만 옳다고 하고 상대방 말은 전혀 귀담아 듣지를 않는데, 온라인 상에서도 그런 것을 느끼니까 아주 짜증 대박이더구먼요. 윈앤위에 제발 좀 그런 사람 안왔으면 좋겠습니다.(그런 의미로 최근 ㅉㅈ성 코멘트 삭제, 꼭 블로그 주소 없는 고상한 닉네임 사용자들의 소행 ...)
무식한 것인지 용감한 것인지, 네이버 상습 펌질 및 양심불량 블로그(blog.naver.com/spef)는 윈앤위 게시물 모두 삭제하십시오!
개인 운영 사이트라고 만만하게 생각하고 콘텐츠 복제하나본데 그러다가 큰코 다칩니다.
저작권자 동의없이 콘텐츠 복제를 금합니다. 동의를 거쳐서 이용 규칙을 준수하십시오!
구독자 참여 :  
배우기(Mr.Learn)'s avatar작성날짜 : 2009년 10월 29일
작성시간 : AM 05시 12분 57초
퍼브리셔 : 배우기(Mr.Learn)
저작권자 : Powered by 윈앤위
코멘트는 누구에게나 열려 있습니다.
트랙백도 블로거에게 열려 있습니다.

Comments (0)

Trackbacks (0)

Questions and Answers

NEXT 방문자 D라는 분의 코멘트 삭제에 대한 배우기(Mr.Learn)의 입장입니다.  유저 모드 어플리케이션에서 PAE와 4GT PREV
Powered by Expressionengine
Powered by Jquery
Powered by DNSEver

get RSS 2.0 Add Google

Main Contents

Beta Service

  • 모바일 페이지 - 이동기기용 페이지
  • 열린 평가 시험 - Beta version 0.1
    등록이나 가입없이 무료로 누구나 쉽게 운영체제 실력을 진단할 수 있도록 문제은행 구축

Lectures

  • 스케치업6 강좌 - 1 ~ 2시간 정도면 누구나 쉽게 구글 스케치업을 배울 수 있도록 25단계로 구성한 입문용 강좌
 
Site Status - Windows Weblog

This page has been viewed 287699 times
Page rendered in 0.1842 seconds
Total Entries: 211
Total Comments: 264
Total Trackbacks: 1
Most Recent Entry: 03/08/2010 09:09 pm
Most Recent Comment on: 03/12/2010 07:27 am
Total Members: 13
Total Logged in members: 0
Total guests: 27
Total anonymous users: 0
Most Recent Visitor on: 03/15/2010 12:18 am
The most visitors ever was 522 on 08/26/2009 03:15 am

Publishers


윈앤위™는 Windows(NT계열) 운영체제를 주력 콘텐츠로 하는 블로그 사이트입니다. 방대하면서도 전문적인 Windows에 관해 배우기(Mr.Learn)와 함께 스터디 하실 분들은 커뮤니티에 [멤버등록]을 권장합니다.

콘텐츠 이용안내 - 본 블로그 사이트의 저작물은 무단 전제 및 재배포가 아닌 [CCL(크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스)]에 따라 이용하실 수 있습니다.

  

가장 유능한 사람은 가장 배우기에 힘쓰는 사람이다. - 괴테