HW / SW Interrupt
HW / SW 인터럽트
하드웨어 인터럽트(일반적인 인터럽트)
일반적인 하드웨어 인터럽트
하드웨어 장치의 컨트롤러가 CPU의 서비스를 요청하기 위해 발생시키는 인터럽트
운영체제의 타이머(Timer) 인터럽트
운영 체제에서는 각 프로그램들이 공평한 시간 동안 CPU를 할당 받을 수 있도록 세팅된 시간 동안 CPU를 사용하고, 사용시간이 종료되면 인터럽트를 발생 시킨다.
소프트웨어 인터럽트(Trap: 트랩)
예외 상황(Exception)
프로그램이 허용되지 않은 연산을 수행하려고 할 때, 자동적으로 발생한다. 운영체제는 예외 상황이 발생했을 때, CPU의 제어권을 획득해 이 상황에 대한 조치를 취한다.
ex) 0으로 나누는 연산, 자신의 주소 공간을 넘어서는 메모리 참조 등
예외 상황에 대한 처리 루틴을 자신의 코드 영역에 가지고 있음
시스템 콜(System Call)
사용자 프로세스가 운영체제의 서비스를 요청하기 위해 커널의 함수를 호출하는 것이다.
사용자 프로세스가 직접 특권 명령을 수행할 수 없으므로 특권 명령을 수행하려 할 때, 시스템 콜을 사용한다.
💡 Trap, Fault, Abort…?
intel CPU에서 exception의 분류가
trap : INT 명령으로 명시적으로 발생
fault : 0으로 나눈 에러
abort : 복구 불가능한 에러
→ 이 분류는 그냥 Intel의 용어라고 생각하라고 함
Last updated