● 인터럽트 처리
인터럽트(interrupt)는 하드웨어가 소프트웨어에 보내는 신호입니다. 주로 하드웨어에 어떤 이벤트가 발생했을 때 인터럽트를 보냅니다. 운영체제는 여러 하드웨어가 보낸 다양한 인터럽트를 받아 처리합니다. 어떤 인터럽트를 어떻게 처리할지는 장치 드라이버에 정의합니다.
인터럽트는 운영체제나 소프트웨어의 실행 상태와 관계없이 발생할 수 있습니다. 인터럽트는 하드웨어가 발생시키는데, 하드웨어는 소프트웨어의 상태를 알 수 없습니다. 운영체제도 언제 어떤 인터럽트가 발생할지 알 수 없습니다. 바꿔 말하면 운영체제는 어떤 상태든지 하던 일을 멈추고 인터럽트를 받아 처리할 수 있어야 합니다.
인터럽트 처리는 굉장히 어려운 작업입니다. 컴퓨터 시스템에는 여러 하드웨어가 연결돼 있기 때문입니다. 운영체제가 인터럽트를 잘 처리하지 못하면 적정 시점에 장치 드라이버가 작동하지 못합니다. 그러면 인터럽트를 보낸 하드웨어가 비정상적으로 작동하게 됩니다. 컴퓨터 시스템이 원활하게 작동하려면 운영체제가 인터럽트를 잘 처리해야 합니다.