강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

platformpjt02님의 프로필 이미지
platformpjt02

작성한 질문수

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)

슈퍼바이저 콜(소프트웨어 익셉션) 실행 흐름

exception vector table

작성

·

55

0

exception vector table 에서 명시된 주소 값은

실제 physical memory 주소 인가요?

그런데 physical memory 주소면 커널이 그 메모리에 들어간 함수를 어떻게 구현하게 되나요..?

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. platformpjt02님.

질문 주신 “exception vector table”의 주소와 관련하여 아래의 정보를 참고하시기 바랍니다.

Exception Vector Table의 역할

Exception Vector Table은 CPU에서 발생하는 예외 상황(예: 인터럽트, 시스템 호출 등)을 처리하기 위한 코드의 시작 주소를 명시하는 테이블입니다. ARM 아키텍처에서는 이 벡터 테이블을 통해 특정 예외 상황이 발생했을 때 해당하는 처리 루틴으로 빠르게 접근할 수 있습니다.

Physical Memory와의 관계

  1. Physical Memory 주소: Exception Vector Table에 명시된 주소는 실제로는 시스템에 따라 다를 수 있지만, 일반적으로 이는 물리적 메모리의 주소를 나타냅니다.

  2. 커널에서의 구현: 커널은 시스템의 초기화 단계에서 제어권을 획득하고 나서, Exception Vector Table을 설정합니다. 이때 커널은 각 예외 상황별로 처리 루틴을 메모리에 로드하고, 벡터 테이블을 적절히 업데이트하여 해당 위치를 가리키도록 구성합니다.

    • ARM 아키텍처에서는 VBAR_ELx 레지스터를 사용하여 현재 동작 중인 Exception Level에 적합한 벡터 테이블 주소를 지정합니다.
    • 커널 코드에서는 이러한 설정을 통해 특정 예외가 발생하면, 해당 예외 상황에 맞는 핸들러 함수가 호출되도록 합니다.

관련된 질문 답변 링크

이와 관련된 추가적인 설명이 담긴 질문 및 답변은 다음 링크에서 확인하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

platformpjt02님의 프로필 이미지
platformpjt02

작성한 질문수

질문하기