본문 바로가기

컴퓨터과학(CS)/운영체제

인터럽트(가로채기)

현대 운영체제는 OS가 상주한다. 

 

예) 마우스로 프로그램 실행

1. 마우스를 움직이면 전기신호가 발생

2. CPU는 하던 일을 중지하고 OS안의 해당 상황 서비스 루틴을 동작한다. (마우스 커서가 이동)

3. 마우스 더블 클릭시 인터럽트 서비스 (HDD안의 프로그램을 메모리에 올린다.) 그 후 모니터에 해당 프로그램 초기 화면이 나옴

 

마우스처럼 키보드도 인터럽트 서비스가 존재한다.

OS안의 코드는 인터럽트가 걸릴 때 동작을 적어둔 것이다.

 

마우스, 키보드의 전기 신호(인터럽트 발생) -> OS가 서비스 수행 -> 모든 작업이 끝나면 CPU는 다시 대기 상태로 돌아감

 

마우스와 키보드같은 H/W 뿐만 아니라, SW도 인터럽트가 존재한다.

인터럽트는 하드웨어가 일반적이지만 swi처럼 sw도 인터럽트를 걸 수 있다.

 

하드 디스크를 읽는 건 OS가 하는 일(ISR에 있다)

hwp 파일을 열려면 한글 시점에서 swi를 걸고 OS안의 코드가 실행되어 파일을 읽어 메모리에 옮긴다. 그 후 hwp로 돌아온다.

만약 하드디스크를 OS가 읽는 것이 아니라면 hwp, ppt 등 많은 프로그램이 중복되는 코드를 가지게 되므로 OS가 하는 일이다.

 

여러 인터럽트의 루틴은 인터럽트에 의해서 일어난다.

 

인터럽트의 종류

하드웨어 인터럽트

소프트웨어 인터럽트

내부 인터럽트 : ex) 0으로 나누는 것 과 같은 프로그램의 실행에서 종료를 알 수 없게 하거나 할 수 없는 일에 대해서 CPU가 인터럽트라고 판단한 뒤 인터럽트 서비스 루틴에 의해 프로그램을 강제 종료시킨다.

 

OS는 여러 코드의 모임이다. 인터럽트에 의해서만 실행된다.

이것이 바로 인터럽트 기반 운영체제이다.

유저 프로그램에서 swi를 걸면 ISR을 실행하고 다시 유저 프로그램으로 돌아간다. 

즉 정리하자면,

OS는 메모리에 상주하며 평소에는 대기 상태로 있다가 인터럽트가 발생하면 해당 인터럽트에 맞는 루틴을 서비스한다.

 

 

참고 자료

양희재 교수님 운영체제 유튜브 강의

'컴퓨터과학(CS) > 운영체제' 카테고리의 다른 글

운영체제 서비스  (0) 2022.01.19
이중모드, 하드웨어 보호  (0) 2022.01.18
고등 운영체제  (0) 2022.01.13
운영체제의 역사  (0) 2022.01.12
운영체제란?  (0) 2022.01.07