[시스템 아키텍처] 윈도우 운영체제 모델
- 대부분의 멀티유저 운영체제에서 애플리케이션은 OS와 분리되어 있다.
- OS 커널 코드는 특권이 있는 프로세서 모드에서 시스템 데이터와 하드웨어에 접근하며 실행된다.
- 애플리케이션 코드는 특권이 없는 프로세서 모드에서 실행되며, 제한된 인터페이스와 시스템 데이터에 대한 제한된 접근만이 가능하고 하드웨어에 직접 접근은 불가능하다.
- 유저 모드 프로그램이 시스템 서비스를 호출할 때 프로세서는 호출 스레드를 커널 모드로 전환시키는 특수한 명령어를 실행한다.
- 시스템 서비스가 완료되면 운영체제는 스레드 컨텍스트를 다시 유저 모드로 변경하고 호출자가 계속 실행되게 한다.
- 윈도우는 OS의 대부분과 디바이스 드라이버 코드가 동일한 커널 모드 보호 메모리 공간을 공유한다. (Monolithic)
- 따라서, 어떤 OS 컴포넌트나 디바이스 드라이버가 잠재적으로 OS의 다른 컴포넌트에 의해 사용하는 데이터를 손상시킬 수 있다.
- 윈도우는 WHQL과 KMCS 강화를 통해 서드파티 드라이버의 출현을 억제하고 드라이버의 품질을 강화하는 방법으로 이런 문제를 해결한다.
- 가상화 기반의 보안과 Device Guard 및 Hyper Guard 기능과 같은 추가적인 커널 보호 기술도 병행한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.