Windows ETC

Windows NT 아키텍처 - Part 1

2012.11.30 08:25

호스트웨이 조회 수:1480

*** 윈도우 NT 아키텍처 소개 ***

 윈도우 NT 아키텍처를 말할 때 꼭 쓰이는 용어는 바로 "클라이언트/서버" 와
"모듈화"이다.

 모듈화가 의미하는 것은, 중요한 인터널 부분을 확실한 목적에 따라 작고 분
산된 형태로 나뉜다는 것이다. 모듈화는 OS이던 프로그램이던 간에  추구해야
할 중요한 목표이다. 모듈화된 코드는,  각각의 사용 목적이 확실하고,  서로
다른 부분에 영향을 끼치지 않기 때문에 유지보수하기 쉽다.

 모듈화 설계 개념은, 기존의 O/S에서 곧잘 쓰였던  모놀리식  디자인 개념과
대비된다. 모놀리식 디자인에서, O/S는 특권 프로세서  모드에서 돌아가고,
코드의 블록들이 서로  꼬여 있는 형태의 함수들을 많이  제공한다.  이 경우
코딩 자체는 작아지고 가벼워지지만, 시스템이 유연성을 갖기가 쉽지 않다.

 사람들이 윈도우 NT가 클라이언트/서버 O/S라고 들었을 때, 그 말 때문에 NT
자체가 클라이언트/서버 데이터베이스 시스템이나  네트웍 시스템까지의 역할
만 한다고 생각되곤 했다. 물론 NT가 그런 역할도  충분히 잘  소화해  낼 수
있지만, 이것은 NT아키텍처에 대한 적절한 생각은 아니다. 여기서의 클라이언
트/서버란 NT 내부의 기본적인 개념인 것이다.  이것은 모듈화 개념과 비슷한
것이다. 즉 어떤 것을 원하는 코드가 있으면  그것이 클라이언트가 되는 것이
고, 그걸 제공하는 쪽이 서버가 되는 것이다. Win32 서브시스템은  이런 면에
서 볼 때 서버이다.


 
*** 유저모드와 커넬모드 ***

 최근의 대부분의 프로세서들은 여러 가지의 모드를 제공한다. 링이라고도 불
리우는데, 특권 레벨과도 같은 말이다.  이 모드들은 하드웨어를 관장하는 부
분과 그저 응용프로그램만이 돌아가는 모드를 구분할 수 있도록 해준다. 윈도
우 NT는 그 중 2가지 모드만 사용한다. 즉 유저모드와 커널모드가 된다. 당연
히 커널모드에서 동작하는 것들은 시스템의 하드웨어,  소프트웨어 자원을 직
접 액세스할 수 있다. 윈도우 NT에서는 핵심부분만이 커넬 모드에서 동작한다.
이것은 시스템 안정성과 보안을 위해 만들어진 것이다. NT실행부(익스큐티브;
마이크로 커널과 HAL,그리고 디바이스 드라이버들)는 NT에서 유일하게 커넬모
드에서 돌아가는 부분이다.
 
 유저 모드에서 수행되는 프로그램은 커널 모드에서는 전혀 동작하지 않는다.
윈도우즈 NT 상에서의 코드들의 대부분은 환경 서브시스템 (Win32서브시스템,
POSIX서브시스템등), 그리고 응용 프로그램들을 포함해 유저 모드에서 동작한
다. 이 프로그램들은 자기 자신의 32비트 어드레스 영역만 액세스 할 수 있다.
시스템 자체와는 서버-클라이언트 메세징을 통해 자료를 주고 받는다.
 NT 개발자들은 될 수 있는 한 많은 OS의 구성요소들을 유저모드로  넣는데에
힘썼다. 이것은 안정성과 보안성을 높여준다. 또한 커넬 자체를 만질  필요가
없었기 때문에 일도 더 심플해졌다.
 윈도우즈 NT 4.0은 NT란 O/S에 많은 구조상의 변화를 가져왔다. USER와  GDI
라는 주요 서브시스템을 NT 실행부로 옮겼다.  이것은 수행속도를 증가시켜줬
고 오버헤드가 적은 방식이지만, 안정성을 감소시킨다는 평도 있었다.
 

 

번호 제목 글쓴이 날짜 조회 수
197 Adsutil.vbs 를 이용한 IUSR 및 IWAM 계정의 암호 취득 및 설정 file 호스트웨이 2012.07.27 20619
196 Windows 2008 Server Telnet Client 설치 file 호스트웨이 2012.03.30 20094
195 CHKDSK 예약된 경우 취소 방법 file 호스트웨이 2012.06.15 19634
194 Windows 2008 Server에서 사용자 정보 확인 및 패스워드 변경 file 호스트웨이 2012.04.27 19303
193 Windows 2008, 2012에서 특정IP에 원격접속 허용하기 file 호스트웨이 2015.09.15 19272
192 리눅스 시간 동기화 및 시간대 설정 file 호스트웨이 2012.03.15 18950
191 두개의 NIC에 각각 다른 대역의 IP를 등록하는 방법 file 호스트웨이 2012.08.23 18783
190 윈도우 2008 작업스케줄러 file 호스트웨이 2012.09.07 18726
189 Windows 2003 Server에서 방화벽 Port Range 단위로 Allow file 호스트웨이 2012.05.11 18238
188 윈도우 운영체제가 지원하는 최대 메모리 크기 호스트웨이 2012.05.25 18127
187 Windows 실행창 명령어 호스트웨이 2012.03.23 17262
186 Windows 원격 데스크톱 접속시 Local 리소스 사용 방법 file 호스트웨이 2012.03.23 17194
185 Tracert, Traceroute 를 이용한 네트워크 회선점검(2) file 호스트웨이 2012.03.16 16666
184 이벤트로그 DB 파일 저장위치 변경 file 호스트웨이 2012.03.30 16615
183 Windows에서 포트 별 프로세스 확인 방법 file 호스트웨이 2012.06.08 16484
182 Windows Server 2008 백업 기능 설치 file 호스트웨이 2012.03.09 16426
181 Windows 탐색기에서 파일 확장자 보기 - Windows Server 2008 Urikiri 2012.05.25 16208
180 윈도우서비스 제거 및 생성방법 file 호스트웨이 2012.04.20 16065
179 Administrator 계정 이름 바꾸기 file 호스트웨이 2012.08.23 15934
178 위키의 고도화(소셜메모) file 호스트웨이 2012.04.06 15794