http://www.kocw.net/home/search/kemView.do?kemId=978503
Interrupt(인터럽트)
인터럽트(끼어들기, 가로막기)는 CPU가 프로그램을 실행하고 있을 때 입출력하드웨어 등의 장치에 의해 예외 상황이 발생하여 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것을 말한다. 현재 운영체제는 대부분 인터럽트 기반 시스템이다. 부팅이 끝나면 OS는 메모리에 상주하며 이벤트를 기다리고 이벤트가 발생하면(e.g., 마우스 클릭, 키보드 입력 등등) 인터럽트가 발생하며 CPU는 즉시 OS 안에 있는 ISR(Interrupt Service Routine)으로 점프하고 해당 ISR을 실행한 뒤 다시 원래 상태로 복귀한다. 인터럽트는 마우스나 키보드 등과 같은 하드웨어에 의해 발생되는 인터럽트인 하드웨어 인터럽트와 소프트웨어에 의해 발생되는 소프트웨어 인터럽트로 나눌 수 있다.
HW 인터럽트
키보드, 마우스 등과 같은 하드웨어에 의해 발생하는 인터럽트이다. 예를 들면 다음과 같다. 마우스를 움직이면 전기 신호가 발생하고(해당 신호가 인터럽트가 됨) CPU는 즉시 하던 일을 중지하고 OS에 있는 MISR(Mouse Interrup Service Routine)로 점프한다. MISR에는 마우스가 움직이는 대로 모니터의 커서를 옮기는 루틴이 작성되어 있다. 따라서 우리가 마우스(HW)를 움직이면 화면에 있는 커서가 움직이게 된다. 마우스를 더블클릭하는 것 역시 인터럽트가 발생된다. 더블 클릭을 하면 마찬가지로 인터럽트 신호가 발생하고 CPU는 OS에 있는 해당 루틴을 찾아 실행한다. 만약 커서의 (x, y) 좌표 위치에 '한글' 바로가기 아이콘이 있다면 해당 루틴이 hdd에서 한글 실행 파일을 찾아서 memory에 적재시킨다. memory에 적재되면 화면에 한글이 보이며 실행된다.
SW 인터럽트
소프트웨어에 의해 발생하는 인터럽트이다. 예를 들면 다음과 같다. hwp가 hdd에 저장되어 있는 어떠한 한글 파일을 열려할 때 hwp는 hdd에 저장되어 있는 내용을 직접 읽을 수 없으므로 hwp는 OS가 hdd에 있는 파일의 내용을 읽고 해당 내용을 반환하는 코드가 담긴 ISR을 실행하기 위해 SW interrupt를 건다. 한글 파일 내용이 return 되면 ISR이 끝나고 다시 hwp가 실행된다.
** hwp에 hdd를 직접 읽는 기능이 없는 이유
만약 OS가 해당 기능을 제공하지 않고 각각의 프로그램이 hdd를 읽는 기능을 따로 구현해야 한다면 굉장한 중복이며 무엇보다 프로그램이 사용자의 hdd 내용을 마음대로 읽는다는 것은 프로그램 개발자 마음대로 유저의 개인 정보를 읽고 쓸 위험이 있으므로 보안적인 측면으로 보았을 때 치명적이다.
인터럽트 기반 운영체제
인터럽트 기반 운영체제란 말 그대로 인터럽트를 기반으로 작동하는 운영체제를 뜻한다. 운영체제는 평소에 대기 상태를 갖는다. 그러다가 HW/SW 인터럽트가 발생하면 해당되는 ISR을 실행하고 ISR이 종료되면 원래의 대기상태 혹은 사용자 프로그램으로 복귀하는 방식이다.
'운영체제' 카테고리의 다른 글
운영체제 기본 6 - 프로세스 관리 (0) | 2023.01.19 |
---|---|
운영체제 기본 5 - 운영체제 서비스 (0) | 2023.01.19 |
운영체제 기본 4 - 이중 모드, 하드웨어 보호 (0) | 2023.01.19 |
운영체제 기본 2 - 컴퓨터의 역사 (0) | 2023.01.19 |
운영체제 기본 1 - 운영체제 서론 (0) | 2023.01.19 |