윈도우즈 충돌로 인한 Blue Screen에 대해 알아보도록 하자. Windows 충돌 이유 1) 커널 모드에서 실행하는 장치 드라이버 or 운영체제 함수가 메모리 액세스 위반(허용된 메모리가 아닌 메모리에 쓰거나 읽는 경우)와 같은 처리되지 않는 예외 초래시 발생 2) 시스템이 손상되어 계속 실행 시 데이터 손상의 위험이 있는 경우 3) 하드웨어 에러 발생시 * IRQL이나 DPC는 학습하지 않았으므로 해당 내용은 제외한다. [그림 1] 충돌 원인 그림 1과 같이 충돌원인의 대부분은 서드파티 디바이스 드라이버다. 얼마전 Tool 에서 설명한 verifier를 사용하여 각 서버의 인증되지 않은 드라이버에 대해 확인한 후 해당 드라이버 버전에 대해 MS에 요청을하여 장애 포인트를 줄일 수 있다. 위와 같은..
예외 예외는 여러분이 생각하는 자바의 예외 C#의 예외처리의 내용과 동일합니다. 예외는 두가지로 구분됩니다. - 처리가능한 예외 - 처리 불가능한 예외 두가지에 대해 살펴 보도록 하겠습니다. 1. 처리가능한 예외 말 그대로 윈도우 자체에서 처리가능한 예외이다 . 대표적인 예로 자바의 예외처리에서 나오는 0으로 나눈 경우이다. 이런 경우 윈도우는 해당 예외처리 루틴을 발견하여 0으로 나눈 경우 처리해야하는 루틴을 실행한다. 인사이드에서는 서브 시스템의 디버거 포트에서 처리를 시도한다고 나와있다. 즉 디버거 포트가 처리가능한지를 알아보는 개념이라는 것을 알 수 있으며 해당 내역을 처리 가능한 경우 처리를 할 수 있는 예외 핸들러를 찾게 된다. 여기서 예외 핸들러를 찾는 경우 해당 예외 핸들러를 수행하여 예외..