ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] - Interrupt
    CS/면접준비 2022. 9. 29. 16:06

    Interrupt


    Program이 실행 중에 예기치 않은 상황이 발생하였을 때 처리 하기 위함
    • 상황 발생 -> 실행 중인 작업 중단 -> 발생된 상황 처리
    • 지금 수행 중인 일보다 더 중요한 일이(I/O, 우선 순위 연산) 발생하면 해당 일을 먼저 처리해야 한다.

     

    • Internal/External Interrupt는 CPU의 HW신호에 의해 발생한다.
    • Software Interrupt는 명령어 수행에 의해 발생한다.

     

    External Interrupt

    • I/O, Time Device, 전원 등의 외부적인 요인에 의해 발생하는 경우이다.

     

    Internal Interrupt

    • Trap이라고 불리며, 잘못된 명령어 혹은 데이터 사용 시 발생
    • 0으로 나누기, Overflow, 명령어 Exception

     

    Software Interrupt

    • Process 실행 중 명령에 의해 발생한다.
    • User가 Program 실행 시 , Software 이용 중 다른 Process 실행 시

     

    Interrupt 처리 과정


    1. Process 동작 중에 Interrupt 발생

    2. 수행 중인 Process를 Stop

    3. State register/PC  등을 Stack에 잠시 저장 후 Intterupt Service 실행

     

    Polling

    • Interrupt가 없다면, Controller는 어떤 작업을 할 시기를 계속 체크해야 한다.
    • 체크를 하기 위해 Resource를 사용함으로 성능 저하

     

    인터럽트 방식은 하드웨어로 지원을 받아야 하는 제약이 있지만, 폴링에 비해 신속하게 대응하는 것이 가능하다.

    실시간 대응에 필수적이기 때문에 Interrupt를 사용한다.

    'CS > 면접준비' 카테고리의 다른 글

    [OS] - IPC  (0) 2022.09.29
    [OS] - System call / PCB  (0) 2022.09.29
    [OS] - Process vs Thread  (1) 2022.09.29
    [Database] - Join  (1) 2022.09.21
    [Database] - Key  (0) 2022.09.20

    댓글

Designed by Tistory.