인프런 커뮤니티 질문&답변

sangjin.yoo님의 프로필 이미지
sangjin.yoo

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

인터럽트(interrupt) ★★★

인터럽트와 이벤트의 차이?

작성

·

549

0

안녕하세요 강사님. 항상 수업 유익하게 잘 듣고있습니다.인터럽트 강의를 듣다가 궁금한 부분이 있어서요 이벤트 기반의 프로그램을 작성하게되는 경우에 mouse click 이벤트는 하드웨어 인터럽트와 동일한거 같고html body onload는 소프트웨어 인터럽트와 동일한거 같다고 생각하는데요 그럼 이벤트와 인터럽트는 같은 의미라고 봐야되는걸까요??구글링 해보면 다르다고 하는데 내용이 이해가 되지 않아서요..

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

mouse click 이벤트는 하드웨어 인터럽트와 동일한거 같고

>> 네 맞습니다.

 

html body onload는 소프트웨어 인터럽트와 동일한거 같다고 생각

>> 음 이부분은 아닙니다. 소프트웨어 인터럽트는 프로세스의 시작, 종료, 오류로부터 보통 발생이 되는데요.

예를 들어

크롬브라우저를 실행 = 소프트웨어 인터럽트,

크롬브라우저에서 오류가 발생 -> 응답없음 = 소프트웨어 인터럽트

라고 할 수 있습니다.

 

그러나

window.onload는 소프트웨어 인터럽트라고 볼 수 없습니다.

window.onload는 웹 페이지의 모든 콘텐츠(이미지, 스타일시트 등을 포함)가 로드되고 난 후에 실행되는 함수를 말하며 window.onload는 이벤트 기반 프로그래밍 모델의 일부로, 브라우저의 이벤트 루프에 의해 관리되는 이벤트 중 하나입니다.

이는 브라우저가 컨텐츠를 띄울 때 나타나는 절차 중 하나입니다.

image

앞의 그림과 같이 domcontentloaded -> load 등의 순서로 브라우저에서 해당 함수가 실행되는 것을 볼 수 있습니다.

 

자 다시 인터럽트로 돌아와서 인터럽트에 대해 다시 정리하자면.

인터럽트는 하드웨어 또는 소프트웨어에 의해 발생되는 시그널로 CPU가 현재 처리 중인 작업을 중단하고 긴급하게 처리해야 할 다른 작업(인터럽트 핸들러)을 처리하도록 하는 메커니즘을 말합니다. 하드웨어 인터럽트는 주로 하드웨어 장치로부터 오는 신호에 의해 발생하며, 소프트웨어 인터럽트는 프로그램 내부의 이벤트나 시스템 호출에 의해 발생합니다.

 

인터럽트와 이벤트의 차이

인터럽트는 프로세서 수준에서 동작하는 반면, window.onload 같은 이벤트 핸들러는 애플리케이션 레벨에서 동작한다는 점이 다릅니다.

인터럽트는 프로세서 수준에서 처리되는 긴급한 시그널이라고 보시면 되고 이벤트는 애플리케이션 수준에서 처리되는 일반적으로 덜 긴급한 시그널이라고 보시면 됩니다.

인터럽트는 CPU의 현재 작업을 중단시키는 반면, 이벤트는 애플리케이션이 정의한 방식으로 처리되며, 애플리케이션의 실행 흐름을 중단시키지 않을 수도 있습니다.

 

이 점이 다릅니다. ㅎㅎ 이해가 되셨나요?



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

sangjin.yoo님의 프로필 이미지
sangjin.yoo
질문자

자세한 설명 감사드립니다~

sangjin.yoo님의 프로필 이미지
sangjin.yoo

작성한 질문수

질문하기