728x90

 

예외

- CPU는 자기가 정한 예외 상황이 있는데 S/W(O/S or Application)를 동작할때 미리 정한 예외가 발생하면 S/W측에서 처리할지 결정하는 것이 CPU 정책

- CPU는 단순히 그런 예외 상황이 발생하면 못하겠다고 알려주는 것이 전부이고 어떻게 처리할 지는 S/W가 처리해야 함

- S/W는 예외를 처리하는 코드(핸들러)를 미리 마련해 놓고 CPU가 미리 정한 예외가 발생되면 그 예외에 맞는 핸들러가 동작함

- 이미 결정되어 있는 CPU의 예외의 종류를 H/W 예외라고 하고 그 예외가 발생했을 때 어떻게 처리할지 결정권은 S/W에게 있음

- 핸들러는 O/S를 H/W에 심을 때 이미 설정이 되어 있음

- Windows는 SEH(Structred Exception Handling, 구조적 예외 기법) 매커니즘을 가지고 있음

    -> CPU에 예외가 발생하면 O/S에 알려주고 O/S는 Application에 알려줌

    -> O/S가 Application에게 예외가 발생했다고 알려주고 예외를 처리할 수 있게 방법을 알려주는데 그 방법이 SEH라는 매커니즘

    -> SEH 매커니즘에서는 O/S관점에서도 예외를 발생시킬 수 있도록 해주고 O/S가 발생시키는 예외를 S/W 예외라고 함

    -> 예외가 발생된 시발점이 CPU면 H/W예외, O/S이면 S/W예외라고 함

    -> SEH는 Application에서도 예외를 발생시킬 수 있도록 함

 

728x90

+ Recent posts