역시 하는 동작은 같습니다. 지정된 벡터 테이블로 점프하죠. 하드웨어 인터럽트도 마찬가지입니다. 정확한 순서는 IRQ 신호가 CPU로 들어오면 IRQ에 매핑된 벡터 테이블로 점프하는겁니다. IRQ 신호 대신 명령어로 인터럽트를 발생시키는거죠.
소프트웨어 인터럽트는 주로 유저모드와 커널모드가 분리된 운영체제에서 system call을 수행할 때 사용합니다. 유저모드와 커널모드가 분리되어 있을 경우 유저모드의 권한으로 커널의 함수를 수행할 수는 없기 때문에 소프트웨어 인터럽트를 발생시켜 커널모드로 context switching을 하는 겁니다.
소프트웨어에서 인터럽트 명령으로 발생시킨 인터럽트입니다.
역시 하는 동작은 같습니다. 지정된 벡터 테이블로 점프하죠. 하드웨어 인터럽트도 마찬가지입니다. 정확한 순서는 IRQ 신호가 CPU로 들어오면 IRQ에 매핑된 벡터 테이블로 점프하는겁니다. IRQ 신호 대신 명령어로 인터럽트를 발생시키는거죠.
소프트웨어 인터럽트는 주로 유저모드와 커널모드가 분리된 운영체제에서 system call을 수행할 때 사용합니다. 유저모드와 커널모드가 분리되어 있을 경우 유저모드의 권한으로 커널의 함수를 수행할 수는 없기 때문에 소프트웨어 인터럽트를 발생시켜 커널모드로 context switching을 하는 겁니다.
댓글 달기