Windows

Digital Forensic Wikipedia
둘러보기로 가기 검색하러 가기

정의 및 설명[편집]

Windows는 Microsoft가 개발한 컴퓨터 운영체제이다. 명령어 인터페이스(Command Line Interface) 대신, 마우스로 아이콘 및 메뉴 등을 클릭해 명령하는 그래픽 사용자 인터페이스(GUI : Graphic User Interface)를 지원하는 멀티태스킹 능력과 사용자 편의성이 탁월하다. 또한 전 세계 PC 운영체제 시장에서 점유율 90%이상 차지할 정도로 두터워 대부분의 소프트웨어와 호환이 된다는 장점이 있다. 현재 개인용 운영체제뿐만 아니라 다양한 영역으로 범위를 넓혀 가고 있다.
Microsoft는 개인용 운영체제는 MS-DOS기반의 Windows 1.0, 기업용 운영체제는 NT기반의 Windows NT를 시작으로 꾸준한 업데이트를 지속해 오고 다. 현재까지의 Windows의 역사를 나타내면 다음 그림과 같다. 2014년 현재 Windows 8.1 까지 출시되었다.


Windows의 역사

기술 현황[편집]

Windows 내부 구조


Windows 구조에서 Hardware abstraction layer(HAL)는 윈도우에서 제시한 하드웨어 인터페이스 표준으로 하드웨어가 소프트웨어와 원활히 통신할 수 있도록 도와준다. Micro Kernel은 여러 관리자(manager)에게 일을 분담시키고 하드웨어와의 통신만을 제어하는 최소한의 커널이다. 이 Micro Kernel 위에 있는 것이 관리자(Manager)이며, 각 관리자의 역할을 정리하면 다음과 같다.

Windows manager
manager 종류 역할
I/O manager 시스템의 입출력을 제어

하드웨어와 통신을 가능하게 해줌

Object manager 각 객체의 대한 정보를 제공
Security reference monitor 각 데이터나 시스템 자원의 제어를 허가하거나 거부함으로써 강제적으로 시스템의 보안 설정을 책임짐
Process manager 스레드를 생성하고 요청에 따라서 처리
Local Procedure Call 프로세스간의 통신을 수행
Virtual Memory manager 응용 프로그램의 요청에 따라 RAM의 메모리를 할당해주고, 가상 메모리의 paging을 제어
Cache manager Cache를 관리
Plug and Play manager Plug and Play를 관리

그리고 윈도우에서는 커널모드와 유저모드가 있다. HAL, Micro kernel, 그리고 각 Manager가 실행되는 가상적인 공간을 커널 모드라고 한다. 우리가 운영체제를 통하여 사용하는 일반적인 응용 프로그램은 유저 모드에서 동작한다. 유저 모드에는 여러 가지 응용 프로그램이 존재할 수 있으며, 이러한 응용 프로그램을 실행시키기 위한 서브시스템[subsystem]이 있는데, 서브시스템은 윈도우에서 여러 가지 응용 프로그램을 실행시키기 위한 container라고 할 수 있다.
서브시스템이란 윈도우의 사용자 인터페이스를 제공한다. 서브시스템으로는 Win32 서브시스템과 OS/2, POSIX, 보안 서브시스템이 있다.
Windows 운영체제들의 내부구조는 Microsoft의 공식 가이드[1] 나 Microsoft 홈페이지[2]에서 참고할 수 있으며, Windows의 소스코드는 비공개이기 때문에 세세한 분석 기술은 아직 미비한 상황이다.

참고 문헌[편집]

  1. 마크 러시노비치, 데이비드 솔로몬, 『windows Internals』, 에이콘출판사, 2010
  2. Microsoft 홈페이지: http://www.microsoft.com