인터럽트
: 프로세서가 명령문을 수행하고 있을 때 다른 작업을 처리하기 위해 그 수행을 강제로 중단시키는 사건.
1. 인터럽트 동작 방법
① 운영 체제가 제어권을 갖는다.
② 운영 체제는 도중에 인터럽트가 발생한 프로세스의 상태를 PCB에 저장한다
③ 운영체제는 인터럽트를 분석해서 해당 인터럽트의 처리 루틴으로 제어권을 넘긴다.
④ 인터럽트 처리 루틴이 수행된다.
⑤ 운영 체제가 제어권을 갖는다.
⑥ 운영 체제가 중지되었던 프로세스의 상태를 복구한다.
⑦ 중지 프로세스가 재실행된다.
2. 인터럽트의 종류
1) SVC(SuperVisor Call) 인터럽트
: 프로그래머에 의해 발생, SVC 명령을 호출하였을때, 입출력 수행할떄, 기억장치를 할당할때, 오퍼레이터와의 대화를 위해 발생
2) 입출력 인터럽트
: 입출력 요구가 발생하였을때 하드웨어가 인터럽트 발생. CPU에 채널이나 입출력 기기의 변화를 알리기 위해 데이터의 I/O 종료 오류 발생시 발생
3) 외부 인터럽트
: 외부에 존재하는 장치에 의해 발생. 인터럽트 시계에서 일정한 시간이 경과한 경우, 오퍼레이터의 키보드 조작에 의한 경우, 다중 처리 시스템에서 다른 프로세서로부터의 신호가 왔을 경우
4) 재시작 인터럽트
: 오퍼레이터가 재시작 버튼을 누른 경우, 다중 처리 시스템에서 다른 프로세서로부터 재시작 명령문이 도착했을 경우
5) 프로그램 검사 인터럽트
: 프로그램 명령 사용법이 잘못됬을 경우, 0으로 나누었을 경우, 데이터 형식이 잘못 지정된 경우
6) 기계 검사 인터럽트
: 기계에 고장이 생겼을 때 발생하는 인터럽트
3. 문맥 교환(Context Switching)
: 프로세스들 간에 제어권을 넘기는 과정에서 발생한느 것으로써 인터럽트가 발생했을때 수행중인 프로세스가 가진 제어권을 넘겨받아 인터렙트 처리 루틴이라는 또 다른 프로세스에게 제어권을 넘겨주기 위한 것이다. 간단히 정의하면 수행중인 프로세스의 상태를 기억시켜두고 제어권을 인터럽트 서비스 루틴에게 넘기는 작업을 말한다.
'Backend > OS★' 카테고리의 다른 글
쓰레드(Thread) (0) | 2011.05.26 |
---|---|
프로세스 (Process) (0) | 2011.05.26 |
주 상태(Major State) (0) | 2011.05.26 |
명령어 형식(Instruction Format) (0) | 2011.05.26 |
주소 지정 방식(Addressing Mode) (0) | 2011.05.26 |