DevGang

[OS-04] 인터럽트(Interrupt) 본문

정보처리/OS

[OS-04] 인터럽트(Interrupt)

별천랑 2021. 2. 7. 16:57

1. 인터럽트 종류 및 발생 원인 

  • 전원 이상 인터럽트(Power Fail Interrupt) : 정전이 되거나 전원 이상이 있는 경우
  • 기계 착오 인터럽트(Machine Check Interrupt) : CPU 등의 기계가 고장을 일으킨 경우
  • SVC인터럽트(Supervisor Call Interrupt) : 입출력 수행, 기억장치 할당 등을 위해 발생
  • 입/출력 인터럽트(Input-Output Interrupt) : 수행 도중 입/출력이 발생하는 경우
  • 외부 신호 인터럽트 : 정해진 시간이 끝나거나 오퍼레이터의 키 조작 발생한 경우
  • 재시작 인터럽트 : 오퍼레이터가 재시작 버튼을 눌러 시스템을 재 부팅시키는 경우
  • 프로그램 검사 인터럽트(Program Check Interrupt)
    • 0으로 나누기가 발생하는 경우
    • Overflow/Underflow가 발생하는 경우
    • 프로그램에서 명령어를 잘못 사용하는 경우

2. 인터럽트 발생 시 처리 순서

  • 인터럽트 요청 신호가 발생
  • 프로그램 실행을 중단
  • 현재 프로그램 상태를 보존 (복귀 주소(return address)를 stack에 저장)
  • 인터럽트 처리 루틴을 실행
  • 인터럽트 서비스 루틴을 실행
  • 상태 복구
  • 중단된 프로그램 실행 재개

3. 인터럽트 우선순위

  • 컴퓨터에 여러 형태의 인터럽트가 동시에 발생할 경우 우선순위에 따라 인터럽트를 수행
  • 전원 이상 < 기계 착오 < 외부 신호 < 입/출력 < 프로그램 검사 < SVC (우선순위가 높음)

'정보처리 > OS' 카테고리의 다른 글

[OS-06] 병행 프로세스&임계구역  (0) 2021.02.07
[OS-05] 스레드&문맥 교환  (0) 2021.02.07
[OS-03] 프로세스  (0) 2021.02.07
[OS-02] 시스템 소프트웨어  (0) 2021.02.07
[OS-01] 운영체제 개념 및 종류  (0) 2021.02.07
Comments