클라우드 서비스 구축의 최고 난이도! 가상화 기술을 이해한다.
가상화 기술은 서버에 있는 유휴 상태의 하드웨어 자원을 사용해 물리적인 PC 없이도 PC 환경을 사용할 수 있게 하는 기술이다. 10년 전부터 개발되어왔으나 잠시 잊혀졌던 가상화 기술은 클라우드 서비스가 보편화하면서 다시 주목할 필요가 생겼다. 이 책에서는 가상화 기술 중 가장 널리 쓰이는 Xen 하이퍼바이저를 통해 가상화 기술의 세 가지 핵심 부분의 하나인 CPU 가상화의 원리를 자세히 소개한다. 또한 가상화 기술을 구현하는 리눅스 커널 소스 코드와 Xen 소스 코드를 자세히 분석해 실제 가상 머신의 동작을 이해하는 데 도움을 준다.
대상 독자
반가상화와 전가상화 기술을 다루는 x86 아키텍처 기반의 CPU 가상화!
현재 전 세계에서 다양한 아키텍처 기반의 CPU를 발표하는데, 이 책에서는 가장 많이 쓰이는 범용 CPU 아키텍처인 x86 아키텍처 기반의 가상화 기술을 설명한다. 먼저 가상화 기술이 무엇인지 살펴보고 CPU 가상화의 특징인 특권 모드와 비특권 모드, 바이너리 변환과 하이퍼 콜 등을 알아본다. 다음에는 Xen에서 전통적으로 사용하는 반가상화 기법과 하드웨어 지원 가상화 기술을 활용하는 전가상화 기법을 다룬다. 마지막에는 가상 머신 스케줄링에서 가상 CPU가 실제 CPU를 어떻게 나눠서 사용하는지를 살펴본다.
『Xen으로 배우는 가상화 기술의 이해』 시리즈 1탄!
Xen 하이퍼바이저는 크게 CPU, 메모리, I/O(입출력) 가상화 환경을 지원한다. 이 책은 시리즈 1탄으로 CPU 가상화에 관한 부분을 중점적으로 다룬다. Xen 하이퍼바이저를 통한 가상화 기술의 모든 것을 파악하려면 3월에 출간 예정인 메모리 가상화, I/O 가상화를 함께 살펴보면 좋을 것이다
1장. 가상 머신 모니터는 무엇인가?
1.1 왜 가상화인가?
1.2 하이퍼바이저 종류
2장. CPU 가상화
2.1 에뮬레이션과 직접 실행
2.2 특권 모드와 비특권 모드
2.3 특권 명령 및 트랩
2.4 전통적인 하이퍼바이저 구현 방법
2.5 바이너리 변환과 하이퍼 콜
2.6 하드웨어 지원
3장. Paravirt Operation과 하이퍼 콜
3.1 반가상화
3.2 Paravirt Operation
3.3 하이퍼 콜
4장. 하드웨어 지원
4.1 인텔 VT-x 개요
4.2 VMX 오퍼레이션 라이프 사이클
4.3 VMCS
4.4 VMX 오퍼레이션 활성화
4.5 VT-x 활성화
4.6 VM Entry
4.7 VM Exit
4.8 요약
5장. 가상 머신 스케줄링
5.1 Xen 스케줄러
5.2 Xen 스케줄러 프레임워크
5.3 credit 스케줄러
5.4 기본 알고리즘
5.4.1 자료구조
5.4.2 csched_schedule( ) 함수
5.4.3 credit 소모와 credit 재분배
5.4.4 csched_acct( ) 함수
5.4.5 멀티코어 로드 밸런싱
5.4.6 credit 스케줄러의 문제점
5.5 credit2 스케줄러
5.6 cpupool
Xen으로 배우는 가상화 기술의 이해 - 메모리 가상화
박은병 , 이상철 , 문대혁 , 김태훈
Xen으로 배우는 가상화 기술의 이해 - I/O 가상화
문대혁 , 이상철 , 박은병 , 김태훈