테크 로그포스 Tech Log Force
[OS] Interrupt 본문
프로세서 활용도 개선을 위해 제공된다.
대부분의 I/O장치가 프로세서보다 느리다. 이 때 프로세서가 대기해야 하므로 일시 중지 하면 프로세서를 낭비하는 것이다. 그래서 인터럽트한다.
사용자 코드에는 인터럽트 코드가 없다. cpu와 os가 인터럽트를 처리한다.
인터럽트 발생 시 pc값을 인터럽트 핸들러 프로그램의 시작 주소로 설정, 커널모드로 전환
인터럽트 있는지 체크 -> 프로세스 상태를 stack에 저장 -> 인터럽트 핸들러로 인터럽트 실행 -> stack을 참고해 원래 pc값으로 돌아오기
- 인터럽트를 이용해 I/O에 의해 발생하는 wait 시간을 효율적으로 사용할 수 있게 되었다.
- 매 명령어의 수행을 마치고 나면 대기중인 인터럽트가 있는지 확인 한 후 처리한다.
- 인터럽트는 시스템, 운영체제, 사용자 등 다양한 원인에 의해 발생할 수 있다.
'CS > OS' 카테고리의 다른 글
[OS] Conditions for Deadlock (0) | 2023.02.26 |
---|---|
[OS] PCB(Process Control Block (0) | 2023.02.26 |
[OS] Multi-processing, Multi-programming, Multi-threading (0) | 2023.02.26 |
[OS] Process와 Thread의 차이, Time-sharing, Context Switching (0) | 2023.02.26 |
[OS] 운영체제의 역할 (0) | 2023.02.26 |
Comments