ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 인터럽트(interrupt)
    얇게 공부한 CS 2023. 8. 8. 12:20

    인터럽트 종류

    외부 인터럽트
    • 전원 이상: 정전, 파워 이상
    • 기계 착오: CPU의 기능적인 오류
    • 외부: 자원 할당 시간 종료, 키보드로 강제 (control + Alt + Delete), 외부 장치로부터 인터럽트 요청
    • 입출력 인터럽트: 입출력 장치의 데이터 전송 요구 or 전송 끝난 후 다음 동작 수행야 될 때, 입출력 데이터에 이상이 있는 경우
    내부 인터럽트
    • 잘못된 명령, 잘못된 데이터 사용
    • 프로그램 검사: Division by zero, Overflow/Underflow

    인터럽트 동작 순서

    인터럽트 요청 → 프로그램 실행 중단 → 현재 상태 보존(PCB, PC) → 인터럽트 처리 루틴 실행 → 인터럽트 서비스 루틴 실행 → 상태복구(PC) → 중단된 프로그램 실행 재개(PCB)

    PCB(Process control Block)

    • 운영체제가 프로세스를 관리하기 위해 사용하는 자료 구조
    • 프로세스의 실행 상태 및 관현 정보 저장, 추적

    PC(Program Counter)

    • CPU에서 현재 실행 중인 명령어의 위치를 가리키는 레지스터
    • 다음에 실행할 명령어의 메모리 주소를 가지고 있고, 명령어가 실행되면 값이 업데이트
    • 현재 프로그램이 어디서 무엇을 하고 있는지 알아야 하기 때문에 필요

    ISR (Interrupt Service Routine)

    • 하드웨어나 소프트웨어에 의해 인터럽트가 발생하면 이를 처리하기 위해 실행되는 코드 루틴
    • 인터럽트 처리, 상태 보존 및 복원, 우선순위 관리, 인터럽트 중단 및 재진입 관리

    인터럽트 우선순위

    전원 이상 → 기계 착오 → 외부 신호 → 입출력 → 명령어 잘못 →프로그램 검사 → SVC
    • 일반적으로 하드웨어 인터럽트 > 소프트웨어 인터럽트
    • 일반적으로 내부 인터럽트 > 외부 인터럽트

    '얇게 공부한 CS' 카테고리의 다른 글

    명령어의 구조  (0) 2024.02.24
    쿠키(Cookie)와 세션(Session)  (0) 2024.02.23
    웹 브라우저의 동작  (0) 2024.02.21
    [네트워크] OSI 7 계층  (0) 2024.02.02
    [OS] Process와 Thread  (0) 2023.08.29
Designed by Tistory.