[OS]인터럽트

YongHo·2024년 4월 11일

초기의 컴퓨터는 주변장치가 많지 않아 CPU가 직접 입출력장치에서 데이터를 가져오거나 내보냈는데 이를 폴링(Polling)방식이라고 한다. 하지만 오늘날에 컴퓨터에는 주변장치가 많아져 이 폴링방식은 효율이 현저하게 떨어졌는데 이를 해결하기 위해 등장한 것이 인터럽트(Interrupt)방식이다.

1. 인터럽트(Interrupt)

입출력 관리자가 CPU에 보내는 완료 신호를 인터럽트라고 한다.
인터럽트 방식은 CPU의 작업과 저장장치의 데이터 이동을 독립적으로 운영함으로써 시스템의 효율을 높이는 것이다.

1-1. 인터럽트의 동작 과정

① CPU가 입출력 관리자에게 입출력 명령을 보낸다.
② 입출력 관리자는 명령받은 데이터를 메모리에 가져다 놓거나 메모리에 있는 데이터를 저장장치로 옮긴다.
③ 데ㅣ터 전송이 완료되면 입출력 관리자는 CPU에 완료 신호를 보낸다.


CPU는 입출력 관리자에게 여러 개의 입출력 작업을 동시에 시킬 수 있다. 이 경우 여러 작업이 동시에 완료되고 그때마다 인터럽트를 여러 번 사용해야 하는데 이는 매우 비효율적이다. 그래서 여러 개의 인터럽트를 하나의 배열로 만든 인터럽트 벡터(Interrupt Vector)를 사용한다.

입출력이 완료되었음을 알리는 것 외에도 다양한 종류의 인터럽트가 있지만 추후에 더 스터디 하도록 하고 간단하게 이 정도만 알고 넘어가도록 하겠다.

0개의 댓글