OS와 하드웨어

인터럽트와 예외의 차이에 대한 일반적인 설명은 무엇입니까?

  1. A인터럽트는 소프트웨어만 일으키는 것이고, 예외는 하드웨어 회로만 일으키는 것이다
  2. B인터럽트는 장치 등 외부 요인으로 발생하고, 예외는 명령 실행의 결과로 발생한다
  3. C인터럽트는 처리 후 원래대로 돌아갈 수 없고, 예외는 반드시 원래 처리로 돌아갈 수 있다
정답과 해설 보기

정답: B. 인터럽트는 장치 등 외부 요인으로 발생하고, 예외는 명령 실행의 결과로 발생한다

인터럽트는 입출력 장치의 완료 통지나 타이머처럼 실행 중인 명령과 무관한 외부 요인으로, 언제 발생할지 정해져 있지 않은(비동기) 것입니다. 예외는 0으로 나누기, 잘못된 명령, 페이지 폴트, 시스템 콜 명령 등 특정 명령을 실행한 결과로 발생하는(동기) 것입니다. 둘 다 인터럽트 핸들러로 처리한 뒤 원래 처리로 돌아가는 경우가 많으며, 돌아갈 수 있는지 여부로 구분하는 것이 아닙니다.

  • A. 발생원을 소프트웨어와 하드웨어로 나누는 설명은 올바르지 않습니다.
  • B. 올바릅니다. 외부 요인의 비동기 인터럽트와 명령 결과의 동기 예외입니다.
  • C. 둘 다 처리 후 원래대로 돌아가는 경우가 많으며, 복귀 여부로 구별하지 않습니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 다음 중 명령 실행과 무관하게 언제 발생할지 정해져 있지 않은 비동기 요인은 무엇입니까?
  2. CPU가 인터럽트를 받아들였을 때의 일반적인 처리 흐름으로 올바른 것은 무엇입니까?
  3. 인터럽트 벡터 테이블의 역할로 올바른 것은 무엇입니까?
  4. 중요한 처리 도중에 일시적으로 인터럽트를 금지(마스크)할 때의 주의점으로 올바른 것은 무엇입니까?
  5. 인터럽트 핸들러의 처리를 곧바로 수행하는 짧은 부분과 나중에 일반 컨텍스트에서 수행하는 나머지 부분으로 나누는 이유로 올바른 것은 무엇입니까?

이 분야의 비교