Inflearn Community Q&A
인터럽트 질문 있습니다.
Resolved
Written on
·
167
1
인터럽트에는 하드웨어 인터럽트와 소프트웨어 인터럽트가 있다고 하셨습니다. 하드웨어 인터럽트는 입출력과 관련된 인터럽트가 있고 소프트웨어 인터럽트는 사용자 프로그램에서 발생한 인터럽트가 있다고 하셨습니다. 예를 들면 유효하지 않은 메모리에 접근하거나 0으로 나누는 명령등이 있다고 하셨는데 예를 들면 파이썬에서 다음과 같은 코드는 NameError와 TypeError를 일으킵니다.
print(a) # 정의되지 않은 변수
print(1 + '1') # 자료형이 일치하지 않음
또한 0으로 나누는 명령도 ZeroDivisionError을 일으킵니다. 이 처럼 프로그래밍 언어에서 일으키는 에러도 인터럽트라고 본다면,
1. 소프트웨어 인터럽트는 소프트웨어에서 발생하는 에러를 처리하는 작동이라고 보면 될까요?
2. 에러를 처리하는 인터럽트 이외에 소프트웨어 인터럽트는 어떠한 역할을 할수 있나요?
운영체제
Answer 1
0
gamja5
Instructor
1. 소프트웨어 인터럽트는 소프트웨어에서 발생하는 에러를 처리하는 작동이라고 보면 될까요?
소프트웨어 인터럽트는 보통 트랩, 예외라고도 불립니다. 따라서 대부분 에러를 처리한다고 볼 수 있습니다!
2. 에러를 처리하는 인터럽트 이외에 소프트웨어 인터럽트는 어떠한 역할을 할수 있나요?
사용자가 커널 함수, 즉 시스템 콜을하면 소프트웨어 인터럽트가 발생합니다.






감사합니다!