Interrupt
정의
CPU 외부에서 발생한 사건에 의해 현재 실행 중인 프로세스를 잠시 멈추고 운영체제가 해당 사건을 처리하는 것입니다.
예시
키보드 입력, 마우스 클릭, 타이머, 디스크 I/O 완료 등.
사용자가 키보드를 눌렀을 때, 하드웨어(키보드 컨트롤러)가 인터럽트를 발생시켜 OS가 입력 처리를 시작.
📌 중요 포인트: 비동기적으로 발생 → 언제 발생할지 예측할 수 없음.
Trap
정의
프로그램이 의도적으로 운영체제의 서비스를 요청하기 위해 발생시키는 예외입니다. 보통 시스템 콜(System Call)을 할 때 사용됩니다.
예시
read(), write(), open() 같은 시스템 콜을 사용할 때, 사용자 프로그램이 trap을 발생시켜 커널 모드로 진입.
예: printf() 호출 시, 내부적으로 write() 시스템 콜 → trap 발생 → OS가 커널 코드로 전환해 처리.
📌 중요 포인트: 동기적이며, 의도된 예외.
Fault
정의
프로그램 실행 중 복구 가능한 오류가 발생했을 때 발생하는 예외입니다. OS가 개입해서 문제를 해결한 후 프로그램을 다시 실행할 수 있습니다.
예시
Page Fault: 프로세스가 아직 메모리에 없는 페이지를 접근하려 할 때 → OS가 디스크에서 페이지를 가져온 뒤 다시 실행.
Divide by Zero Fault: 0으로 나누는 경우 → OS가 처리 가능하다면 복구 시도.
📌 중요 포인트: 동기적, 복구 가능, 일반적으로 문제 해결 후 명령 재시도.
Abort
정의
심각하고 복구 불가능한 오류가 발생해, 프로세스를 즉시 중단해야 하는 상황에서 발생하는 예외입니다.
예시
하드웨어 오류(메모리 오류, 디스크 오류)
데이터 구조가 심각하게 손상되어 OS가 더 이상 프로그램을 계속 실행할 수 없는 경우.
예: 메모리에서 ECC 오류(오류 정정 불가)가 발생하여 시스템이 해당 프로세스를 종료.
📌 중요 포인트: 동기적, 복구 불가, 프로그램 즉시 종료.
| 구분 |
발생 원인 |
동기성 |
복구 가능성 |
예시 |
| Interrupt |
하드웨어 외부 사건 |
❌ 비동기 |
✅ 필요 없음 |
키보드 입력, 디스크 완료 |
| Trap |
프로그램이 요청함 |
✅ 동기 |
✅ 가능 |
시스템 콜 (read, write) |
| Fault |
오류 발생 |
✅ 동기 |
✅ 복구 가능 |
Page Fault, Divide by 0 |
| Abort |
치명적 오류 발생 |
✅ 동기 |
❌ 복구 불가 |
메모리 손상, 하드웨어 오류 |
Interrupt
정의CPU 외부에서 발생한 사건에 의해 현재 실행 중인 프로세스를 잠시 멈추고 운영체제가 해당 사건을 처리하는 것입니다.
예시키보드 입력, 마우스 클릭, 타이머, 디스크 I/O 완료 등.
사용자가 키보드를 눌렀을 때, 하드웨어(키보드 컨트롤러)가 인터럽트를 발생시켜 OS가 입력 처리를 시작.
📌 중요 포인트: 비동기적으로 발생 → 언제 발생할지 예측할 수 없음.
Trap
정의프로그램이 의도적으로 운영체제의 서비스를 요청하기 위해 발생시키는 예외입니다. 보통 시스템 콜(System Call)을 할 때 사용됩니다.
예시read(), write(), open() 같은 시스템 콜을 사용할 때, 사용자 프로그램이 trap을 발생시켜 커널 모드로 진입.
예: printf() 호출 시, 내부적으로 write() 시스템 콜 → trap 발생 → OS가 커널 코드로 전환해 처리.
📌 중요 포인트: 동기적이며, 의도된 예외.
Fault
정의프로그램 실행 중 복구 가능한 오류가 발생했을 때 발생하는 예외입니다. OS가 개입해서 문제를 해결한 후 프로그램을 다시 실행할 수 있습니다.
예시Page Fault: 프로세스가 아직 메모리에 없는 페이지를 접근하려 할 때 → OS가 디스크에서 페이지를 가져온 뒤 다시 실행.
Divide by Zero Fault: 0으로 나누는 경우 → OS가 처리 가능하다면 복구 시도.
📌 중요 포인트: 동기적, 복구 가능, 일반적으로 문제 해결 후 명령 재시도.
Abort
정의심각하고 복구 불가능한 오류가 발생해, 프로세스를 즉시 중단해야 하는 상황에서 발생하는 예외입니다.
예시하드웨어 오류(메모리 오류, 디스크 오류)
데이터 구조가 심각하게 손상되어 OS가 더 이상 프로그램을 계속 실행할 수 없는 경우.
예: 메모리에서 ECC 오류(오류 정정 불가)가 발생하여 시스템이 해당 프로세스를 종료.
📌 중요 포인트: 동기적, 복구 불가, 프로그램 즉시 종료.