3장 - 컴퓨터 시스템의 동작 원리 : 인터럽트 핸들링

2023. 11. 17. 16:252023/운영체제와 정보기술의 원리

인터럽트 핸들링
인터럽트 핸들링(Interrupt Handling)
인터럽트가 발생한 경우 처리해야 할 일의 절차

CPU에서 명령이 실행될 때 CPU내부의 임시 기억장치인 레지스터(Register)에서 데이터를 읽거나  쓰면서 작업을 하는데, 이때 인터럽트 발생으로 새로운 명령을 실행하면 기존의 레지스터 값들이 지워지게 되므로 CPU내의 이러한 상태를 저장한 이후에 인터럽트 처리가 이루어질 수 있도록 한다.

 

PCB(Process Control Block) : 프로세스 제어블록
운영체제가 현재 시스템 내에서 실행되는 프로그램들을 관리하기 위해 두는 자료구조

EX )

1. 프로그램 실행 중 인터럽트 발생

2. 프로그램이 실행 중이던 코드의 메모리 주소와 레지스터 값, 하드웨어 상태 등을 PCB에 저장

3. CPU 제어권이 인터럽트 처리루틴으로 넘어감

4. 인터럽트 처리가 종료되면 PCB에 저장된 상태를 CPU로 복원해 다시 실행을 이어나감

 

* 오늘날 컴퓨터의 운영체제(OS)는 인터럽트가 발생할 때만 실행

시스템 부팅 후 정상상태에서는 CPU는 항상 사용자 프로그램에 의해 사용되고, OS는 인터럽트가 발생한 경우에만 잠시CPU 제어권을 가질 수 있다. 즉, OS가 직접 CPU를 점유하는 경우는 인터럽트에 의하지 않고는 발생하지 않음