반응형
Notice
Recent Posts
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total
관리 메뉴

H-Log

[운영체제] 인터럽트 (interupt) 본문

dev-log/cs

[운영체제] 인터럽트 (interupt)

hong6v6 2023. 9. 27. 14:38
반응형

CPU의 명령이 완료되었음을 확인하는데에는 2가지 방법이 있다

  1. 폴링 : 입출력을 요청하면 운영체제가 주기적으로 입출력 장치를 직접 확인한다
  2. 인터럽트 : 이벤트에 의해 동작한다. 입출력이 완료되면 이벤트를 발생하여 CPU에 알린다.

 

인터럽트 종류

동기적 인터럽트

  • 프로그램상의 문제로 발생하는 인터럽트 (오버플로우나 언더플로우)
  • 프로세스 중단을 위해 의도적으로 발생시킨 경우 (Ctrl+C)
  • 주변장치 조작에 의한 인터럽트
  • 산술 연산 중 발생하는 인터럽트 (0으로 나누기 등)

비동기적 인터럽트

  • 하드디스크 읽기 오류, 메모리 불량과 같이 하드웨어적 오류
  • 사용자가 사용하는 주변장치 오류
  • 예상치 못한 오류

 

인터럽트 처리 과정

  1. 인터럽트 발생
    1. 프로세스 일시 정지 (문맥교환)
  2. 재시작을 위해 ISR에 현재 프로세스 관련 정보 저장
  3. 인터럽트 컨트롤러 실행
  4. 인터럽트 컨트롤러에서 인터럽트 처리 순서를 결정
  5. 먼저 처리할 인터럽트 결정
  6. 인터럽트 벡터(IVT : Interupt Vector Table)에 등록된 인터럽트 핸들러 실행
  7. 인터럽트 핸들러가 처리를 마침
  8. 프로세스가 재실행되거나 종료됨

*인터럽트 벡터 : 인터럽트 실행 시 제일 먼저 도착

반응형

'dev-log > cs' 카테고리의 다른 글

[운영체제] 임계구역  (0) 2023.10.01
[운영체제] 프로세스 간 통신  (0) 2023.09.27
[운영체제] 스케줄링 알고리즘  (0) 2023.09.27
[운영체제] CPU 스케줄링  (0) 2023.09.27
[운영체제] 우선순위  (0) 2023.09.27
Comments