-
[시스템 기초] 윈도우 운영체제 구조System/Windows 2019. 5. 1. 21:29
[시스템 기초] 윈도우 운영체제 구조
1. 윈도우 NT 아키텍처
- 두 개의 메인 구성요소(User, Kernel)로 설계됨
- 리소스 자원의 낭비를 줄여 여러 부분으로 쪼개어 설계된 구조
[ 윈도우 NT 아키텍처 ] 2. 유저 모드(User mode)
- 필수 서브시스템(Integral subsystem)과 환경 서브시스템(Environment subsystem)으로 구성되며, Ring 3 모드에서 동작함
1) 내부 구조
① 필수 서브시스템(Integral subsystem)
- 보안, 워크스테이션 서비스, 서버 서비스로 구성되어 있으며, DLL로 구현되어 있다.
· 보안(Security) : 보안과 관련된 내용들이 존재함
· 워크스테이션 서비스(Workstation service) : SMB 프로토콜을 사용하며, 원격서버에 대한 클라이언트 네트워크 연결을 만들고 유지한다.
· 서버 서비스(Server service) : 파일, 인쇄 및 명명된 파이프를 네트워크를 통해 공유할 수 있도록 지원한다.
* 파이프 : API 함수를 이용하여 파이프를 실행할 수 있으며, 이름있는 파이프(named pipe)는 양방향 통신하며, 이름없는 파이프는 일방향 통신한다. Sysinternals의 tool(pipelist)을 이용하여 pipelist를 확인할 수 있으며, 예전에는 순차적으로 pipelist가 증가하였으나, 악의적인 해킹으로 인해 pipelist를 무작위로 할당되도록 변경되었음
② 환경 서브시스템(Environment subsystem)
- OS/2, WIN32(WIN16도 포함), POSIX 등의 환경에 맞는 어플리케이션을 운용할 수 있도록 지원
※ OS/2는 OS/2는 마이크로소프트와 IBM이 초기에 제작한 컴퓨터 운영체제로 현재는 사용하지 않음
※ POSIX는 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 목적으로 개발하였으나 현재는
사용하지 않음3. 커널 모드(Kernel mode)
- 하드웨어의 접근과 보호된 메모리(커널 메모리) 내에 실행되고 있는 코드와 컴퓨터의 시스템 자원 모두 접근하는 영역
- 스케쥴링, 메모리 관리, 하드웨어와의 상호 작용 등의 역할 수행
* 스케쥴링 : 'CPU에서 프로세스를 어떻게 처리할 것인가'를 결정하는 것
1) 내부 구조
① 실행부(Executive)
- 모든 사용자 모드 하위 시스템과 상호 작용함
- I/O Manager, Security Reference Monitor, Object Manager, IPC Manager, Virtual Memory Manager(VMM), PnP Manager, Power Manager 로 구성됨
· I/O Manager(입/출력 관리자) : 유저 모드 서브시스템과 상호 작용하는 디바이스를 관리
· Security Reference Monitor(SRM, 보안 참조 모니터) : 보안 필수 서브시스템의 보안 규칙을 시행하기 위한 주요
권한을 모니터링· Object Manager(객체 관리자) : NT 실행부를 구성하는 모든 시스템에 의해 쓰이는 오브젝트들을 생성, 수정, 삭제 등
을 수행· Process Manager(프로세스 매니저) : 프로세스 생성 및 삭제 등의 관리
· IPC Manager(IPC 관리자) : 서버와 클라이언트 사이의 상호 작용 관리를 담당
· Virtual Memory Manager(VMM, 가상 메모리 관리자) : 가상 메모리 관리
· PnP Manager(플러그 앤 플레이 관리자) : 장치 로드 시, Plug & Play 기능 관리
* Plug & Play : 꽂으면 실행된다는 뜻으로, 컴퓨터 실행 중에 주변 장치를 부착해도 별다른 설정 없이 작동함을 뜻함
· Power Manager(파워 관리자) : 전원 관련 이벤트 관리를 수행함
· Window Manager(윈도우 관리자) : 윈도우의 화면을 그리는 역할 수행
· GDI(Graphics Device Interface) : 폰트 랜더링과 팔레트, 곡선, 직선 등의 라인을 그리는 작업 수행
② 마이크로 커널(Micro kernel)
- HAL과 Executive 사이에서 멀티프로세서 동기화, 충돌 관리, 예외 관리 등의 역할 수행
- OS 부팅 시 필요한 장치 드라이버를 초기화 하는 등의 역할 수행
③ 커널 모드 드라이버(Kernel mode driver)
- 하드웨어 장치와의 상호 작용을 수행할 수 있도록 중간자 역할
- 최상위, 중간, 하위 레벨 드라이버로 구분되어 구성
④ 하드웨어 추상 계층(HAL, Hardware Abstraction Layer)
- 물리적 하드웨어와 운영체제의 나머지 부분 사이에 위치
- 하드웨어의 차이를 숨기고 커널이 실행되는 일관된 플랫폼을 제공 → 하드웨어 차이를 흡수
'System > Windows' 카테고리의 다른 글
PC에 저장되어 있는 WIFI(와이파이) 패스워드 확인 방법 (0) 2019.08.05 Regshot(레지스트리 비교 유틸리티) (0) 2019.05.06 [시스템 기초] 윈도우(Windows) 란? (0) 2019.05.01 윈도우 단축 명령키(.msc, .cpl, 프로그램, .exe) (0) 2019.05.01 SysinternalsSuite tool (0) 2019.05.01