[Arm프로세서] Armv7: 익셉션이 유발된 후 Supervisor 모드로 변경

Guillermo Austin Kim|2021년 10월 16일
Posts

[Arm프로세서] Armv7: 익셉션이 유발된 후 Supervisor 모드로 변경

Guillermo Austin Kim|2021년 10월 16일

Armv7 아키텍처 기반에서 실행되는 리눅스 커널에서 Armv7 동작 모드의 특징을 잘 활용해 시스템을 디자인한 루틴을 많이 볼 수 있습니다. 그 중 대표적인 기법이 Supervisor 모드에서 커널이 실행되도록 구현한 것입니다. 이 내용을 읽으면 자연스럽게 다음과 같은 의문이 생깁니다. “인터럽트가 유발되면 Arm 아키텍처 관점으로 IRQ 모드에 진입하는데, IRQ 모드에서 인터럽트를 처리하는 것이 아닌가?” 그런데 인터럽트가 유발돼 IRQ 모드로 진입한 다음에 바로 Supervisor 모드로 Arm 동작 모드를 변경합니다. 리눅스 커널의 주요 기능은 하나의 Supervisor 모드에서 처리해야 심플하게 시스템을 디자인할 수 있기 때문입니다. 여기서 다시 의문이 생깁니다.