어흥
[CS] 운영체제 - 인터럽트 본문
728x90
반응형
1. 인터럽트
- 종류(대범위): 외부 인터럽트, 내부 인터럽트, SW 인터럽트
[외부 인터럽트]
: 외부로부터 발생하는 것
1) 전원 이상 인터럽트
- 전원이 갑자기 꺼져서 메모리가 날라가는 것을 방지
2) I/O 인터럽트
- Context switch할 때 일어나는 인터럽트로, 키보드나 마우스, 프린터기 등 CPU가 I/O에게 맡긴 일을 I/O가 다 해서 CPU에게 넘겨주거나, I/O가 일을 처리하는데 CPU의 자원(정보)이 필요할 때 발생
3) 타이머 인터럽트
- 무한루프로부터 벗어나기 위해 있는 인터럽트라고 생각하면 된다. 예를 들어, I/O 장치인 타이머가 주기적으로 CPU한테 타이머가 만료되었다고 인터럽트를 보낸다-> 무한루프 돌고 있던 프로그램을 종료하고 다른 일을 수행한다. 즉, 스케줄링과 연관이 된다
[내부 인터럽트]
1) Exception 인터럽트(Trap)
- 자기자신에게 인터럽트를 걸어서 운영체제가 처리하도록 하는 경우. 예를 들어, 0으로 나누는 경우가 대표적이다.
[S/W 인터럽트]
1) SVC
- 운영체제에게 제어권을 넘겨서 해결하는 행위. 예를 들어, User task가 H/W에 접근하고 싶을 때, 직접 접근하는 것이 아닌 운영체제에게 요청하여 운영체제는 Kernel Mode를 통해 User task가 안전한지 검사한 이후, 안전하면 User task 수행
※ CPU는 OS에 속하는것이 아닌 HW에 속한다
참고한 블로그
728x90
반응형
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 스케줄러 (Scheduler) (2) | 2021.03.23 |
---|---|
[운영체제] Thread v.s Process (0) | 2021.03.23 |
Comments