Notice
Recent Posts
Recent Comments
Link
개발스토리
인터럽트 처리 과정 본문
* 인터럽트 처리는 먼저 하드웨어적인 처리가 수행되고, 다음으로 소프트웨어적 처리가 수행된다.
- 아래 처리 과정이 이해가 가지 않는다면 이전 포스팅들을 다시 보고 돌아오자.
* 하드웨어적 처리
- 인터럽트가 일어나고 cpu가 하던 일을 멈추면 자동으로 수행된다.
- 상태 레지스터 값을 저장.
- 프로세서 모드를 커널 모드로 변경하여 os를 수행.(모드 비트를 변경)
- pc 레지스터 값을 저장
- 발생된 인터럽트의 벡터 값(ISR 주소)을 PC레지스터에 저장 (OS내의 인터럽트 서비스 루틴을 수행하게 된다)
* 소프트웨어적 처리(OS가 수행함)
- CPU 레지스터들의 값을 저장(메모리에 저장)
- 인터럽트 처리 코드를 수행
- CPU 레지스터 값을 복원( 저장된 값들을 CPU 레지스터에 load )
- 상태 레지스터 값을 복원(프로세서 모드가 이전 모드로 변경된다)
- PC 레지스터 값을 복원(인터럽트가 발생하여 중단된 곳으로 돌아가게 된다, CPU가 하던 일로 돌아간다)
'Computer Science > 운영체제' 카테고리의 다른 글
인터럽트 벡터 (0) | 2020.06.30 |
---|---|
인터럽트(interrupt) (0) | 2020.06.30 |
캐싱(Caching) (0) | 2020.06.30 |
저장장치 (0) | 2020.06.30 |
메모리 (0) | 2020.06.30 |
Comments