어흥

[CS] 운영체제 - 인터럽트 본문

CS/운영체제

[CS] 운영체제 - 인터럽트

라이언납시오 2020. 10. 16. 16:04
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에 속한다

 

참고한 블로그

- jhnyang.tistory.com/167

 

 

728x90
반응형

'CS > 운영체제' 카테고리의 다른 글

[운영체제] 스케줄러 (Scheduler)  (2) 2021.03.23
[운영체제] Thread v.s Process  (0) 2021.03.23
Comments