책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788994506388
· 쪽수 : 340쪽
책 소개
목차
제1부 Xen 가상화 머신
1장 가상화의 현재
1.1 가상화란? 3
1.1.1 CPU 가상화 4
1.1.2 I/O 가상화 5
1.2 왜 가상화를 하는가? 8
1.3 첫 가상 머신 9
1.4 x86의 문제점 10
1.5 몇 가지 해결책들 11
1.5.1 바이너리 재작성 11
1.5.2 반가상화 12
1.5.3 하드웨어 지원 가상화 15
1.6 Xen의 철학 17
1.6.1 정책과 메커니즘의 분리 17
1.6.2 줄임의 미학 18
1.7 Xen의 구조 19
1.7.1 하이퍼바이저, 운영체제, 그리고 애플리케이션 19
1.7.2 도메인 0의 역할 22
1.7.3 비특권 도메인 24
1.7.4 HVM 도메인 25
1.7.5 Xen 설정 26
2장 Xen 구조 파헤치기
2.1 반가상화 게스트 부팅 31
2.2 특권 링을 통한 제한적인 오퍼레이션 32
2.3 하이퍼콜을 통한 특권 명령 변환 34
2.4 Xen 이벤트 모델 38
2.5 공유 메모리를 이용한 통신 39
2.6 분리 장치 드라이버 모델 41
2.7 가상 머신의 생명주기 43
2.8 예제: 간단한 Xen 커널 44
2.8.1 게스트의 시작점 46
2.8.2 모아서 이해하기 49
3장 공유 정보 페이지의 이해
3.1 부트 타임 정보 알아보기 55
3.2 공유 정보 페이지 59
3.3 Xen의 시간 관리 62
3.4 예제: gettimeofday() 구현 64
4장 그랜트 테이블의 사용
4.1 메모리 공유 69
4.1.1 페이지 프레임 매핑 71
4.1.2 도메인 간 데이터 전달 74
4.2 장치 I/O 링 76
4.3 권한의 승인 및 회수 78
4.4 예제: 승인된 페이지 매핑 83
4.5 예제: 가상 머신 간 메모리 공유 85
5장 그랜트 테이블의 사용
5.1 x86의 메모리 관리 89
5.2 의사-물리 메모리 모델 93
5.3 32비트 x86에서의 세그먼트 95
5.4 Xen 메모리 도우미의 사용 98
5.5 벌룬 드라이버를 이용한 메모리 사용 제어 100
5.6 기타 메모리 관련 기능 102
5.7 페이지 테이블의 업데이트 105
5.7.1 새 가상 머신 인스턴스의 생성 111
5.7.2 페이지 폴트 다루기 112
5.7.3 일시중지, 재개, 그리고 이주 113
5.8 트랜센던트 메모리 114
5.9 예제: 공유 정보 페이지의 매핑 117
제2부 장치 입출력
6장 장치 드라이버의 이해
6.1 분리 드라이버 모델 122
6.2 도메인 0에서 드라이버 역할 제거 124
6.3 공유 메모리 링 버퍼의 이해 125
6.3.1 Xen 구현체 테스트 128
6.3.2 메모리 베리어를 이용한 오퍼레이션 순서 정하기 131
6.4 XenBus로 장치 연결 132
6.5 이벤트로부터 알림 다루기 135
6.6 XenStore를 통한 환경설정 136
6.7 예제: 콘솔 장치 137
7장 이벤트 채널
7.1 이벤트와 인터럽트 143
7.2 트랩 다루기 144
7.3 이벤트 타입 147
7.4 이벤트 요청 149
7.5 이벤트 채널의 바인딩 153
7.6 연결된 채널 상의 오퍼레이션 154
7.7 채널 상태 얻기 155
7.8 채널 마스크 156
7.9 이벤트와 스케줄링 158
7.10 예제: 콘솔 드라이버 160
8장 XenStore 탐험
8.1 XenStore 인터페이스 169
8.2 XenStore 둘러보기 170
8.3 XenStore 장치 173
8.4 키 읽고 쓰기 176
8.4.1 사용자 공간의 방식 177
8.4.2 커널에서 제어하기 179
8.5 기타 오퍼레이션 189
9장 핵심 장치 지원
9.1 가상 블록 장치 드라이버 191
9.1.1 블록 디바이스의 설정 192
9.1.2 데이터 전송 196
9.1.3 blktap 드라이버 200
9.2 Xen 네트워크의 사용 205
9.2.1 가상 네트워크 인터페이스 드라이버 205
9.2.2 가상 인터페이스 설정 205
9.2.3 보내기 및 받기 207
9.2.4 NetChannel2 211
10장 기타 Xen 장치
10.1 CD 지원 215
10.2 가상 프레임 버퍼 216
10.3 TPM 드라이버 222
10.4 네이티브 장치 222
10.4.1 PCI 지원 223
10.4.2 USB 장치 226
10.5 새 장치 추가하기 227
10.5.1 장치 전파 227
10.5.2 링 버퍼 설정 228
10.5.3 어려운 점 229
10.5.4 장치 접근 231
10.5.5 백엔드 설계 232
제3부 Xen 해부
11장 Xen API
11.1 XML-RPC 238
11.1.1 XML-RPC 데이터 형태 238
11.1.2 원격 프로시저 콜 239
11.2 Xen 인터페이스 계층구조 240
11.3 Xen API 클래스 242
11.3.1 C 바인딩 244
11.4 Xend 함수 248
11.5 xm 커맨드 249
11.6 Xen CIM 제공자 251
11.7 예제: 동작 중인 VM 나열 253
11.8 요약 257
12장 가상 머신 스케줄링
12.1 스케줄러 인터페이스 개요 260
12.2 스케줄러의 역사 262
12.2.1 SEDF 264
12.2.2 크레딧 스케줄러 265
12.2.3 크레딧2 스케줄러 267
12.3 스케줄러 API의 사용 268
12.3.1 스케줄러의 실행 270
12.3.2 도메인 0 상호작용 273
12.4 예제: 새로운 스케줄러의 추가 275
12.5 요약 280
13장 HVM 지원
13.1 수정하지 않은 운영체제의 실행 281
13.2 Intel VT-x와 AMD SVM 284
13.3 HVM 장치 지원 286
13.4 하이브리드 가상화 288
13.5 에뮬레이트된 BIOS 292
13.6 장치 모델과 레거시 I/O 에뮬레이션 293
13.7 반가상화 I/O 294
13.8 Xen에서의 HVM 지원 296
부록 A 반가상화 게스트 포팅 안내
A.1 도메인 빌더 303
A.2 부팅 환경 304
A.3 가상 IDT 설정 305
A.4 페이지 테이블 관리 305
A.5 드라이버 306
A.6 도메인 0의 역할 307
A.7 효율성 308
A.8 요약 309
찾아보기 310