[OS] 인터럽트 (Interrupt)

귀찮Lee·2023년 4월 5일
0

Operating System

목록 보기
7/14

◎ 인터럽트 (Interrupt)

  • 인터럽트 : 입출력 관리자가 CPU에 보내는 완료 신호
  • 인터럽트 번호 : 많은 주변장치 중 어떤 것의 작업이 끝났는지를 CPU에 알려주기 위해 사용하는 번호
  • 인터럽트 백터 : 여러개의 입출력 작업을 한꺼번에 처리하기 위해 여러 개의 인터럽트를 하나의 배열로 만든 것

◎ 인터럽트 방식

  • 폴링 방식(Polling)

    • CPU가 직접 입출력장치에서 데이터를 가져오거나 내보내는 방식 (초기 컴퓨터 시스템에서 사용)
    • CPU가 본래 역할 외 모든 입출력까지 관여해야 하므로 작업 효율이 떨어짐
  • 인터럽트 방식(Interrupt)

    • 입출력 관리자가 대신 입출력을 해주는 방식
    • CPU의 작업과 데이터 이동을 독립적으로 운영함으로써 시스템의 효율을 높임

◎ 인터럽트 방식의 동작 과정

  1. CPU가 입출력 관리자에게 입출력 명령을 보냄
  2. 입출력 관리자는 데이터를 옮김
    • 명령받은 데이터 → 메모리
    • 메모리에 있는 데이터 → 저장장치
  3. 데이터 전송 완료되면, 입출력 관리자는 CPU에 완료 신호를 보냄

◎ 직접 메모리 접근

  • 입출력 관리자가 CPU의 허락 없이 메모리에 접근할 수 있는 권한
  • 기본적으로 메모리는 CPU만 접근 권한을 가진 작업 공간이지만, 입출력 관리자는 허용함

◎ 메모리 매핑 입출력 (Memory Mapped I/O, MMIO)

  • 메모리의 일정 공간을 입출력에 할당하는 기법
    • "직접 메모리 접근"을 사용하게 된다면 CPU에서 사용하는 데이터와 입출력 장치에서 사용하는 데이터가 구분이 안됨
    • 따라서 메모리의 공간을 나누어 사용함

◎ 사이클 훔치기

  • CPU와 "직접 메모리 접근"이 동시에 메모리에 접근하면 보통 CPU가 메모리의 사용 권한을 양보함
    • 입출력 장치의 속도가 느리기 때문에 CPU가 양보함
profile
장비를 정지합니다.

0개의 댓글