하드웨어 인터럽트와 소프트웨어 인터럽트는 시스템의 동작을 잠시 멈추고 특정 작업을 처리할 필요가 있을 때 발생하는 인터럽트의 두 가지 유형입니다. 이들은 발생 원리와 처리 방식에서 차이가 있습니다.
하드웨어 인터럽트 (Hardware Interrupt)
• 원인: 하드웨어 장치(예: 키보드, 마우스, 하드 디스크, 네트워크 어댑터 등)에서 발생합니다. 이들은 CPU 외부의 장치가 CPU에 신호를 보내 작업을 처리하도록 요청할 때 발생합니다.
• 동작 원리:
소프트웨어 인터럽트 (Software Interrupt)
• 원인: 프로그램이 명시적으로 CPU에게 인터럽트를 요청하는 경우에 발생합니다. 소프트웨어의 특정 명령어를 통해 호출되며, 주로 시스템 콜 또는 예외 처리 시 사용됩니다.
• 동작 원리:
하드웨어와 소프트웨어 인터럽트의 주요 차이점:
구분 하드웨어 인터럽트 소프트웨어 인터럽트
발생 원인 하드웨어 장치(외부 장치) 소프트웨어 명령어
발생 시점 비동기적 동기적
용도 외부 장치의 이벤트 처리 시스템 콜, 예외 처리
우선 순위 우선순위에 따라 결정 프로그램에서 직접 제어 가능
결론적으로, 하드웨어 인터럽트는 외부 장치와 CPU 간의 비동기적 상호작용을 처리하기 위해, 소프트웨어 인터럽트는 프로그램에서 시스템 자원에 접근하거나 예외를 처리하기 위해 사용됩니다.