728x90
컴퓨터구조 운영체제 내용 중 인터럽트 란 것에 대해 알아보자.
인터럽트는 CPU 가 특정 기능을 수행하는 도중 다른 일을 처리하고자 할 때 사용하는 기술이다.
예를 들어, 내가 어떤 일을 하고 있는데 다른 일을 해달라고 누군가 와서 요청하는 상황이라고 생각하면 된다.
컴퓨터가 1개의 CPU를 사용한다고 가정한다.
CPU 가 1개이면 하나의 일 밖에 처리할 수밖에 없으므로, 다른 우선 순위가 급한 일을 처리해야 할 때 대처할 수 있는 방안이 필요하다.
컴퓨터와 주변기기(키보드 등) 과 소통을 하는데 이것을 I/O(입출력) 이라고 한다.
키보드를 누르면 누른 코드값이 버퍼에 입력되어 CPU 에 인터럽트가 발생하게 된다.
인터럽트의 종류는 내부와 외부로 나뉜다.
내부 인터럽트
1. 하드웨어 고장 ex ) 컴퓨터 고장, 전원 종료 등
2. 실행하지 못하는 명령어
3. 명령어 실행 오류
4. 사용자 권한 위배
외부 인터럽트 ( 입출력장치 )
1. 타이머 인터럽트
2. 입출력 인터럽트
인터럽트의 처리방법은 아래와 같다.
-
기존의 작업을 처리하던 도중, 인터럽트가 발생하면
-
현재 컴퓨터가 처리하는 일을 중지하고 현재의 컴퓨터의 상태(CPU 내부의 레지스터, 메인 메모리 내용 등을)를 저장한다.
-
해당하는 인터럽트를 처리해주기 위한 인터럽트 서비스 루틴을 처리한다.
-
인터럽트 처리 이후 저장되었던 이전 작업의 상태를 복구하고 이전 작업 수행을 재개한다.
728x90
'Knowledge > CS' 카테고리의 다른 글
[CS] 로드 밸런싱(Load Balancing) (0) | 2022.12.27 |
---|---|
[CS] 가비지 컬렉션(Garbage Collection, GC) 이란? (0) | 2022.12.24 |
[CS] JVM 이란? (0) | 2022.12.17 |
[CS] Spring MVC 이란? (0) | 2022.12.16 |
[CS] 스케줄링 알고리즘 (0) | 2022.12.13 |
댓글