×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 2,238,571명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)
반응형

Interrupt 란?

인터럽트란 어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태 변화를 알려 주는 것이다. 인터럽트가 발생하면, 인터럽트를 받은 장치는 현재 자신의 상태를 기억시켜두고 인터럽트를 처리한다.

인터럽트를 받을 때 CPU가 어떻게 동작하는지 보자.

1. A 프로그램을 프로세서가 실행중인 상태에서 PC는 A 프로그램의 명령 부분을 가르키고 있다.

2. B 프로그램 실행을 위해 갑작스런 인터럽트를 발생시킨다.

3. CPU는 현재 자신이 가지고 있던 레지스터의 모든 상태를 스택 혹은 프로세스 제어 블록에 저장하고 인터럽트 백터를 이용하여 적절한 인터럽트 핸들러를 쓴다(부른다). (컨텍스트 스위칭이 일어나는 구간이다.)

4. B 프로그램의 PC를 가르키고 프로세서는 작업을 다시 시작한다.

5. B의 작업이 모두 끝나면 이전 저장해둔 스택에서 A의 상태를 프로세서에 복구한다. 6. 아까 일부터 다시 시작


참고자료 : http://www.jidum.com/jidums/view.do?jidumId=445





Dispatcher란?

사용자가 프로그램을 실행하면 프로세스가 생성되고 Ready상태가 된다.(Ready Queue) 그 후 스케줄러가 Ready Queue에 있는 프로세스 중 하나를 프로세서(CPU)가 사용가능한 상태가 될 때 CPU를 할당해준다.


이를 준비상태(Ready)에서 실행상태(Running)로 상태전이(State Transition)된다고 한다. 이 과정을 디스패칭(dispatching)이라고 하고 디스패처(dispatcher)가 이 일을 수행한다.







반응형