운영체제 (Operation System)

[OS] Lecture 3. Process Management (2/2) / 운영체제 강의

유호야 2021. 12. 9. 14:52
반응형

 

 


 

* 인터럽트(interrupt)
예상치 못한, 외부에서 발생한 이벤트
Unexpected, external events

게임을 하는 데 게임 안에는 프로세스가 돈다.
프로세스가 예상하지 못한 순간에 마우스를 클릭한 상황

인터럽트의 종류
I/O interrupt / 키보드, 마우스 외부에서 발생한
Clock interrupt
Console interrupt / 콘솔에서 발생한
Program check interrupt
Machine check interrupt
Inter-process interrupt
System call interrupt

인터럽트라는 개념을 이해하는 게 중요하다




보통 왜 방해하는 지 묻겠죠?

인터럽트 처리과정 역시
커널이 개입해서 프로세스를 중단하고 인터럽트를 처리하게 된다.

어디서 왜 발생했는지 원인을 파악해야하고, 처리/무시 결정해야한다.



커널이 중간에 개입해서 
Context saving(문맥 저장) 발생 
내가 열심히 공부를 하고 있는데 누가 찔러서 커피를 마시러 나가려면
책갈피를 꽂아놓아야한다. 내가 어디까지 공부했는지 흐름을 저장하는 것

커널이 개입하면, interrupt가 어디서 발생하고 어디서 발생했는지 원인을 파악해야 함
> interrupt handlnig
어떤 서비스를 호출해야 하는지 확인
> interupt service

서비스가 끝나면 프로세서가 비어있고, 
기다리고 있던 녀석 중 하나를 주게 된다.
PI가 다시 들어올 수도 있지만 PJ가 들어올 수도 있다.
자신의 책갈피를 꽂아 놓을 테고 복구 하게 될 것이고 

 


Context Switching( 문맥 교환 )
CPU 안에는 레지스터(메모리)가 있고 main 메모리가 있다.
cpu가 어떤 작업을 처리할 때 레지스터에 무조건 올린 후에 main은 그 안에 있는 것을 가지고 처리한다.

그외의 것들은 memory 안에 저장되어 있을 것이다.

현재 뺏긴 자원은 cpu이다. interrupt 때문에 
cpu안에 저장되어 있던 것들을
cpu register 안에 저장이 되어 있을 것이다.


 

 

 

반응형