Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- node
- 컴퓨터
- rest docs
- 알고리즘
- 데이터베이스
- DATABASE
- access control
- 백트래킹
- 되추적
- S3
- 디비
- 병행제어
- DB
- API문서
- OS
- 백준
- 컴퓨터 보안
- AWS
- 탐욕기법
- 노드
- node.js
- 인터럽트
- 자바스크립트
- 스프링부트
- 보안
- IT
- ES6
- 운영체제
- 컴퓨터보안
- NEST
Archives
- Today
- Total
개발스토리
인터럽트 처리 과정 본문
* 인터럽트 처리는 먼저 하드웨어적인 처리가 수행되고, 다음으로 소프트웨어적 처리가 수행된다.
- 아래 처리 과정이 이해가 가지 않는다면 이전 포스팅들을 다시 보고 돌아오자.
* 하드웨어적 처리
- 인터럽트가 일어나고 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