본문 바로가기

윈도우

(8)
[64Bit] 64비트 시스템에서의 프로세스 가상메모리 어드레스, 시스템 dll 64비트 윈도우 상에서의 32비트 프로세스와 64비트 프로세스를 비교해 봤다. 64비트 윈도우7에서 explorer.exe 는 64비트 프로세스가, wmplayer.exe 는 32비트 프로세스가 돌았다.이 두 프로세스를 시스인터널즈의 vmmap.exe 툴로 잠깐 들여다 봤다. 가장 먼저 눈에 띄는 차이점은 다음과 같다. 1. 32비트 프로세스 wmplayer.exe 다. imm32.dll 등의 시스템 dll들이 windows\sysWOW64 패쓰에 있는 것들이 주루륵 붙어서 돌고 있다. 2. 프로세스의 버추얼 어드레스가 16진수 여덟자리이다. 7FFFFFFF 까지 보이고 있다. 3. 64비트 프로세스인 explorer.exe 를 보면, windows\system32\ 아래의 DLL들이 붙어 있는 걸 확인..
Windows Job Object (ie와 acrd32 비교) 윈도우 잡 객체 중에 ie와 acrd32 의 객체를 비교해 봤다. 비교한 원본은 windbg 를 통해 뽑아본(윈도우즈인터널즈 참조) 내용이다.
[TIP|PERFMON] 진짜로 정확한 컴퓨터 시작부터 사용시간 네트워크 연결 시간을 이용해서 알아내는 방법을 어디선가 본 것 같다. 그런데, 성능모니터라는 윈도우 운영체제가 제공하는 성능 모니터링 툴을 이용해 정말로 정확한 값을 알 수 있다. 성능 모니터(perfmon.msc)는 운영체제와 그 안에서 동작하는 하드웨어, 소프트웨어의 성능을 세밀하게 측정할 수 있게 해 주는 툴이다. 물론 시스템의 부팅시부터 현재까지의 시간을 알려주는 기능도 가지고 있다. 성능 카운터 추가에 들어가서, XP의 경우에는 성능개체를 system, 카운터에서 system up time 을 선택하고 추가를 선택하면 된다. 7의 경우에는 system 을 먼저 찾고, 확장하면 그 아래 system up time 이 보인다. 이것을 추가하면 된다. 추가하고서 그래프로 보는 건 잘 안 보이고, 보고..
[번역] 32-COM 오브젝트를 64비트 머신에서 생성할 때, 액티브X 컴포넌트가 오브젝트를 생성하지 못한다. http://blogs.msdn.com/b/helloworld/archive/2007/12/12/activex-component-can-t-create-object-when-creating-a-32-com-object-in-a-64-bit-machine.aspx ActiveX component can't create object, when creating a 32-COM object in a 64-bit machine 32-COM 오브젝트를 64비트 머신에서 생성할 때, 액티브X 컴포넌트가 오브젝트를 생성하지 못한다. HelloWorld 12 Dec 2007 2:26 AM 번역 2011년 1월 6일 I had two posts to resolve an issue with applications that ..
[번역] 64비트 윈도우에서 32-비트 ASP.NET을 실행하도록 IIS 설정하기. http://msdn.microsoft.com/en-us/library/cc737351%28v=ws.10%29.aspx Configuring IIS to Run 32-bit ASP.NET Applications on 64-bit Windows 64비트 윈도우에서 32-비트 ASP.NET을 실행하도록 IIS 설정하기. Updated: August 22, 2005 업데이트: 2005년 8월 22일 번역: 2011년 1월 6일 Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 적용대상: 윈도우 서버 2003, 윈도우 서버 2003 R2, 윈도우 서버 2003 SP1 If you intend to run 32..
[WINDOWS7] taskbar 폴더를 너무 많이 띄우고 작업하다가 보면 너무 많이 띄워서 필요한 폴더를 빨리빨리 찾기가 힘들고, 꼭 열어두고 작업해야 하는 폴더인데도 지우고 하는 일이 너무 많았었다. 윈도우7에서는 작업표시줄(taskbar)에서 현재 사용하고 있는 인스턴스들을 간단히 팝업으로 보여줘서 편리하다. 그리고 자주 접근했던 폴더(비주얼 스튜디오의 경우에는 프로젝트들)를 알아서 표시해 주어서 편리하다. 이 기능 아주 마음에 든다. 자주 사용하는 항목에는 최종 폴더명만 나오고, 각 항목 위에 마우스를 올려 놓으면 전체경로도 보여준다. 실제로 자주 사용하지 않을 폴더는 왼쪽 클릭하고 항목에서 삭제를 클릭하면 다음부턴 안 보여준다.
Private but Shareable 시스인터널즈 툴 중에 재미있는 게 있다. vmmap 이라는 툴로, 특정 프로세스가 사용하는 가상주소공간을 지금 어떤 것이 얼마나 사용되고 있는지를 나타내 주는 툴이다. 색색깔로 예쁘게 서로 다른 의미로 사용되는 것을 다르게 보여줘서 아주 좋다. 이 툴을 가지고 이것저것 살펴보다가 이상한 것을 발견했다. 아래 그림에서 반전시킨 부분이다. 뭐가 이상하다고 하는 거냐면, 다시 위쪽 부분을 보자. 메모리의 종류에는 Private 이라고 노란색으로 표시된 것이 있는데, 이렇게 딱지가 붙은 것은 다른 프로세스와 공유되지 않는 자기 자신만 사용할 수 있는 그야말로 "개인적인", "자기만의" 공간이다. 그런데, 각 메모리 종류에 대해 상세하게 워킹셋(WS)을 구분하여 보여주는 곳에는 Private, Shareable ..
소켙과 핸들 1 몇 회까지 울궈먹으며 포스팅을 할 지 모르겠지만, 1회라고 써 본다. 김성우씨의 네트워크 프로그래밍 책의 예제에 기반한 CPP 프로그램을 실행하면서 프로세스 익스플로러로 핸들을 확인했다. 예제는 아주 간단하게 소켙을 만들었다가, 다시 죽이는 것이었고, 내가 수정한 부분은 소켓을 만들었다, 닫는 작업을 반복해 보는 것이었다. WSAStartup 함수가 실행된 직후이다. 프로그램의 시작부분이라서 쓰레드가 하나 만들어 지는 것 같고, 레지스트리 키 두개를 읽나부다. 레지스트리 키 명을 확인해 보면 HKLM\SYSTEM\ControSet001\Services\WinSock2\Parameters\NameSpace_Catalog5 와 HKLM\SYSTEM\ControlSet001\Services\WinSock2\P..