쉽게 배우는 운영체제 인터럽트 처리 간단 정리
인터럽트 처리
- 인터럽트의 개념
이벤트 드리븐 방식을 이용하여 요청을 처리하는 방식
- 동기적 인터럽트와 비동기적 인터럽트
프로세스가 실행 중인 명령어로 인해 발생하는 동기적 인터럽트, 실행 중인 명령어와 무관하게 발생하는 비동기적 인터럽트 존재
- 인터럽트 처리 과정
인터럽트는 인터럽트를 구분해주는 번호(IRQ)와 그 번호에 어떤 일을 할지 정의된 함수(인터럽트 핸들러)의 쌍으로 이루어짐
인터럽트 시 인터럽트 핸들러 실행
인터럽트 백터를 통해 여러 개의 동시 발생 인터럽트 처리함
- 인터럽트와 이중 모드
운영체제와 관련된 커널 프로세스가 실행되는 상태를 커널 모드, 사용자 프로세스가 실행되는 상태를 사용자 모드를 전환하며 일 처리 하는 것
사용자 모드/커널 모드는 사용자/커널 프로세스가 시스템 호출 요청하고 대기 중인 상태
시스템 호출은 사용하기 제한적이라 운영체제에서 제공하는 API 를 통해 접근
사용자/커널 모드는 사용자의 요청/잘못된 명령을 수행한 것이기 때문에 자발적/비자발적