CS

인터럽트(Interrupt)

남생이야 2024. 5. 15. 04:21

인터럽트란?

  CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에서 예외 상황이 발생했다면 발생한 상황을 우선적으로 처리한 후에 실행 중이던 작업으로 돌아와 계속해서 진행하는 것을 말한다. 

 

 

인터럽트의 종류와 발생 조건

 내부 인터럽트 

  • 에외 인터럽트 - 트랩(Trap)이라고도 하며 0으로 나누거나, 오버플로우나 언더플로우와 같이 메모리 영역 바깥에 접근 시도 등에 권한이 없는 작업을 시도할 경우 
  • SVC 인터럽트 - Supervisor Call이라고도 하며 프로그램을 실행하거나 감시프로그램을 호출하는 경우 

 

 외부 인터럽트 

  •  타이머 인터럽트 - 타이머가 일정한 시간 간격으로 CPU에게 인터럽트를 요청하는 경우
  •  입출력 인터럽트 - 속도가 느린 입출력 장치가 입출력 준비가 완료 되었음을 알리기 위해 요청하는 경우
  •  전원 이상 인터럽트 - 갑작스럽게 전원 공급이 중단될 경우 CPU에 현재 작업 중이던 프로세스를 대피시키기 위해 요청하는 경우