2017년 3월 19일 일요일

06. 운영체제의 기본 동작 원리-1

1) 인터럽트(Interrupt) 이해

 * 오늘 날 운영체제는 인터럽트(interrupt) 기반 시스템이다(Interrupt-Based System)
 * 인터럽트(Interrupt)는
  : 현재 진행중인 프로세스와 독립적으로 즉시 CPU가 처리해야할 사건(이벤트)
  : CPU는 인터럽트가 발생하면 즉시 운영체제 내에 있는 해당 서비스 루틴(Interrupt Service Routin; ISR)의 명령을 먼저 실행한다.
  : 인터럽트 서비스 루틴(ISR)을 처리하고 나면 다시 이전의 상태로 복귀한다.
  : 하드웨어 인터럽트(Hardware Interrupt)와 소프트웨어 인터럽트(Software Interrupt)가 있다.

Interrupt Service Routin; ISR


  (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, 특권 명령 시도, 정전, 잘 못된 메모리 주소 참조
    - 예외 -> 의도된 범위를 벗어난 동작의 발생. 예외 처리를 통해 방지.

댓글 없음:

댓글 쓰기