[운영체제] 인터럽트

Peter·2021년 9월 29일
0

운영체제

목록 보기
10/22

인터럽트

  • CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 또는 예외상황이 발생하여 처리가 필요할 경우 CPU에 알려서 처리하는 기술

인터럽트가 필요한 이유

선점형 스케쥴러 구현

  • 프로세스 running중에 스케쥴러가 중단시키고 다른 프로세스로 교체하기 위해
    • 프로세스 교체를 위해 스케쥴러 코드가 실행되어야 함

IO Device와의 커뮤니케이션

  • 저장매체에서 데이터 처리 완료를 기다리며 머물고 있는 block state에 프로세스를 깨워 ready state로 변경될수 있도록 함

예외 상황 핸들링

  • CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치, 기타 상황에서 예외상황이 발생할 경우 CPU가 그 상황에 멈추지 않고 처리해 다음으로 넘어갈 수 있도록 예외상황을 CPU에 알려줘야 함

인터럽트 처리 예시

  • CPU가 프로그램을 실행하고 있을 때
    • 입출력 하드웨어 등의 장치 이슈 발생
      • 파일 처리가 끝났다는 것을 운영체제에 알려주기
      • 운영체제는 해당 프로세스를 block state에서 실행대기(ready) 상태로 프로세스 상태 변경하기
  • 예외 상황 발생
    • 0으로 나누는 계산이 발생, 예외 발생을 운영체제에 알리기
    • 운영체제가 해당 프로세스 실행 중지/에러 표시

이벤트와 인터럽트

  • 인터럽트는 일종의 이벤트
  • 이벤트에 맞게 운영체제가 처리
    
profile
컴퓨터가 좋아

0개의 댓글