OS와 하드웨어
인터럽트와 예외의 차이에 대한 일반적인 설명은 무엇입니까?
- A인터럽트는 소프트웨어만 일으키는 것이고, 예외는 하드웨어 회로만 일으키는 것이다
- B인터럽트는 장치 등 외부 요인으로 발생하고, 예외는 명령 실행의 결과로 발생한다
- C인터럽트는 처리 후 원래대로 돌아갈 수 없고, 예외는 반드시 원래 처리로 돌아갈 수 있다
정답과 해설 보기
정답: B. 인터럽트는 장치 등 외부 요인으로 발생하고, 예외는 명령 실행의 결과로 발생한다
인터럽트는 입출력 장치의 완료 통지나 타이머처럼 실행 중인 명령과 무관한 외부 요인으로, 언제 발생할지 정해져 있지 않은(비동기) 것입니다. 예외는 0으로 나누기, 잘못된 명령, 페이지 폴트, 시스템 콜 명령 등 특정 명령을 실행한 결과로 발생하는(동기) 것입니다. 둘 다 인터럽트 핸들러로 처리한 뒤 원래 처리로 돌아가는 경우가 많으며, 돌아갈 수 있는지 여부로 구분하는 것이 아닙니다.
- A. 발생원을 소프트웨어와 하드웨어로 나누는 설명은 올바르지 않습니다.
- B. 올바릅니다. 외부 요인의 비동기 인터럽트와 명령 결과의 동기 예외입니다.
- C. 둘 다 처리 후 원래대로 돌아가는 경우가 많으며, 복귀 여부로 구별하지 않습니다.