간혹 DC간 Replication의 문제가 발생할 경우가 있습니다.
해결 하기 막막한 분들을 위해서 각 Event ID 별 원인 및 해결 책을 공유해 드립니다.
|
Session Manager : smss.exe Subsystem DLLs : kernel32.dll, gdi32.dll, user32.dll Win32 Subsystem : csrss.exe Graphic driver : Win32k.sys Kernel : Ntoskrnl.exe Drivers : xxx.sys HAL : hal.dll 이제 부터 Windows의 기본적인 architecture에 대해서 몇 일에 걸쳐 설명하려고 합니다. Windows는 Micro Kernel 이론에 근거한 운영 체제 입니다. 그 근간은 DEC의 VMT에서 시작됩니다. 그림에서 보듯이 Windows 는 기본적으로 User 가 접근 할 수 있는 Address 영역과 Kernel 이 접근 할 수있는 Address 영역을 완전히 분리하여 OS의 안정성을 보장하고 있습니다. User Mode 크게 User mode에서 실행되는 Program은 System support processes, Service processes, Application, Environment로 나누어 볼 수 있습니다. (관점에 따라 다르게 분류 가능합니다.) 1. System Support Processes smss.exe : Session manager csrss.exe, winlogon.exe 호출 csrss.exe : Process 와 Thread 관리 및 GDI Control winlogon.exe : registry의 userinit에 정의된 실행 파일 (services.exe, lass.exe, login prompt) 호출 services.exe : Services Controller lsass.exe : local security authentication server userinit.exe : logon > start explorer.exe 2. Services Processes log on 이 필요없이 시스템 부팅과 동시에 실행 되는 프로그램 3. Application lon in 이 되어 유저가 호출하면 실행 되는 프로그램 4. Environment Win 32 Subsystem은 크게 kernel32.dll, gdi32.dll, user32.dll 등의 subsystem dll과 csrss.exe로 이루어져 있습니다. 실질적으로 application이 실행 되는 기반이 되며 csrss.exe의 역활을 생각하시면 충분이 예상 할 수 있습니다. 현재는 os2, posix의 경우 SFU 서비스로 분리 되어 있습니다. Windows Cluster Computing의 경우 Posix가 기본적으로 필요하다고 하며, 이들은 OS2 계열 및 Unix 계열 Application을 실행 하기 위하여 필요한 서브 시스템들이입니다. (여담 : 추가 적으로 여러 주요 Services 실행하는 하나의 서버의 경우 자원 경합이 일어나 서버 성능 저하가 일어 날 수 있습니다. memory paging) Kernel mode 커널은 크게 xxx.sys 라는 device driver와 Ntoskrnl.exe 라는 커널 그리고 Windows 그래픽 환경을 위한 GDI 및 Win32k.sys 그리고 하드웨어 추상화 계층인 hal.dll 로 구성되어 있습니다. 커널은 사용자와 하드웨어 간의 인터페이스를 하고 프로세스와 쓰레드를 관리하는 등의 역활을 하는 하나의 커다란 프로세스 입니다. 일반 적으로 우리가 커널이라고 부르는 부분이 ntoskrnl.exe 입니다. 그런데 Windows의 경우 다양한 하드웨어 회사들이 지원을 하고 있습니다. 즉 각각의 하드웨어들을 OS 상에서 다 지원하는데 한계가 있습니다. 그래서 만들어 진게 하드웨어 추상 계층과 하드웨어 벤더에서 제공하는 xxx.sys 즉 드라이버 입니다. 그리고 중요한 부분이 Graphic 처리에 관련 된 GDI와 Win32k.sys 입니다. 문제는 GDI가 커널 내부로 들어온 것인데.... 어쩌면 양날의 검이라 볼 수도 있습니다. GUI 운영체제로써 뛰어난 속도 향상 하지만 그 이면에 안정성의 약화... 물론 Win32k.sys 의 안정성 측면의 문제도 집고 넘어가야 하지만 몇가지 의구심이 드는건 떨쳐 버릴 수 없습니다. (미나시는 안정성에 확신이 있어서 GDI를 커널 내로 넣었다고 하네요... 하지만 전 종종 Win32k.sys의 leak 으로 인한 블루스크린을 본답니다...ㅡㅡ;) 참고 Windows Start up Registry |
일반적으로 Private Memory는 Paging File을 포함한 한 프로세스가 사용하는 메모리 공간을 말하고, Working Set은 해당 공간 중 Paging 을 제외한 공간을 말한다. |
Win32API 는 Windows Application 을 작성하기 위한 API 모음이다. |
구글이 부렵지 않는 내 자리...^______________^v 안락한 내 자리 구글이 않부렵다! 데스크탑이 이정돈 되야지! (DL 380 2CPU 8GB) 므흣한 맘 내 책들~~~ (언제 다 읽을지...) |
LG CNS에서 LG N-SYS로 회사를 옮긴 후 한 동안 기운이 빠져 있었습니다. |
ISA 서버라구 들어보신 기억이 있으신지...
다양한 기능들이 있고, 또한 이제 시작하는 만큼 약간의 허점이 있는 제품입니다. 얼마전에 ISA 관련한 문의가 와서 ISA와 AD 통합에 대해서 한글자 적어 봅니다. ISA는 일반 Firewall과 가장 다른 점이 있다는 바로 유저를 인식 할 수 있다는 점입니다. 물론 User 는 밑에 그림에서 보시는 부분에서 인식하게 만들 수 있습니다. (밑의 그림이 깨지니깐 클릭해서 보세요.) 위 그림에서 Require all users to authenticate를 체크 해주게 되면 AD 통합 인증이 가능합니다. 이제 정책을 설정해 봅시다. 위와 같이 인증을 받도록 설정하게 되면 ISA는 모든 사용자들을 인식 할 수 있습니다. (즉 누군지 알 수 있다는 뜻이죠...ㅋ) 자 Firewall Policy 정책중에 User 탭이 보이시죠~~~ 저걸 이용하면... 흠흠흠 계정별 정책적용이 가능해 집니다. 자 이제 다이나믹한 정책을 한번 적용해 보시기 바랍니다. |
일단 현재까지의 Windows의 문제점에 살펴 보고, Windows 2008 도입을 통한 그 해결책을 바라보고자 한다. (일단 Win32k.sys가 커널 부에 위치하는데… 어떻게 됐는지 좀 궁금하다…;;;)
|