인터럽트와 예외는 프로세서를 제어의 일반적인 흐름에서 벗어나 있는 코드로 전환시키는 운영체제의 상태이다.
하드웨어나 소프트웨어가 인터럽트와 예외들을 감지할 수 있다.
Trap이란 용어는 예외나 인터럽트가 발생했을 때 실행중인 스레드를 잡아내고,그것을 사용자 모드에서 커널모드로 전환시키고, 제어를 운영체제의 고정지역으로 옮기기위한 프로세서 메커니즘이다.
Windows NT에서 프로세서는 제어를 스위칭 보드로서 작동되는 모듈인 커널의 트랩 핸들러로 옮긴다.
그래서 프로세서에 의해 발견된 인터럽트나 예외를 처리하고 제어상태를 핸들하는 코드로 옮긴다.
트랩핸들러를 활성화시키고, 트랩핸들러가 서비스를 위해 호출한 모듈의 상태를 보여준다.
커널은 다음과 같은 방법으로 인터럽트와 예외를 구별한다.
인터럽트는 프로세서가 작동시키는 것과 연관된 비동기적 이벤트 - 한번에 하나씩 일어날 수 있는 - 이다.
인터럽트는 I/O , Device , Processor , Clock , Timer에 의해 기본적으로 발생하고, 인터럽트는 켜지거나 꺼지게 된다. 반면에 예외는 특별한 명령에 의한 실행의 결과로 동기적 상태이다.
같은 조건하에서 같은 데이터로 프로그램을 실행시키는 것은 예외를 재생성(Reproduce)한다. 예외의 예는 memory access violations , certain , debugger , instructions , divide-by-zero 같은 것을 포함한다. 또한 커널은 시스템 서비스 호출을 예외로 간주한다.
하드웨어나 소프트웨어는 예외와 인터럽트를 생성할 수 있다.
예를 들어 bus error exception은 소프트웨어 버그가 원인이 된다.
또한 I/O 디바이스도 인터럽트를 생성할 수 있고 커널 그 자체도 소프트웨어 인터럽트를 발생시킬 수 있다.
호출되었을 때 트랩 핸들러는 머신의 상태(또 다른 예외나 인터럽트가 발생했다면 지워지는 정보)를 기록하는 동안 인터럽트가 작동되지 못하도록 한다. 트랩 핸들러는 인터럽트된 스레드의 실행상태를 저장하는 트랩 프레임을 생성한다.
이러한 정보는 커널이 인터럽트나 예외를 처리한 후에 스레드의 실행을 시작하도록 한다.
트랩 프레임은 대개 스레드의 완전한 컨텍스트의 하위집합이다.
트랩 핸들러는 몇몇 문제(가상주소 예외 같은)를 스스로 해결한다.
그러나 대부분의 경우에 그것은 발생했던, 그리고 제어를 다른 커널이나 실행모듈로 옮기는 상태를 결정한다.
예을 들어 디바이스 인터럽트의 상황이라면 커널은 제어를 디바이스를 인터럽트하기 위해 디바이스 드라이버가 제공하는 ISR(Interrupt Service Routine)로 옮긴다.
만약 시스템 서비스 호출에 의해 야기된 상황이라면 트랩 핸들러는 제어를 실행부 안의 시스템 서비스 코드로 옮긴다.
ps. 요즘 제가 Device Driver 와 CAD 공부를 하고 있는데, Windows Device에 관련된 책을 읽다가 낙서좀 합니다.
트랙백 주소 :: http://jhweblog.net/trackback/78
트랙백 RSS :: http://jhweblog.net/rss/trackback/78
댓글을 달아 주세요
댓글 RSS 주소 : http://jhweblog.net/rss/comment/82매우 좋더군요... 아직까지 그림이 그리 많지 않아서 필요는 없지만, 리눅스에서도 wine 으로 사용할 수 있다고 들었습니다. 언제가 써 볼 기회가 있었으면 좋겠네요.
저도 얼마전에 이거 받아서 쓰는데 편하고 좋더군요.
제가 사랑하는 ACD3.0 을 물러나게 할만한 놈이군요...;;
인클루드님/ 아~ 그런가요! 와인사용해볼 일이 있을 때 한번 해봐야 겠습니다.. 정보 감사합니다.. :-)
바람님/ 인터페이스도 보기쉽고, 사용하기에 불편함 없이 괜찮죠!
rex님/ 저도 ACDSee 3.0 까지는 사용해봤는데, 이후 파워팩인가요? 상당히 복잡해서...사용을 꺼려합니다. 피카사 사용해보세요! ACDSee 보다는 성능이 뒤떨어 질지 모르나, 사진관리하는데는 어느정도 괜찮습니다.
http://www.google.com/ig
개인화된 구글 인터넷 첫화면 만들기가 가능합니다.
물론 MS의 반격도 있죠.
http://www.start.com
아크몬드님/ ig 는 제가 따로포스팅하려고 했었는데.. ㅡㅡ; MS에서도 비스무리한 서비스를 하는군요.. 아무래도 Web Service 부분은 MS보다 Google이 한수 위인듯 합니다.. :-)
저도 한번 받아서 설치해 봐야겠네요. ^^
사진관리할때 참 유용합니다. :-)
컴퓨터의 농간으로................ 시작페이지가 엉망이라느.....
항상 뜨는 화면이..... 처음에 설정화면 나오는 거..... 언어설정과 시작페이지 설정.....
고치려고 해도 안 고쳐 지느..........;;
CarFain님 오랜만입니다. :-)
스파이웨어 제거 프로그램으로 한번 돌려보세요..