2-1 인터룹트(Interrupt)

10000001a·2021년 3월 22일
0

운영체제 정리

목록 보기
4/7

우리가 마우스를 움직이는 상황에 대해 생각해보자.

  1. 마우스를 움직이면 마우스가 전기신호를 발생시킨다.(Interrupt 걸기)
  2. CPU의 Interrupt 선으로 전기 신호가 전달된다.
  3. CPU는 하던 일을 중지하고 Interrupt를 건다.
  4. OS는 Interrupt를 건 device의 ISR(Interrupt Service Routine) 코드를 실행한다.

이번엔 우리가 한글 프로그램에서 .hwp 파일을 여는 작업을 생각해보자.

  1. 파일 - 열기 버튼을 클릭한다.
  2. 한글 프로그램은 Software Interrupt를 건다.
  3. OS의 ISR(Interrupt Service Routine)로 점프해서 하드디스크를 읽어온다.

마지막으로 임의의 숫자를 0으로 나눈다고 생각해보자.

  1. 컴퓨터는 0으로 나뉜 결과값을 처리할 수 없다.
  2. CPU는 Internal Interrupt를 건다.
  3. OS의 ISR로 점프해서 0으로 나누는 프로그램을 강제로 종료한다.

즉, Interrupt는 총 3가지로 나뉜다.

  • Hardware Interrupt
  • Software Interrupt
  • Internal Interrupt

OS는 평소에 대기상태로 Interrupt를 기다리고 있다.
어디선가 Interrupt가 발생하여 OS의 ISR 코드가 돌고 난 후에는 원래 돌고있던 사용자 프로그램으로 돌아가거나, 대기상태로 돌아간다(Internal Interrupt).

즉, OS는 여러 ISR의 집합이라고 할 수 있고, OS의 코드를 실행시키려면 Interrupt가 필요하다.

현대 OS는 Interrupt 기반 시스템이다.

profile
잘 부탁드립니다!

관심 있을 만한 포스트

0개의 댓글