작성
·
35
0
exception vector table 에서 명시된 주소 값은
실제 physical memory 주소 인가요?
그런데 physical memory 주소면 커널이 그 메모리에 들어간 함수를 어떻게 구현하게 되나요..?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. platformpjt02님.
질문 주신 “exception vector table”의 주소와 관련하여 아래의 정보를 참고하시기 바랍니다.
Exception Vector Table은 CPU에서 발생하는 예외 상황(예: 인터럽트, 시스템 호출 등)을 처리하기 위한 코드의 시작 주소를 명시하는 테이블입니다. ARM 아키텍처에서는 이 벡터 테이블을 통해 특정 예외 상황이 발생했을 때 해당하는 처리 루틴으로 빠르게 접근할 수 있습니다.
Physical Memory 주소: Exception Vector Table에 명시된 주소는 실제로는 시스템에 따라 다를 수 있지만, 일반적으로 이는 물리적 메모리의 주소를 나타냅니다.
커널에서의 구현: 커널은 시스템의 초기화 단계에서 제어권을 획득하고 나서, Exception Vector Table을 설정합니다. 이때 커널은 각 예외 상황별로 처리 루틴을 메모리에 로드하고, 벡터 테이블을 적절히 업데이트하여 해당 위치를 가리키도록 구성합니다.
VBAR_ELx
레지스터를 사용하여 현재 동작 중인 Exception Level에 적합한 벡터 테이블 주소를 지정합니다.이와 관련된 추가적인 설명이 담긴 질문 및 답변은 다음 링크에서 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.