본문 바로가기

interrupt2

문맥교환(Context Switching) 문맥교환(Context Switching)이란? 인터럽트가 발생되었을 때 실행중이던 프로세스가 작업을 멈추었다가 다시 실행될 때 이전 작업을 다시 수행하기 위해 이전 작업 내용과 프로세스의 정보들을 PCB에 저장해 놓는다고 포스팅했었다.이 때 PCB에 프로세스의 정보를 저장하는 것을 문맥을 저장한다고 말한다. 또한 프로세스가 다시 실행되기 전에 저장해 놓았던 정보들을 다시 프로세스에 적재시키는 것을 문맥을 재적재한다고 말한다. 실행되는 순서는 아래 그림과 같다. 인터럽트 핸들러에 의해서 인터럽트 처리 루틴이 시작된다. 인터럽트가 발생하였을때 인터럽트가 처리되는데 인터럽트 처리과정 중 문맥 교환(Context Switching)이 일어난다. 문맥교환이 일어나는 동안 프로세스 상태전이도를 보면 일반적으로(자.. 2017. 6. 2.
인터럽트(Interrupt) 인터럽트(Interrupt)란? 프로세스가 실행중이다가 예기치 못한 상황이 발생되어 실행중이던 프로세스를 더 이상 실행하기 힘들거나 먼저 처리해야할 급한 일이 생긴 경우 이를 인터럽트가 발생했다고 한다. 인터럽트가 발생하면 실행중이던 프로세스가 CPU의 사용을 멈추고 인터럽트 처리가 된 후에 다시 CPU를 점유하게 된다. 다음 그림은 그 과정을 나타낸 것이다. 인터럽트 처리 루틴 - 인터럽트 발생 시점부터 인터럽트 처리가 종료되는 시점까지를 말한다.인터럽트 서비스 루틴 - 인터럽트 처리를 시작하는 시점부터 인터럽트 처리가 종료되는 시점까지를 말한다. 2017. 6. 2.