본문 바로가기

ComputerScience/OS

인터럽트

 현대 운영체제는 대부분 인터럽트 기반이다. OS는 부팅이 끝난 후, 메인 메모리에 상주하는데 상시에는 아무것도 하지 않다가, 인터럽트가 발생했을 때 OS의 코드가 실행된다.

하드웨어 인터럽트

예시 : 마우스 움직임 => 프로세서에게 전기 신호 =>cpu는 하던 일을 멈추고 마우스의 인터럽트 서비스 루틴을 실행한다.

 

소프트웨어 인터럽트

명령어 중에 swi에 해당한다. 

예시 : 외부프로그램에서 하드디스크 파일 읽기 명령 실행 => 소프트웨어 인터럽트 => os의 파일 읽기 코드 실행=>하드디스크안에 파일 읽음

즉, 하드디스크의 파일을 읽는 코드는 프로그램이 아니라 OS 코드 안에 있다.

내부 인터럽트

i=10,j=0 => i/j => cpu는 0으로 못나누기 때문에 DivideByZero 인터럽트 발생 => 보통 잘못된 시도를 한 프로그램 강제 종료

'ComputerScience > OS' 카테고리의 다른 글

운영체제의 기능  (0) 2020.08.26
이중모드  (0) 2020.08.26
운영체제 개론  (0) 2020.08.15