| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- C
- Shimon Schocken
- 입출력과 사칙연산
- 일기
- JavaScript
- Noam Nisan
- C++
- hanbit.co.kr
- 주우석
- 김진홍 옮김
- C#
- BOJ
- (주)책만
- 게임 수학
- 알고리즘
- 백준
- unity6
- 생능출판
- 박기현
- 데이터 통신과 컴퓨터 네트워크
- booksr.co.kr
- 이득우
- 메타버스
- HANBIT Academy
- 이득우의 게임수학
- 밑바닥부터 만드는 컴퓨팅 시스템 2판
- https://insightbook.co.kr/
- 전공자를 위한 C언어 프로그래밍
- 잡생각 정리글
- The Elements of Computing Systems 2/E
Archives
- Today
- Total
cyphen156
하드웨어 입출력 - 인터럽트 본문
하드웨어에 사용자가 키 입력과 같은 이벤트가 발생하면,
하드웨어는 CPU 측에 즉시 인터럽트를 발생 시킨다.
이때 발생한 인터럽트는 CPU가 현재 수행중인 명령을 일시 중단하도록 만든 뒤,
커널 모드로 전환되어 OS 커널이 인터럽트 핸들러를 실행시켜 인터럽트를 처리한다.
그리고 처리된 인터럽트는 이벤트 성격에 따라 후속 처리를 수행한 뒤,
필요한 경우 운영 체제의 이벤트 큐에 등록되에 후속 메시지를 넣는다.
운영체제는 명령어 처리 사이사이 혹은 스케줄링 시점에 이 이벤트 큐를 확인하고, 해당 작업을 순차적으로 처리한다.
인터럽트는 마스킹 가능 여부(CPU가 무시 할 수 있는지 여부)에 따라
마스킹 가능 인터럽트와 마스킹 불가능 인터럽트 두 가지로 나뉜다.
마스킹 가능 인터럽트
특정 조건에 따라 발생한 이벤트를 무시해도 되는 가능성을 가지고 있는 이벤트를 말한다.
CPU의 IF(Interrupt Flag) 설정에 따라 인터럽트 수신을 일시적으로 차단할 수 있는 이벤트다.
예를 들어, CPU가 중요한 연산(크리티컬 섹션 등)을 수행 중일 때 인터럽트를 임시 차단하여
명령 수행 완료에 대한 안정성을 보장해준다.
마스킹 불가능 인터럽트
보통 마스킹이 불가능 하다는 것은 시스템이 손상 될 수 있는 고수준의 위험도를 가진 이벤트로서
즉시 처리해야 할 이벤트를 의미하기 때문에 언제든지 강제로 실행해야 하고,
CPU는 인터럽트 이벤트를 받으면 그 즉시 처리해야 한다.
또한 다양한 수준의 인터럽트 레벨이 존재할 수 있기 때문에 인터럽트에도 우선순위를 부여하여 순차 처리를 지원한다.
'컴퓨터공학 > 운영체제' 카테고리의 다른 글
| Chapter2 연습문제 (0) | 2022.09.19 |
|---|---|
| Chapter2 운영체제 개론2 - 구조 (0) | 2022.09.19 |
| Chapter1 연습문제 (0) | 2022.09.19 |
| Chapter1 운영체제 개론1 (0) | 2022.09.19 |