트랩 (컴퓨팅)
1. 개요
트랩은 소프트웨어적인 인터럽트의 한 종류로, 운영체제 루틴을 호출하거나 산술 오류를 처리하는 데 사용된다. 인터럽트와 달리 트랩은 소프트웨어적인 흐름의 변화를 나타낸다. 트랩은 0으로 나누기와 같은 산술 오류를 잡아내거나, 운영체제 루틴을 호출하는 데 활용된다.
트랩 (컴퓨팅)
컴퓨터 과학에서의 트랩
| 종류 | 하드웨어 트랩 소프트웨어 트랩 |
|---|---|
| 사용 목적 | 디버깅 시스템 호출 오류 처리 |
상세 정보
| 정의 | 비정상적인 조건이나 사건 발생 시 자동으로 실행되는 특수한 유형의 인터럽트 |
|---|---|
| 작동 방식 | 프로세서가 특정 조건 (예: 0으로 나누기, 잘못된 메모리 접근)을 감지하면 트랩을 발생시켜 미리 정의된 핸들러 루틴으로 제어를 넘김 |
| 핸들러 루틴 | 오류를 처리하거나 디버깅 정보를 제공하거나 시스템 서비스를 제공 |
| 소프트웨어 트랩 (시스템 호출) | 사용자가 운영 체제 커널의 기능을 요청할 때 사용 |
| 디버깅에서의 트랩 | 특정 시점에서 프로그램의 상태를 검사하고 오류를 찾는 데 사용 |
| 기타 이름 | 예외, 폴트, 어보트 (제조업체 및 아키텍처에 따라 다름) |
| JavaScript에서의 트랩 | Proxy 객체의 동작을 가로채고 재정의하는 데 사용 |
📚 더 읽어볼만한 페이지
목차
2. 인터럽트와 트랩
인터럽트는 하드웨어적인 흐름의 변화이고, 트랩은 소프트웨어적인 흐름의 변화라고 할 수 있다. 인터럽트는 장치 폴링 문제 해결을 위해 입출력장치의 완료 신호로 사용할 수 있고, 트랩은 운영체제 루틴을 호출하거나 산술 오류를 잡아내는 데 사용될 수 있다.
2.2. 트랩 (소프트웨어 인터럽트)
인터럽트가 하드웨어적인 흐름의 변화라면, 트랩은 소프트웨어적이라고 할 수 있다. 트랩은 운영체제 루틴을 호출하거나 산술 오류를 잡아내는 데 사용될 수 있다.
3. 인터럽트와 트랩의 활용
인터럽트는 하드웨어적인 흐름의 변화이고, 트랩은 소프트웨어적이라고 할 수 있다. 인터럽트는 폴링 문제 해결을 위해 입출력장치의 완료 신호로 사용될 수 있고, 트랩은 운영체제 루틴을 호출하거나 산술 오류를 잡아내는 데 사용될 수 있다.