Computer Science/운영체제

인터럽트

Beomsu Koh 2023. 11. 30.

인터럽트 (Interrupt)

인터럽트

1. 인터럽트의 기본 개념

  • 인터럽트는 CPU가 현재 실행 중인 작업을 잠시 중단하고, 다른 작업(예: 하드웨어 신호, 소프트웨어 요청)을 처리할 수 있도록 하는 메커니즘입니다.
  • 인터럽트가 발생하면, CPU는 현재 작업의 상태(레지스터와 프로그램 카운터 값)를 저장한 후 인터럽트 처리 루틴으로 제어를 넘깁니다.

2. 인터럽트의 종류

  • Interrupt (하드웨어 인터럽트): 외부 하드웨어(예: 키보드, 마우스)에서 발생하는 인터럽트입니다.
  • Trap (소프트웨어 인터럽트): 소프트웨어에 의해 의도적으로 발생하는 인터럽트입니다.
    • System call: 사용자 프로그램이 운영체제의 서비스를 요청할 때 발생하는 인터럽트입니다.
  • Exception: 프로그램 실행 중 발생하는 오류(예: 나눗셈 오류, 메모리 접근 오류)에 의한 인터럽트입니다.

3. 인터럽트 관련 용어

  • 인터럽트 벡터 (Interrupt Vector)
    • 다양한 인터럽트의 처리 루틴 주소를 저장하는 공간입니다.
  • 인터럽트 처리 루틴 (Interrupt Service Routine, ISR)
    • 특정 인터럽트를 처리하는 운영체제 내의 함수입니다. 인터럽트 종류에 따라 적절한 처리가 수행됩니다.

4. 인터럽트의 처리 과정

  • 인터럽트가 발생하면, CPU는 인터럽트 벡터를 참조하여 해당 인터럽트 처리 루틴의 주소를 찾습니다.
  • 찾은 주소로 제어가 이동하고, 인터럽트 처리 루틴에서 필요한 작업이 수행됩니다.
  • 처리가 완료되면, 저장된 레지스터와 프로그램 카운터의 값으로 복귀하여 원래의 작업을 계속 수행합니다.

'Computer Science > 운영체제' 카테고리의 다른 글

메모리 구조  (0) 2023.05.10

댓글