본문 바로가기

컴퓨터/컴퓨터 시험

정보처리 기능사 - 인터럽트(Interrupt) 문제

728x90

1. 인터럽트 기본 개념 문제

문제 1
다음 중 인터럽트(Interrupt)에 대한 설명으로 옳지 않은 것은?
① CPU가 실행 중 특정 사건이 발생하면 현재 작업을 멈추고 처리하는 기능이다.
② 인터럽트는 외부 장치, 소프트웨어, CPU 내부에서 발생할 수 있다.
③ 인터럽트 발생 시, CPU는 즉시 전원을 차단하고 시스템을 재부팅한다.
④ 인터럽트 처리 후 원래 수행 중이던 작업으로 복귀할 수 있다.

🔹 정답: ③
🔹 해설: 인터럽트는 CPU가 특정 사건을 처리하기 위해 작업을 멈추는 것이지, 시스템을 재부팅하는 것은 아닙니다.


2. 인터럽트의 종류 문제

문제 2
다음 중 외부 인터럽트(External Interrupt)에 해당하는 것은?
① 0으로 나누는 연산을 수행할 때
② 키보드에서 키를 눌렀을 때
③ 프로그램 실행 중 예외가 발생했을 때
④ 메모리 보호 오류가 발생했을 때

🔹 정답: ②
🔹 해설:

  • 외부 인터럽트는 하드웨어 장치에서 발생하며, 키보드 입력, 마우스 클릭, 프린터 완료 신호 등이 포함됩니다.
  • 내부 인터럽트는 프로그램 오류(0으로 나누기, 잘못된 명령어 실행) 등에서 발생합니다.

3. 인터럽트 처리 과정 문제

문제 3
인터럽트 발생 시 CPU가 인터럽트를 처리하는 과정의 올바른 순서는?
① 인터럽트 요청 → 현재 작업 저장 → 인터럽트 서비스 루틴 실행 → 원래 작업 복귀
② 인터럽트 서비스 루틴 실행 → 인터럽트 요청 → 현재 작업 저장 → 원래 작업 복귀
③ 인터럽트 요청 → 인터럽트 서비스 루틴 실행 → 현재 작업 저장 → 원래 작업 복귀
④ 인터럽트 요청 → 원래 작업 복귀 → 현재 작업 저장 → 인터럽트 서비스 루틴 실행

🔹 정답: ①
🔹 해설: 인터럽트가 발생하면 CPU는 현재 실행 중이던 작업을 저장한 후, **인터럽트 서비스 루틴(ISR)**을 실행하여 처리합니다. 처리 후 원래 작업으로 복귀합니다.


4. 인터럽트와 폴링 비교 문제

문제 4
다음 중 인터럽트 방식이 폴링(Polling) 방식보다 유리한 이유로 적절한 것은?
① CPU가 인터럽트 요청을 계속 검사하여 성능이 향상된다.
② CPU의 작업 부하를 줄이고 필요할 때만 처리할 수 있다.
③ 인터럽트가 발생하지 않더라도 CPU가 주기적으로 장치를 확인한다.
④ 폴링 방식은 CPU 자원을 절약할 수 있다.

🔹 정답: ②
🔹 해설:

  • 폴링(Polling) 방식은 CPU가 주기적으로 장치 상태를 확인하므로 비효율적입니다.
  • 인터럽트 방식은 필요할 때만 CPU가 개입하므로 성능이 향상됩니다.

5. 인터럽트 벡터 문제

문제 5
인터럽트가 발생했을 때, CPU가 해당 인터럽트를 처리하기 위해 참조하는 테이블을 무엇이라고 하는가?
① 스택(Stack)
② 인터럽트 벡터(Interrupt Vector)
③ 레지스터(Register)
④ 명령어 캐시(Instruction Cache)

🔹 정답: ②
🔹 해설: 인터럽트 벡터는 인터럽트가 발생했을 때 실행할 처리 루틴의 주소를 저장한 테이블입니다.


6. 소프트웨어 인터럽트 문제

문제 6
다음 중 소프트웨어 인터럽트(Software Interrupt)에 해당하는 것은?
① CPU가 0으로 나누는 연산을 수행한 경우
② 키보드 입력이 발생한 경우
③ 마우스 클릭 이벤트가 발생한 경우
④ 하드디스크에서 데이터 전송이 완료된 경우

🔹 정답: ①
🔹 해설: 소프트웨어 인터럽트는 프로그램 실행 중 발생하는 인터럽트로, 0으로 나누기 연산, 잘못된 명령어 실행 등이 포함됩니다.


7. 인터럽트 플래그(IF) 문제

문제 7
CPU가 인터럽트를 처리하는 과정에서 특정 조건이 만족될 때만 인터럽트를 허용하도록 하는 플래그(Flag)는?
① SF (Sign Flag)
② ZF (Zero Flag)
③ IF (Interrupt Flag)
④ DF (Direction Flag)

🔹 정답: ③
🔹 해설:

  • **IF (Interrupt Flag)**는 인터럽트를 활성화(Enable)하거나 비활성화(Disable)하는 역할을 합니다.
  • IF가 1이면 인터럽트가 허용되고, 0이면 인터럽트가 무시됩니다.

8. 인터럽트 서비스 루틴(ISR) 문제

문제 8
인터럽트가 발생했을 때 실행되는 **인터럽트 처리 루틴(Interrupt Service Routine)**을 의미하는 용어는?
① 스레드(Thread)
② 인터럽트 핸들러(Interrupt Handler)
③ 캐시(Cache)
④ 컨텍스트(Context)

🔹 정답: ②
🔹 해설: **인터럽트 서비스 루틴(ISR, Interrupt Handler)**은 인터럽트가 발생했을 때 실행되는 특정 처리 루틴을 의미합니다.


정리

인터럽트는 CPU가 실행 중 특정 사건이 발생하면 우선 처리 후 원래 작업으로 복귀하는 기능
인터럽트의 종류: 외부 인터럽트(키보드, 마우스), 내부 인터럽트(0 나누기 오류), 소프트웨어 인터럽트(시스템 호출)
인터럽트 처리 과정: 인터럽트 요청 → 현재 작업 저장 → 인터럽트 서비스 루틴(ISR) 실행 → 원래 작업 복귀
인터럽트 벡터는 인터럽트 처리 루틴의 주소를 저장하는 테이블
폴링 방식보다 인터럽트 방식이 CPU 자원을 절약할 수 있어 더 효율적

728x90