[중요!]
이 강의는 '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 3부'의 가상화(Virtualization)에 해당되는 부분입니다. 가상화(Virtualization)만 배우시려는 분을 위해 Publish했습니다만, 되도록 '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 3부' 전체 내용을 다 들어 주시길 권장합니다.
[강의 설명]
이 강의는 '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'의 저자 직강 강의로, 하이퍼바이저의 기반 지식인 Arm 아키텍처(Armv8-A)의 가상화(Virtualization)을 상세히 다룹니다.
스마트폰은 물론 AI 용 SoC 시스템 반도체, 전기자동차 Automotive(인포테인먼트, 자율주행) 그리고 클라우드 서버 및 맥북에서 사용되는 Arm 프로세서는 모두 Armv8-A 기반 64비트 Cortex-A(e.g: Cortex-A53, Cortex-A57, Cortex-A72) 프로세서입니다. 현재 시스템 소프트웨어 업계에서 가장 많이 필요한 기반 지식이 요구되는 내용이 Armv8-A 아키텍처라고 볼 수 있어요.
그런데 최근 소프트웨어의 트렌드는 하이퍼바이저(Arm 아키텍처 기반)를 사용해 시스템을 설계하는 흐름으로 다음과 같이 바뀌고 있어요;
전기자동차 Automotive(인포테인먼트, 자율주행)에서는 90% 이상 하이퍼바이저가 사용된다.
대부분 운영체제(리눅스, 윈도우)에서 하이퍼바이저 기능을 제공한다.
시스템 반도체 업체도 하이퍼바이저 구조 기준으로 하드웨어를 제어하는 드라이버를 구현한다.
하이퍼바이저와 가상화 시스템은 시스템 소프트웨어 개발자가 기본으로 알아야 할 상황입니다.
하이퍼바이저의 동작 원리를 제대로 파악하려면 무엇을 배워야 할까요?
Armv8-A 아키텍처에서 제공하는 가상화(Virtualization) 기능을 이해해야 합니다. Cortex-A 기반 프로세서(64비트) 에서 실행되는 하이퍼바이저는 모두 Armv8-A 아키텍처에서 제공하는 가상화(Virtualization) 기법을 활용해서 구현되기 때문입니다.
그래서 제가 쓴 '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리' 책(15장)에서 'Arm 아키텍처(Armv8-A)의 가상화(Virtualization)'을 상세히 다루고 있습니다.
이 강의는 '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'의 저자 직강 강의로, 하이퍼바이저의 기반 지식인 Arm 아키텍처(Armv8-A)의 가상화(Virtualization)을 상세히 다룹니다.
하이퍼바이저 소개
가상화 관련 명령어-HVC, WFE, WFI 명령어
가상화 관련 레지스터
가상화와 익셉션 벡터 테이블
XEN 하이퍼바이저 코드 리뷰
익셉션 핸들러 코드 분석
이 강의를 들으시면 Arm 아키텍처에서 제공하는 가상화(Virtualization)을 제대로 파악할 수 있습니다.