1) 인터럽트(Interrupt) 이해
* 오늘 날 운영체제는 인터럽트(interrupt) 기반 시스템이다(Interrupt-Based System)
* 인터럽트(Interrupt)는
: 현재 진행중인 프로세스와 독립적으로 즉시 CPU가 처리해야할 사건(이벤트)
: CPU는 인터럽트가 발생하면 즉시 운영체제 내에 있는 해당 서비스 루틴(Interrupt Service Routin; ISR)의 명령을 먼저 실행한다.
: 인터럽트 서비스 루틴(ISR)을 처리하고 나면 다시 이전의 상태로 복귀한다.
: 하드웨어 인터럽트(Hardware Interrupt)와 소프트웨어 인터럽트(Software Interrupt)가 있다.
(1) Hardware Interrupt (하드웨어 인터럽트)
: 주변 장치로부터 발생된 전기적 신호에 의한 인터럽트
: Keyboard 조작, Mouse 조작, USB 연결
(2)Software Interrupt (소프트웨어 인터럽트; SWI)
: 사용자의 프로그램이 실행되는 과정에서 발생한 소프트웨어적인 인터럽트
: 프린트 명령, 파일 저장 명령 등
(3) External Interrupt (외부 인터럽트)
: CPU 혹은 O/S 외적인 부분에서 사용자의 필요에 의해 발생된 인터럽트
하드웨어 인터럽트는 외부 인터럽트
: 주로 입출력 관련 인터럽트,
사용자가 컴퓨터를 사용할 때 발생되는 보편적인 인터럽트.
(4) Internal Interrupt (내부 인터럽트)
: 안정된 시스템 동작을 위해 시스템 내부적으로 사전에 정의해 놓은 조건에 의해 발생되는 인터럽트
: 클럭 인터럽트(Clock Interrupt)
- CPU 모니터링 -> CPU가 특정 프로세스에 집중되지 않도록 관리.
- 프로세스 교환 -> 일정시간이 지나면 프로세스 교환(문맥 교환) 발생
: Trap(트랩) 또는 Exception(예외)
- 트랩 -> Overflow, dividing by zero, 특권 명령 시도, 정전, 잘 못된 메모리 주소 참조
- 예외 -> 의도된 범위를 벗어난 동작의 발생. 예외 처리를 통해 방지.
댓글 없음:
댓글 쓰기